我已经尝试了所有我能在互联网上找到的东西,但我所做的一切都没有任何改变。我正在尝试在我的 linux 盒子上发送带有 sendmail 的电子邮件。更大的图景是我需要在节点服务器上的进程失败或崩溃时发送电子邮件,我的公司没有选择 smtp,所以我正在研究通过 nodemailer 使用 sendmail。不用说它不能正常工作。我没有收到错误,但邮件永远不会通过,所以我决定更基本地通过终端测试 sendmail,但我根本无法发送任何邮件。我进入/etc/mail 目录并编辑了 sendmail.mc 和 submit.mc 文件以获得完全合格的域名,我在网上找到了一个快速教程,说要将以下内容添加到 sendmail.mc 文件中。 .
Dmbar.com
define('confDOMAIN_NAME', '$w.$m')dnl
所以我添加了它,然后运行“sendmailconfig”命令来更新应用程序,然后为了安全起见,我运行了“/etc/init.d/sendmail restart”命令来重新启动 sendmail 守护进程。 然后我运行 sendmail 命令来测试发送一封电子邮件,就像这样......
sendmail -t < email.txt
email.txt 的内容只是...
to:realemail@gmail.com
from:myemail@mydomain.com
subject: Test email
test test etst
是的,“realemail@gmail.com”不是它发送的地方,该行中有一封真实的电子邮件,“myemail@mydomain.com”也不是文件中的内容,它被替换为一个实际的电子邮件地址。
仍然没有邮件通过。当我调出“sendmail -bp”命令时,我得到类似...
u4KJaAJF030710readqf* -1 Fri May 20 12:36 <****@***********>
(Deferred: Connection refused by alt4.gmail-smtp-in.l.google.)
<realemail@gmail.com>
是的,我用 ***** 替换了发件人,但可以肯定地说它使用的是 computeruser@computername 而不是邮件文件中的发件人,也不是 .mc 文件中定义的 DOMAIN_NAME。
我真的迷失在这里,我所做的一切似乎都不重要,我无法发送电子邮件,我真的需要它运行。我整天都在网上搜索,我发现的一切要么是将定义行添加到 sendmail.mc 文件中,要么只是关于如何实际发送邮件的简单命令,我找不到任何有助于为什么这不发送任何电子邮件。但是,我可以进入一个 PHP 页面并成功地使用“邮件”PHP 函数发送电子邮件,所以我知道我的系统能够正确发送电子邮件。 我乞求任何帮助,电子邮件不是我的强项,所以非常感谢任何帮助。谢谢。
最佳答案
终于找到问题了。事实证明,Comcast 不允许在端口 25 上进行任何通信,因此我所有的电子邮件都被阻止了。痛在...!
关于linux - linux 上的 sendmail 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37355831/