我想通过外部邮件服务器从我的服务器发送电子邮件。因此我nullmailer
在 Debian 7 x32 中安装了最简单的 MTA 之一。
我的/etc/nullmailer/remotes
:
smtp.example.com smtp [email protected] --pass=*** --port 465 --ssl
用户在这种情况下是远程服务器上的注册用户。
现在我想发送一封测试邮件。Nullmailer 替代 sendmail 有几个参数:
用法:sendmail [标志] [收件人]
-f 设置信封发件人地址
好的,我发送邮件如下:
ls | sendmail -f [email protected] [email protected]
但这封邮件[电子邮件保护]邮箱。其中一个标题是:
致:未公开的收件人:;
据我了解,nullmailer 不会发送收件人地址。
好的,现在我尝试发送它php
:
mail("[email protected]","subject","message","From: [email protected]");
但实际上什么都没发送。日志显示:
smtp:失败:553 5.7.1 发件人地址被拒绝:不属于授权用户。发送失败:发送邮件时出现永久性错误
嗯...看起来很奇怪。如果我列出 nullmailer 队列,我会看到
sendmail -bp
2015-03-23 14:58:26 332 bytes from <[email protected]>
to <[email protected]>
我不知道这是从哪里来的[email protected]
。所以队列现在被冻结了。我在 中找到了队列/var/spool/nullmailer/queue/
。每封电子邮件都保存为带有标题和邮件正文的文件。文件如下所示:
[email protected]
[email protected]
Received: (nullmailer pid 14630 invoked by uid 0);
Mon, 23 Mar 2015 04:58:26 -0000
To: [email protected]
Subject: subject
X-PHP-Originating-Script: 0:test.php
From: [email protected] Date: Mon, 23 Mar 2015 14:58:26 +1000 Message-Id: [email protected]>
message
所以我把标题从
[email protected]
[email protected]
到
[email protected]
[email protected]
瞧!电子邮件已按预期发送 - 从[email protected]
到[email protected]
所以我的问题是 - 我做错了什么以及如何以nullmailer
正常方式发送电子邮件?