无法使 sendmail 使用远程 SMTP 服务器

无法使 sendmail 使用远程 SMTP 服务器

我按照以下指南了解如何设置 sendmail 以使用远程 SMTP 服务器并进行身份验证:https://www.smtp2go.com/docs/sendmail/

但是,sendmail 显示它发送电子邮件,但调试显示它连接到本地主机而不是远程主机。

我执行以下命令来发送电子邮件:

sendmail -X sendmail_log [email protected] [email protected] < /tmp/email.txt

我的主机“host1.com”只允许从“[电子邮件受保护]'。

电子邮件.txt:

Subject: Terminal Email Send

Email Content line 1
Email Content line 2

这是日志文件中使用 localhost 的位置:

07460 <<< Subject: Terminal Email Send
07460 <<<
07460 <<< Email Content line 1
07460 <<< Email Content line 2
07460 <<< [EOF]
07460 === CONNECT [127.0.0.1]

答案1

Sendmail-8.12+:未设置 root uid 安装 => 通过 127.0.0.1:25 发送

在sendmail-8.12之前,“Sendmail by sendmail.org”通常被安装为设置root uid程序。它曾经造成了无穷无尽的安全问题。为了避免此类安全风险,Sendmail-8.12 将消息传递给以 root 身份运行并侦听的 sendmail 守护进程127.0.0.1:25

如果您想测试您的配置,您可以以 root 身份执行测试命令,并-Am添加到 sendmail 的命令行选项。

Sendmail 默认使用submit.cf配置文件并将消息发送到127.0.0.1:25.某些命令行选项(包括-Am)使 sendmail 使用sendmail.cf配置文件,但(通常)它需要 root 权限才能正确运行。

https://www.sendmail.com/sm/open_source/security/secure-install/
http://linux.die.net/man/8/sendmail.sendmail

相关内容