系统相关
首页 > 系统相关> > linux下配置邮件发送器

linux下配置邮件发送器

作者:互联网

linux下配置邮件发送器postfix

开始之前必须先配置 dns域名解析 详见另一篇博客

安装postfix服务器并进行配置

rpm -q postfix
yum install -y postfix
postconf -a

image-20210209225510306

查询是否支持cyrus与dovecot,如果不支持需要重新安装新的版本

 # 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



其他 postfix 运维命令: 

newaliases (重建别名数据库) 

postalias /etc/postfix/aliases (创建或查询别名数据库) 

postcat (显示队列文件内容) 

postconf (修改 main.cf 配置文档 ) 

postqueue (査看 postfix 队列) 

postsuper (管理员管理 postfix 队列) 

postmap (创建查询表的 DB 数据库或查询查询表内容)

systemctl restart postfix

image-20210209230120810

ps -ef | grep postfix | grep -v grep

image-20210209230221767

安装配置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

测试

添加用户

image-20210209222529691

这里必须关闭防火墙!!

使用telnet进行测试

在这之前要添加dns 8.8.8.8ip 或者 114.114.114.114 两种都是域名解析服务器

image-20210209231029069

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.

image-20210209231351995

连接端口110收邮件:

telnet mail.testmail.com 110

依次输入红框中的命令,即可查看邮件:

user tom // 使用tom用户登录
pass tom // 输入tom的密码
list // 列出邮件列表,可以看到有一封邮件
retr 1 // 读取1号邮件
quit //退出telnet
image-20210209231520008

使用第三方邮箱接收

详情请看 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