centos7上的sendmail配置

时间:2018-04-12 11:50:48

标签: centos sendmail centos7

我正在尝试在centos7上启动sendmail服务,但它给了我以下错误消息,这是非常模糊的。有人可以帮我确定问题吗?

Apr 12 01:04:25 server.localdomain systemd[1]: Starting Sendmail Mail Transport Agent...
Apr 12 01:04:25 server.localdomain systemd[1]: PID file /run/sendmail.pid not readable (yet?) after start.
Apr 12 01:04:25 server.localdomain sendmail[3712]: starting daemon (8.14.7): SMTP+queueing@01:00:00
Apr 12 01:05:55 server.localdomain systemd[1]: sendmail.service start operation timed out. Terminating.
Apr 12 01:05:55 server.localdomain systemd[1]: Failed to start Sendmail Mail Transport Agent.
Apr 12 01:05:55 server.localdomain systemd[1]: Unit sendmail.service entered failed state.
Apr 12 01:05:55 server.localdomain systemd[1]: sendmail.service failed.

我正在使用centos7。

    #rpm -qa | grep -i sendmail
  sendmail-8.14.7-5.el7.x86_64
  sendmail-cf-8.14.7-5.el7.noarch

sendmail与centos7有什么问题吗?

1 个答案:

答案 0 :(得分:0)

可能的原因:

sendmail.mc 2x中有一行
DAEMON_OPTIONS('Port=smtp, Name=MTA')dnl

我的解决方案

我有同样的问题, 在sendmail.mc中,我有这样的行

# DAEMON_OPTIONS('Port=smtp,Addr=127.0.0.1, Name=MTA')dnl
DAEMON_OPTIONS('Port=smtp, Name=MTA')dnl

我以为我已经注释掉了,但是要注释此文件中的一行,必须是:
dnl # DAEMON_OPTIONS('Port=smtp,Addr=127.0.0.1, Name=MTA')dnl

我试图解决的方法是:

我使用了与“ smpt”不同的端口(默认端口25),并将其更改为端口26(将“ smtp”替换为“ 26”)

nano /etc/mail/sendmail.mc
DAEMON_OPTIONS('Port=26,Addr=127.0.0.1, Name=MTA')dnl

重建sendmail并重新启动服务:
make -C /etc/mail
sudo systemctl restart sendmail

然后,该服务将正确启动,没有任何错误,并且在到达邮箱之前先发送电子邮件。

然后我将端口从26更改为smtp

然后 make -C /etc/mail
sudo systemctl restart sendmail sudo systemctl status sendmail

服务再次正常运行,没有错误

检查sendmail在哪个端口上正常工作:
netstat -anp | grep LISTEN | grep sendmail

这解决了我的Centos 7服务器上的此问题。
sendmail-8.14.7-5.el7.x86_64