linux下配置邮件发送器
作者:互联网
linux下配置邮件发送器postfix
开始之前必须先配置 dns域名解析 详见另一篇博客
安装postfix服务器并进行配置
- 可能postfix在系统安装过程中已经安装了此服务,可以使用下面的命令查询
rpm -q postfix
- 如果没有可以手动安装:
yum install -y postfix
- 检查 postfix 是否支持 cyrus dovecot 功能:
postconf -a
查询是否支持cyrus与dovecot,如果不支持需要重新安装新的版本
- 编辑 postfix 的配置文件,查找并修改对应配置项:
# cat /etc/postfix/main.cf
myhostname = mail.testmail.com //本机主机名
mydomain = testmail.com //服务器域名
myorigin = $mydomain //初始域名
mail_owner = postfix inet_interfaces = all //监听接口
inet_protocols = all //监听网络版本
mydestination = $myhostname, localhost.$mydomain, localhost //目标域
unknown_local_recipient_reject_code = 550
mynetworks = 192.168.100.0/24, 127.0.0.0/8 //修改可接收邮件的主机名和域名,可被中继 的主机 192.168.100.0 为我自己定义的网段
home_mailbox = Maildir/ //邮件目录,在用户家目录下
mynetworks_style = host //指定信任网段类型
relay_domains = $mydestination //指定允许中转邮件的域名
home_mailbox
有两个选项,一个是Mailbox
,另一个就是Maildir
。
-
Mailbox
同一个用户的所有邮件内容存储为单个文件,通常保存在/var/spool/mail/目录下文件名与用户名相同,这是Postfix默认使用的方式。 -
Maildir
使用目录结构来存储用户的邮件内容每一个用户使用一个文件夹,每封邮件都作为一个独立的文件存放。这种方式的存取速度和效率要好一些,对于管理邮件内容页也更加方便。 -
如果想要查看postfix非默认配置,可以使用命令:
postconf -n
-
检查配置文件是否有语法错误``postfix check` 没有输出错误,证明配置文件没有问题
其他 postfix 运维命令:
newaliases (重建别名数据库)
postalias /etc/postfix/aliases (创建或查询别名数据库)
postcat (显示队列文件内容)
postconf (修改 main.cf 配置文档 )
postqueue (査看 postfix 队列)
postsuper (管理员管理 postfix 队列)
postmap (创建查询表的 DB 数据库或查询查询表内容)
- 然后重启服务
systemctl restart postfix
- 检测服务进程以及端口是否正常
netstat -lntp | grep 25
:
ps -ef | grep postfix | grep -v grep
安装配置dovecot
yum install -y dovecot
编辑/etc/dovecot/dovecot.conf文件,打开:
protocols = imap pop3 lmtp
listen = *, ::
编辑/etc/dovecot/conf.d/10-auth.conf文件,设置:
disable_plaintext_auth = no
编辑/etc/dovecot/conf.d/10-mail.conf文件,设置:
mail_location = maildir:~/Maildir
测试
添加用户
这里必须关闭防火墙!!
使用telnet进行测试
在这之前要添加dns 8.8.8.8ip 或者 114.114.114.114 两种都是域名解析服务器
telnet mail.testmail.com 25
Trying 192.168.8.8...
Connected to mail.abc.com.
Escape character is '^]'.
220 mail.abc.com ESMTP Postfix
helo mail.testmail.com // 设置发邮件的主机
250 mail.testmail.com // 250表明命令执行成功
mail from: jack@mail.testmail.com // 设置发件人地址
250 2.1.0 Ok
rcpt to:tom@mail.testmail.com // 设置收件人地址
250 2.1.5 Ok
data // 开始写邮件正文
354 End data with <CR><LF>.<CR><LF>
hello tom, I am Jack! 这是一封测试邮件!
. // 标点符号“.“结束正文书写
250 2.0.0 Ok: queued as 09F21E0973
quit // 退出telnet
221 2.0.0 Bye
Connection closed by foreign host.
连接端口110收邮件:
telnet mail.testmail.com 110
依次输入红框中的命令,即可查看邮件:
user tom // 使用tom用户登录
pass tom // 输入tom的密码
list // 列出邮件列表,可以看到有一封邮件
retr 1 // 读取1号邮件
quit //退出telnet
使用第三方邮箱接收
详情请看 https://blog.csdn.net/witton/article/details/105882959
关于qq邮箱接受的问题
错误码:554 DT:SPM 可能被视为垃圾邮件了,参见http://mail.163.com/help/help_spam_16.htm?ip=171.212.195.205&hostid=mx41&time=1588408748
QQ邮箱退回信息:
host mx3.qq.com[58.251.110.111] said: 550 Domain may not
exist or DNS check failed
错误码:550 Domain may not exist or DNS check failed
即域名不存在或者DNS检查失败。有些邮箱会在收到邮件时,验证是否可以向该地址发送邮件,如果不能发送则会拒收,以防止垃圾邮件。
出现这些问题有一个重要原因是因为我们并未在公网注册我们的域名,所以对方无法反向查找。不过到目前为止内部使用是完全没有问题了。
除非外网注册域名否则无法解决
标签:testmail,dovecot,postfix,linux,mail,com,发送器,邮件 来源: https://www.cnblogs.com/zgrey/p/14394580.html