第一:准备环境
1.硬件环境
在服务商处购买的虚拟主机一个:IP地址为:
win7客户端一台,安装有Foxmail(可自行下载最新版),测试用
2.linux系统环境
购买的虚拟主机,安装linux CentOS7版本
检查我们的服务器能否telnet通我们要发送的一些邮件服务商的端口,比如qq,163,gmail等,如果不通的话需要更换服务器,因为此服务器商将这些给拦截了,
正常的现象是:
我们需要开放我们需要的端口,端口有25(SMTP服务,用于发送邮件),110(pop3服务,用于接收邮件)143(imap服务,用于接收邮件)
开放端口,命令如下
备注:
如果你只想用pop3服务,那么我们只需要打开110和25端口即可;
如果想用imap服务,还需要打开143端口;
如果我们使用了ssl的话,
pop3就需要开放我们的465(发件) 995(收件)端口
imap就需要开放我们的465(发件) 993(收件)端口
配置服务器主机名称,需要保证服务器主机名称与发信域名保持一致
查看当前服务器主机名称
截图如下
设置主机名称为mail.dayuservice.com,既是mail.域名。命令如下
编辑主机名文件 /etc/hosts,命令如下
看到如下的文件界面
其中127.0.0.1 vultr.guest那行修改为127.0.0.1 mail.dayuservice.com(既修改为127.0.0.1 mail.域名),修改后,保存如下
reboot 重启一下服务器
再次查看当前服务器主机名,如果修改成功,如下:
第二:实验内容总览
一、DNS域名解析
二、安装postfix服务并配置,测试普通发信
三、安装dovecot服务并配置,测试普通收信
四、本地foxmail登录邮箱,收发信测试
第三:开始实验
一、DNS域名解析配置
我用的是dnspod.cn,添加域名dayuservice.com的解析如下:
1.添加一个二级域名指向服务器IP
2.添加一个MX记录到这个二级域名,优先级设为10
3.添加一个TXT记录,记录值为 v=spf1 mx ~all
二、安装postfix服务并配置,测试普通发信
在centos7里我们的postfix是系统自带的,但是centos7以前的版本是默认不带的, centos7版本以前自带的是sendmail,如果有sendmail先删除sendmail,再安装postfix,
删除sendmail,命令如下:
安装postfix命令如下 :
备注:
若postfix已安装好,则会支持这两个功能,若不支持,表示postfix未安装好;
验证是否支持cyrus dovecot功能
验证支持显示结果如图:
配置postfix相关文件
修改
修改内容如下:
myhostname = mail.dayuservice.com
# 取消注释,设置域名
mydomain = dayuservice.com
# 取消注释
myorigin = $mydomain
# 默认是localhost,我们需要修改成all
inet_interfaces = all
# 推荐ipv4,如果支持ipv6,则可以为all
inet_protocols = ipv4
# 添加
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain# 取消注释,邮件保存目录
home_mailbox = Maildir/
# 添加
smtpd_banner = $myhostname ESMTP
# 添加到最后
# 规定邮件最大尺寸为10M
message_size_limit = 10485760
# 规定收件箱最大容量为1G
mailbox_size_limit = 1073741824
# SMTP认证
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain = $myhostname
smtpd_recipient_restrictions = permit_mynetworks,permit_auth_destination,permit_sasl_authenticated,reject
以上对应的对应的行数位置可能随着版本不同会有差异。
保存退出。
增加邮件测试账号
链接服务器的25端口,进行简单发信测试
使用root查看testuser2用户是否收到刚才发送的邮件
打开发现正是刚才用户testuser1发送给testuser2的邮件内容。
至此,发信服务设置成功。
三、安装dovecot服务并配置,测试普通收信
安装之后,修改dovecot.conf
修改内容,并退出保存。
listen = *
#在主配置文件中的第48行,设置允许登录的网段地址,也就是说我们可以在这里限制只有来自于某个网段的用户才能使用电子邮件系统。如果想允许所有人都能使用,则不用修改本参数
login_trusted_networks = 192.168.10.0/24更改内容
修改文件10-auth.conf
修改内容如下,并退出保存.
改 disable_plaintext_auth = no
# 添加修改
auth_mechanisms = plain login
修改文件10-mail.conf
修改内容如下,并退出保存。
加 mail_location = maildir:~/Maildir
修改文件10-master.conf
修改内容如下,退出并保存
unix_listener /var/spool/postfix/private/auth {
mode = 0666
user = postfix
group = postfix
}
注意:如果我们没有使用ssl的话需要修改下面的文件10-ssl.conf。使用了则不需要。
修改内容如下,退出并保存
为 ssl = no
重启dovecot服务,使上述修改配置生效。
dovecot配置完成,开始收信验证测试
user testuser2 //收件人登录
pass xxxxxx //邮箱密码
list //列表查看邮件
retr 1 //读取编号为1的邮件
quit //退出邮箱
正确读取,测试验证成功。
四、win7系统上 foxmail登录邮箱,收发信测试
打开foxmail客户端,主菜单-账户管理-新建账户-手动设置,进入如下界面:
分别填写
接收服务器类型pop3或则imap,我这里选填的是pop3服务
邮件账号testuser1
密码:创建用户的时候的密码
收发服务器都填写mail.dayuservice.com
如果使用ssl的话就勾选,不用不需要勾选
然后创建登录,往自己的邮箱发一封邮件看是否能正常接收,能正常接收并能正常回复邮件到我们搭建的邮箱账号,说明搭建邮件服务器搭建成功啦!!