前言:本文总结了一些postfix常见的问题及解决方案,可能并不太全面,望对阅读的你有一些帮助
1.安装
yum -y install postfix
2.配置
vim /etc/postfix/main.cf
myhostname = sample.abc.com
设置系统的主机名
mydomain = abc.com
设置域名(设置为E-mail地址“@”后面的部分)
myorigin = $mydomain
发信地址“@”后面的部分设置为域名(非系统主机名)
inet_interfaces = all
接受来自所有网络的请求
mydestination = myhostname,localhost. m y h o s t n a m e , l o c a l h o s t . mydomain, localhost, $mydomain
指定发给本地邮件的域名
home_mailbox = Maildir/
指定用户邮箱目录
3.启动
sudo systemctl start postfix
4.关闭
sudo systemctl stop postfix
1.文件权限引起的问题
报错[6199]、[6200]:
看日志
tail /var/log/maillog
xxxxx postfix/postsuper[6199]: fatal: scan_dir_push: open directory defer: Permission denied
xxxxx postfix/postfix-script[6200]: fatal: Postfix integrity check failed!
原因:
/var/spool/postfix 这个目录拥有权限的问题,默认的拥有者是root,需要将拥有者改为postfix
ll /var/spool/postfix/ -d
drwxr-xr-x. 16 root root 201 2月 27 12:07 /var/spool/postfix/
解决方法:
chown -R postfix /var/spool/postfix/
systemctl restart postfix
2.配置引起的问题
报错[1143]:
Job for postfix.service failed. See ‘systemctl status postfix.service’ and ‘journalctl -xn’ for details.
查看错误:
systemctl status postfix.service -l
xxxxxxxx postfix/sendmail[1143]: fatal: parameter inet_interfaces: no local interface found for ::1
解决方法:
更改配置
vim /etc/postfix/main.cf
inet_interfaces = localhost 只能接受来自本机的邮件
inet_protocols = ipv4 拒绝ipv6的本机地址::1
重启
sudo systemctl start postfix
3.邮箱拦截引起的问题
有时用postfix发送一些邮件到某些邮箱,邮件会收不到,这是由于收件的邮箱的安全设置,会拦截你发过去的邮件。
解决方法:
收件邮箱的安全设置,更改设置即可。