linux基础3.4SMTP邮件配置

1.邮件的发送
邮件发送步骤:服务器使用SMTP协议将电子邮件提交至TCP端口25,或由本地客户端通过/usr/bin/sendmail程序进行提交。如果该MTA是最终目标位置,邮件将传递至MDA。否则,将使用MX记录在DNS中查找下一个MTA,并使用SMTP进行转发。
MDA:“邮件发送代理”。MDA将邮件发送至收件人的本地邮件存储位置(默认情况下是/var/spool/mail/user)。Postfix提供自己的MDA,以发送至基于文件的本地默认邮件存储位置/usr/libexec/postfix/local.
转发:电子邮件服务器(MTA)将提交的邮件转发至另一个服务器,以进行发送
排队:失败的发送或转发尝试排队等待,并由MTA定义重试。(默认情况下,Postfix每小时执行此操作一次)
拒绝:在首次提交期间,电子邮件被电子邮件服务器拒绝
退回:远程服务器接受电子邮件以进行发送以后,又将该电子邮件退回给始发电子邮件服务器和/或用户电子邮件以进行发送以后,又将该电子邮件退回给始发电子邮件服务器和/或用户。
2.配置邮件的发送和接收
<1>配置NDS
服务器端的配置:
[root@mail-qq ~]# yum install bind -y ##安装bind
[root@mail-qq ~]# vim /etc/named.conf
vim:
// listen-on port 53 { 127.0.0.1; };
// lsten-on-v6 port 53 { ::1; };
// allow-query { localhost; };
dnssec-validation no;
:wq
[root@mail-qq ~]# vim /etc/named.rfc1912.zones
vim:
zone “qq.com” IN {
type master;
file “qq.com.zone”;
allow-update { none; };
};
zone “westos.com” IN {
type master;
file “westos.com.zone”;
allow-update { none; };
};
:wq
[root@mail-qq ~]# cd /var/named/
[root@mail-qq named]# cp named.locahost westos.com.zone -p
[root@mail-qq named]# vim westos.com.zone
vim:
@ IN SOA dns.westos.com. root.westos.com.

      NS    dns.westos.com.

dns A 172.25.254.104
westos.com. MX 1 172.25.254.204.
:wq
[root@mail-qq named]# cp -p westos.com.zone qq.com.zone
[root@mail-qq named]# vim qq.com.zone
vim:
@ IN SOA dns.qq.com. root.qq.com.

      NS    dns.qq.com.

dns A 172.25.254.104
qq.com. MX 1 172.25.254.104.
:wq
[root@mail-qq named]# systemctl start named
[root@mail-qq named]# systemctl stop firewalld
[root@mail-qq named]# systemctl disable firewalld
[root@mail-qq named]# vim /vim /etc/resolv.conf
vim:
2 nameserver 172.25.254.104
:wq

客户端的配置:
[root@mail-westos ~]# systemctl stop firewalld
[root@mail-westos ~]# systemctl disable firewalld
[root@mail-westos ~]# vim /etc/resolv.conf
vim:
2 nameserver 172.25.254.104
:wq

测试:
[root@mail-westos ~]# dig -t mx qq.com
[root@mail-westos ~]# dig -t mx westos.com
[root@mail-qq ~]# dig -t mx qq.com
[root@mail-qq ~]# dig -t mx westos.com

<2>发送邮件
服务器端的配置:
[root@mail-qq named]# netstat -antlpe | grep master ##查看端口
[root@mail-qq named]# vim /etc/postfix/main.cf
vim:
76 myhostname = mail-qq.qq.com
83 mydomain = qq.com
99 myorigin = mydomain116inetinterfaces=all119inetportocols=all164mydestination= myhostname,$mydomain,localhost
:wq
[root@mail-qq named]# systemctl restart postfix.service

客户端的配置:
[root@mail-westos ~]# netstat -antlpe | grep master ##查看端口
[root@mail-westos ~]# vim /etc/postfix/main.cf
vim:
76 myhostname = mail-westos.westos.com
83 mydomain = westos.com
99 myorigin = mydomain116inetinterfaces=all119inetportocols=all164mydestination= myhostname,$mydomain,localhost
:wq
[root@mail-westos ~]# systemctl restart postfix.service

测试:
[root@mail-qq named]# mail root@westos.com ##发送邮件
Subject:test
hello test
.
EOT
[root@mail-westos ~]# mail ##查看邮件

<3>远程发送邮件
在真机或另外的虚拟机上做:
[kiosk@foundation152 Desktop]$ telnet 172.25.254.104 25
mail from:root@qq.com
rcpt to:root@westos.com
data
test
test
.
quit

[root@mail-westos ~]# mail ##查看邮件

