CS模式 :client 客户端 ,server服务端
@qq.com 邮箱后缀
@jxyy.com 本来ip ——>域名 www.xxxx.com
DNS域名解析
sendmail 发送邮件
SMTP 协议:邮件内容传输协议 端口25
POP3协议:邮局协议
dovecot 中继器
安装组件
yum -y install sendmail
yum -y install m4
yum -y install sendmail-cf
yum -y install dovecot
yum -y install bind
编辑DNS服务器的全局配置文件named.conf
vi /etc/named.conf
listen -on port 53 { any; } ;
allow -query { any; } ;
include "/etc/named.zones" ;
编辑DNS服务器的主配置文件named.zones
cd /etc
cp -p named.rfc1912.zones named.zones
vi named.zones
zone "school.com" IN{
type master;
file "school.com.zone" ;
allow-update { none; } ;
} ;
zone "56.168.192.in-addr.arpa" IN{
type master;
file "192.168.56.zone" ;
allow-update { none; } ;
} ;
在DNS文件存放目录/var/named/下创建正向解析文件(school.com.zone)和反向解析文件(192.168.56.zone)
cd /var/named
cp -p named.localhost school.com.zone
cp -p named.loopback 192.168 .56.zone
编辑正向解析文件
vi school.com.zone
$TTL 1D
@ IN SOA school.com. root.school.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
@ IN NS dns.school.com.
@ IN MX 10 mail.school.com.
dns IN A 192.168 .56.102
mail IN A 192.168 .56.102
smtp IN A 192.168 .56.102
pop3 IN A 192.168 .56.102
编辑反向解析文件(不能空格)
vi 192.168 .56.zone
$TTL 1D
@ IN SOA school.com. root.school.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
@ IN NS dns.school.com.
@ IN MX 10 mail.school.com.
102 IN PTR dns.school.com.
102 IN PTR mail.school.com.
102 IN PTR smtp.school.com.
102 IN PTR pop3.school.com.
关闭防火墙
systemctl stop firewalld
setenforce 0
getenforce
修改 /etc/mail/local-host-names 文件
vi /etc/mail/local-host-names
school.com
192.168 .56.102
修改/etc/mail/access文件
vi /etc/mail/access
Connect: school.com RELAY
Connect: 192.168 .56.102: RELAY
使用makemap生成access.db文件
makemap hash /etc/mail/access.db < /etc/mail/access
编辑虚拟域用户文件 /etc/mail/virtusertable 文件
vi /etc/mail/virtusertable
cn@school.com user1@hbliti.com
使用makemap 生成virtusertable.db文件
makemap hash /etc/mail/virtusertable.db < /etc/mail/virtusertable
编辑/etc/mail/sendmail.mc文件
vi /etc/mail/sendmail.mc
内容:
把下面两行前面的dnl去掉
TRUST_AUTH_MECH( ` EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN') dnl
define( ` confAUTH_MECHANISMS', ` EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN') dnl
将下行域修改为自己域
LOCAL_DOMAIN( ` school.com' ) dnl
将下行的127.0.0.1修改为0.0.0.0
DAEMON_OPTIONS( `Port= smtp,Addr= 0.0 .0.0, Name = MTA') dnl
创建两个用户
useradd client1
useradd client2
passwd client1
passwd client2
编辑 /etc/dovecot/dovecot.conf
vi /etc/dovecot/dovecot.conf
内容:
protocols = imap pop3 lmtp
login_trusted_networks = 192.168 .56.0/24
编辑/etc/dovecot/conf.d/10-mail.conf 文件
vi /etc/dovecot/conf.d/10-mail.conf
mail_location = mbox: ~/mail:INBOX= /var/mail/%u
mbox_write_locks = fcntl
创建client1和client2用户的邮箱路径
```bash
mkdir -p /home/client1/mail/.imap/INBOX/
mkdir -p /home/client2/mail/.imap/INBOX/
修改文件/etc/skel/.bash_profile文件
vi /etc/skel/.bash_profile
内容添加:
if[ ! -d ~/mail/.imap/INBOX] ; then
mkdir -p ~/mail/.imap/INBOX
fi
启动DNS服务器
systemctl start named
出现问题使用:systemctl status named
named-checkzone school.com /var/named/school.com.zone
启动sendmail服务
systemctl start sendmail
systemctl enable sendmail
启动dovecot服务
systemctl start dovecot
systemctl enable dovecot
启动saslauthd服务
systemctl start saslauthd
systemctl enable saslauthd
安装telnet服务
yum -y install xinetd
yum -y install telnet-server
systemctl start xinetd
systemctl enable xinetd
在客户端安装telnet服务
yum -y install telnet
在客户端关闭防火墙
systemctl stop firewalld
setenforce 0
getenforce
chmod 700 /var/mail/*
systemctl disable firewalld
测试连接服务端
telnet 服务端ip地址 端口号
telnet 192.168.56.102 25
显示 220表示连接成功
输入helo school.com 表明身份
显示250表示身份验证成功
mail from : client1@school.com //发件人
显示250...........sender ok 表示发件人没有问题
rcpt to : client2@school.com //收件人
显示250.....recipient ok 表示收件人没有问题
data //表示开始编写邮件内容
subject 邮件主题
正文内容随便写
结束编写回车 输入 . 按回车
退出quit
客户端测试
接收邮件:telnet 192.168.56.102 110
显示OK表示连接没有问题
user client2
显示OK
pass 密码
显示OK Logged in
查看邮件列表 list
查看邮件 retr 邮件编号数字 如 retr 2
退出quit