postfix&dovecot搭建邮件服务器
本篇参考
https://blog.51cto.com/5001660/2377785和小翔博客https://www.liuyixiang.com/post/113927.html。
邮件发送和接受流程。

邮件服务器的搭建
centos7下使用postfix+dovecot搭建邮件服务器(防火墙关闭,SELinux关闭下)
DNS服务器搭建
yum install bind bind-utils
查看是否安装成功
[root@localhost ~]# rpm -qa|grep bind
编辑主配置文件
[root@localhost ~]# vim /etc/named.conf
新建区域配置文件,新建的文件名要与include包含的文件名一至,且权限一至
编辑配置文件
配置正向查找区域,配置文件/var/named/named.mail.com,复制后的权限必须一至
配置反向查询文件
开启服务
如果报错请检查配置文件及权限
测试DNS
设置域名解析服务器为自己
搭建邮件服务器
配置服务器主机名称,需要保证服务器主机名称与发信域名保持一致
重启生效,记得重启域名服务及关闭防火墙
postfix
介绍:postfix是Wietse Venema在IBM的GPL协议之下开发的MTA(邮件传输代理)软件
安装
yum install postfix
配置配置文件
vim /etc/postfix/main.cf
第83行,修改保存邮件的域名称
第99行,修改寄出邮件的域名称
第116、119行,修改定义的网卡监听地址
第164行,修改定义的可接收邮件的主机名或域名列表
新建两个用户用于测试
dovecot
介绍:dovecot是一款能够为Linux系统提供IMAP和POP3电子邮件服务的开源软件程序
yum install dovecot
编辑配置文件
vim /etc/dovecot/dovecot.conf
设置dovecot服务程序支持的电子邮件协议
允许用户使用明文进行密码验证
设置允许登录的网段地址
配置邮件格式和储存路径
vim /etc/dovecot/conf.d/10-mail.conf
开启服务
[root@mail ~]# systemctl start postfix
[root@mail ~]# systemctl start dovecot
可以看到邮件的存放位置,这是未发邮件前
发件测试
[root@mail mail]# telnet mail.com 25
Trying 127.0.0.1...
Connected to mail.com.
Escape character is '^]'.
220 mail.com ESMTP Postfix
helo mail.com 声名本机
250 mail.com
mail from:user1@mail.com 声明发件人
250 2.1.0 Ok
rcpt to:user2@mail.com 声明收件人
250 2.1.5 Ok
data 写正文
354 End data with <CR><LF>.<CR><LF>
user1
. 正文结束标记
250 2.0.0 Ok: queued as 12A27206C86E
quit 退出
221 2.0.0 Bye
Connection closed by foreign host.
发件后,可以看到user2已经收到邮件
看一下内容
也可以登录查看邮件
[root@mail mail]# telnet mail.com 110
Trying 127.0.0.1...
Connected to mail.com.
Escape character is '^]'.
+OK Dovecot ready.
user user2 用户
+OK
pass 54321 密码
+OK Logged in.
list 列表查看邮件
+OK 1 messages:
1 380
.
retr 1 读取编号为1的邮件
遇到的问题
1、账号密码正确因权限问题被拒绝
报错
-ERR [SYS/PERM] Permission denied
Connection closed by foreign host.
解决
[root@mail mail]# chmod 0600 /var/spool/mail/*
端口介绍
SMTP 简单邮件传输协议 TCP 25端口 ,加密时使用TCP 456端口
POP3 第三版邮局协议 TCP 110端口 ,加密时使用955端口
IMAP4 第四版互联网消息访问协议 TCP 143端口 , 加密时使用993端口
防火墙开启情况下允许端口通过
firewall-cmd -add-port 25/tcp --permanent
firewall-cmd -add-port 465/tcp --permanent
firewall-cmd -add-port 110/tcp --permanen
firewall-cmd -add-port 995/tcp --permanent
firewall-cmd -add-port 143/tcp --permanent
firewall-cmd -add-port 993/tcp --permanent
firewall-cmd --reload 重启防火墙
SMTP相关命令
helo
客户端为标识自己的身份而发送的命令(通常带域名)
mail from
标识邮件的发件人;以 mail from: 的形式使用
rcpt to
标识邮件的收件人;以 rcpt to: 的形式使用
data
客户端发送的,用于启动邮件内容传输的命令
turn
允许客户端和服务器交换角色,并在相反的方向发送邮件,而不必建立新的连接



























浙公网安备 33010602011771号