<4>远程接收邮件
客户端的配置:
[root@mail-westos ~]# yum install dovecot -y ##安装dovecot
[root@mail-westos ~]# systemctl start dovecot ##启动dovecot
[root@mail-westos ~]# netstat -antlpe | grep dovecot ##查看端口
[root@mail-westos ~]# vim /etc/dovecot/dovecot.conf
vim:
49 disable_plaintext_auth = no
:wq
[root@mail-westos ~]# vim /etc/dovecot/conf.d/10-mail.conf
vim:
30 mail_location = mbox:~/mail:INBOX=/mail/%u
:wq
[root@mail-westos ~]# systemctl restart dovecot.service
[root@mail-westos ~]# su - studnet
[student@mail-westos ~]# mkdir -p /home/student/mail/.imp
[student@mail-westos ~]# touch /home/student/mail/.imp /INBOX

在真机或另外的虚拟机上做:
[kiosk@foundation152 Desktop]$ mutt -f pop://student@172.25.254.204
输入密码就可以进去查看邮件

<5>thuderbird的配置
[root@foundation152 ~]# rpm -ivh thunderbird-31.2.0-1.e17.x86_64.rpm
[root@foundation152 ~]# thunderbird
vim:
Your name: student@westos.com
Email address: student@westos.com
Password:
Incoming:POP3 172.25.254.204 110 None
Outgoing:SMTP 172.25.254.204
Username:Incoming:student Outgoing:student
Re-test
Done

客户端的配置:
[root@mail-westos ~]# vim /etc/dovecot/dovecot.conf
vim:
48 login_trusted_networks = 0.0.0.0/0
:wq
[root@mail-westos ~]# systemctl restart dovecot.service

<6>连接数据库
[root@mail-westos ~]# yum install mariadb-server -y ##安装数据库
[root@mail-westos ~]# vim /etc/my.cnf
vim:
10 skip-networking=1
:wq
[root@mail-westos ~]# systemctl start mariadb ##启动数据库
[root@mail-westos ~]# mysql_secure_installation ##初始化数据库
[root@mail-westos ~]# yum install httpd php php-mysql lftp -y
[root@mail-westos ~]# systemctl restart httpd
[root@mail-westos ~]# cd /var/www/html/
[root@mail-westos html]# tar jxf phpMyAdmin-3.4.0-languages.tar.bz2
[root@mail-westos html]# mv phpMyAdmin-3.4.0-languages/ mysqladmin
[root@mail-westos html]# cd mysqladmin
[root@mail-westos mysqladmin]# cp config.sample.inc.php config.inc.php
[root@mail-westos mysqladmin]# vim config.inc.php
vim:
17 $cfg[‘blowfish_secret’] = ‘westos’;
:wq
[root@mail-westos mysqladmin]# systemctl restart httpd
在浏览器上登录数据库并建立新的库和表
[root@mail-westos ~]# mysql -uroot -plee

MariaDB [(none)]> CREATE USER postfix@localhost identified by “postfix”;
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> GRANT INSERT,SELECT,UPDATE ON email.* to postfix@localhost;
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> quit

用postfix用户登录数据库

[root@mail-westos ~]# groupadd -g 666 vmail
[root@mail-westos ~]# useradd -g 666 vmail
[root@mail-westos ~]# cd /etc/postfix/
[root@mail-westos postfix]# vim mailuser.cf
vim:
hosts = localhost
user = postfix
password = postfix
dbname = email
table = emailuser
select_field = username
where_field = username
:wq
[root@mail-westos postfix]# vim maildomain.cf
vim:
hosts = localhost
user = postfix
password = postfix
dbname = email
table = emailuser
select_field = domain
where_field = domain
:wq
[root@mail-westos postfix]# vim mailbox.cf
vim:
hosts = localhost
user = postfix
password = postfix
dbname = email
table = emailuser
select_field = maildir
where_field = username
:wq
[root@mail-westos ~]# postconf -d | grep virtual ##查看postconf的参数
[root@mail-westos ~]# postconf -e “virtual_mailbox_base = /home/vmail”
[root@mail-westos ~]# postconf -e “virtual_uid_maps = static:666”
[root@mail-westos ~]# postconf -e “virtual_gid_maps = static:666”
[root@mail-westos ~]# postconf -e “virtual_alias_maps = mysql:/etc/postfix/mailuser.cf”
[root@mail-westos ~]# postconf -e “virtual_mailbox_domains = mysql:/etc/postfix/maildomain.cf”
[root@mail-westos ~]# postconf -e “virtual_mailbox_maps = mysql:/etc/postfix/mailbox.cf”
[root@mail-westos ~]# postmap -q “lee@redhat.com” mysql:/etc/postfix/mailuser.cf ##测试

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值