需要对邮件设置进行一些说明。我们正在管理大约数百个应用程序。这些应用程序在基于 Linux 的主机上运行,用于根据站点上的用户注册和其他操作向用户发送邮件。
我们已Sendmail
在这些 Linux 服务器上配置将邮件中继到目标邮箱。以下设置用于sendmail.cf
将邮件转发到中继邮件服务器。
DSesmtp:xmail.example.com
这对我来说很好。但在某些服务器上,我只能看到sendmail
正在运行,但上述设置未启用。但邮件仍然通过该服务器。我尝试向 Yahoo 和 GMAIL 帐户发送邮件,邮件已成功送达。
Aug 31 03:36:12 vmprod sendmail[23396]: u7V7aCMr023396: from=<[email protected]>, size=534, class=0, nrcpts=1, msgid=<[email protected]>, proto=ESMTP, daemon=MTA, *relay=localhost [127.0.0.1]*
Aug 31 03:36:12 vmprod sendmail[23393]: u7V7aCee023393: [email protected], ctladdr=admin (35014/10), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30220, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (u7V7aCMr023396 Message accepted for delivery)
Aug 31 03:36:13 vmprod sendmail[23398]: STARTTLS=client, relay=mx-apac.mail.gm0.yahoodns.net., version=TLSv1/SSLv3, verify=FAIL, cipher=RC4-SHA, bits=128/128
Aug 31 03:36:16 vmprod sendmail[23398]: u7V7aCMr023396: to=<[email protected]>, ctladdr=<[email protected]> (35014/10), delay=00:00:04, xdelay=00:00:04, mailer=esmtp, pri=120534, *relay=mx-apac.mail.gm0.yahoodns.net*. [106.10.166.52], dsn=2.0.0, stat=Sent (ok dirdel)
Postfix,Exim
该主机上没有运行
-bash-4.1$ ps -ef | grep postifx
essadmin 8974 20942 0 06:20 pts/4 00:00:00 grep postifx
-bash-4.1$ ps -ef | grep exim
essadmin 8982 20942 0 06:20 pts/4 00:00:00 grep exim
/etc/resolv.conf
指向有效的 DNS 服务器。
$ cat /etc/redhat-release
Red Hat Enterprise Linux Server release 6.3 (Santiago)
我很困惑如何发送邮件,因为SMARTHOST
未配置。有什么指点吗?
答案1
系统可能正在使用 sendmail 的替代方案,例如 postfix 或 exim。
使用以下命令进行检查(以 root 身份):
netstat --tcp -lnp | grep :25
你会得到类似的东西:
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1464/master
tcp 0 0 ::1:25 :::* LISTEN 1464/master
然后检查这是谁:
ps -aef | grep 1464 # replace 1464 with your pid
例如我得到以下内容:
root 1464 1 0 2015 ? 00:01:35 /usr/lib/postfix/master -w
postfix 1468 1464 0 2015 ? 00:00:25 qmgr -l -t fifo -u
postfix 25106 1464 0 09:13 ? 00:00:00 pickup -l -t fifo -u