我想开始使用nullmailer
(版本 1:2.2-3,根据)将我的家用台式计算机(Debian buster)上运行的dpkg-query
程序(特别是 )生成的任何电子邮件转发到我的个人雅虎地址。cron
我的家用台式计算机通过 ISP (Xfinity) 连接到互联网,并且没有 FQDN。换句话说,当我运行hostname --fqdn
它时,输出是一个不包含句点的字符串。 (出于这个问题的目的,我们假设这个输出只是XXMYBOXXX
1。)
因此,我想配置nullmailer
为通过外部中继主机(即smtp.mail.yahoo.com
.
这是我到目前为止所尝试过的(没有成功)。
我将/etc/nullmailer/adminaddr
和/etc/nullmailer/defaultdomain
文件留空,并将以下内容放入/etc/remotes
文件中(对全部大写的一些修订进行取模,以及前导和尾随XX
)2:
smtp.mail.yahoo.com smtp --auth-login --port=465 --ssl [email protected] --pass=XXXPASSWDXXX --insecure
...尽管我尝试了很多变化。特别是,我已更改--ssl
为--tls
,并且我尝试了带和不带标志的这两种设置--insecure
。
下一个列表显示了我拥有的所有配置文件的所有权和权限nullmailer
:
drwxr-xr-x 2 root root 4096 Apr 26 07:39 /etc/nullmailer/
-rw-r--r-- 1 root root 0 Apr 26 07:48 /etc/nullmailer/adminaddr
-rw-r--r-- 1 root root 0 Apr 26 07:46 /etc/nullmailer/defaultdomain
-rw------- 1 mail mail 115 Apr 26 08:11 /etc/nullmailer/remotes
正如我之前所说,nullmailer
我尝试过的所有各种配置都失败了。这是此失败的典型示例。如果我尝试使用以下命令向测试地址发送消息
echo 'some text' | /usr/bin/mail -s 'some subject' [email protected]
...我在[email protected]
([email protected]
就此而言,也没有在 )得到任何信息,并且以下几行被添加到 XXMYBOXXX's 中/var/log/mail.log
:
Apr 26 09:01:33 XXMYBOXXX nullmailer: Trigger pulled.
Apr 26 09:01:33 XXMYBOXXX nullmailer: Rescanning queue.
Apr 26 09:01:33 XXMYBOXXX nullmailer: Starting delivery, 1 message(s) in queue.
Apr 26 09:01:33 XXMYBOXXX nullmailer: Starting delivery: host: smtp.mail.yahoo.com protocol: smtp file: 1619438493.9195
Apr 26 09:01:33 XXMYBOXXX nullmailer: From: <root@XXMYBOXXX> to: <[email protected]>
Apr 26 09:01:33 XXMYBOXXX nullmailer: Message-Id: <1619438493.951858.9194.nullmailer@XXMYBOXXX>
Apr 26 09:01:35 XXMYBOXXX nullmailer: smtp: Failed: 550 Request failed; Mailbox unavailable
Apr 26 09:01:35 XXMYBOXXX nullmailer: Sending failed: Permanent error in sending the message
Apr 26 09:01:35 XXMYBOXXX nullmailer: Moving message 1619438493.9195 into failed
Apr 26 09:01:35 XXMYBOXXX nullmailer: Generating bounce for 1619438493.9195
Apr 26 09:01:36 XXMYBOXXX nullmailer: Delivery complete, 0 message(s) remain.
Apr 26 09:01:36 XXMYBOXXX nullmailer: Trigger pulled.
Apr 26 09:01:36 XXMYBOXXX nullmailer: Rescanning queue.
Apr 26 09:01:36 XXMYBOXXX nullmailer: Starting delivery, 1 message(s) in queue.
Apr 26 09:01:36 XXMYBOXXX nullmailer: Starting delivery: host: smtp.mail.yahoo.com protocol: smtp file: 1619438495.9198
Apr 26 09:01:36 XXMYBOXXX nullmailer: From: <> to: <root@XXMYBOXXX>
Apr 26 09:01:36 XXMYBOXXX nullmailer: Message-Id: <1619438496.000360.9199.nullmailer@XXMYBOXXX>
Apr 26 09:01:37 XXMYBOXXX nullmailer: smtp: Failed: 550 Request failed; Mailbox unavailable
Apr 26 09:01:37 XXMYBOXXX nullmailer: Sending failed: Permanent error in sending the message
Apr 26 09:01:37 XXMYBOXXX nullmailer: Moving message 1619438495.9198 into failed
Apr 26 09:01:37 XXMYBOXXX nullmailer: Not generating double bounce for 1619438495.9198
Apr 26 09:01:37 XXMYBOXXX nullmailer: Delivery complete, 0 message(s) remain.
我必须如何更改nullmailer
配置才能使mail
上面的命令起作用?
发行版信息:
% uname -ar
Linux debug-3 4.19.0-16-amd64 #1 SMP Debian 4.19.181-1 (2021-03-19) x86_64 GNU/Linux
1对这个令人讨厌的笔名表示歉意。这很大程度上是由我在整篇文章中用来指示修订的模式决定的。
2我实际用于标志的值--pass
是由生成的“应用程序密码”https://login.yahoo.com/myaccount/security一个名为“nullmailer”的“应用程序”。
答案1
您描述的配置对我来说看起来非常正确,除了文件之外adminaddr
,在您的情况下,我认为它最好不为空,而是指示一个有效的、可公开访问的地址。然而,这个小修正并不能解决你的主要问题。
错误消息如下:
550 Request failed; Mailbox unavailable
完全来自雅虎自己的邮件服务器端。您的发送操作被雅虎拒绝,因为该操作不符合雅虎的某些政策。
问题是,来自雅虎的错误消息是如此通用(可能是故意的),以至于不可能推断出您需要进行的确切调整nullmailer
。这可能是由于(字面上)与您在雅虎订阅的帐户所引用的服务相关的任何类型的限制造成的。这甚至可能与雅虎对您的 ISP 分配给您的连接的特定 IP 地址强制执行的某种黑名单(即使只是暂时的)有关。
然而,我确实注意到的一件事是,您没有指定信封发件人,因此它是由命令动态“计算”的,这本身并没有错,但可能违反雅虎强制执行的限制mail
。雅虎的策略可能要求该地址与与服务关联的帐户相同,或者可能与用于 SMTP 身份验证的帐户相同(如果这与与服务关联的帐户不同)。
因此,请尝试将您的雅虎帐户也指定为信封发件人,并查看邮件是否通过。如果是这样,您可以简单地在/etc/nullmailer/allmailfrom
文件中指明该地址,以便nullmailer
无论如何都始终使用该地址作为信封发件人。
请注意,“信封发件人”可能与From:
实际邮件中的标头不同,因此您能发送一条“显然”来自[email protected]
邮件呈现的消息-用户- 代理报告From:
标头,即使它已[email protected]
作为信封发件人发送。 (也就是说,您可以使这两个地址不同除非雅虎的自己的政策要求他们平等......)。
一般来说,AFAICT 这种情况看起来像是您需要向雅虎客户服务询问,以便了解全部这精确的使用与该帐户关联的电子邮件服务的限制,以便了解如何指示nullmailer
。
答案2
我没有配置nullmailer
,但我做了配置雅虎postfix
, 和使用 Gmail。您可能忽略的一件事是 Yahoo(以及 Gmail)需要一个应用密码对于不使用其登录方法的应用程序。 (来源1,2)。
一旦你生成了应用密码,您应该在 的配置中使用它nullmailer
。目前我还没有找到这方面的信息。最有可能的是,无论您在哪里使用雅虎邮件帐户密码,都只需使用此密码即可。
PS:我没有找到任何关于nullmailer
gmail 的具体参考,只有边际评论在此输入链接描述和这里。
有关的。
编辑:现在我意识到您问了另一个问题,所以您很可能已经考虑到了这一点。出于好奇,这是否与您postfix
工作的系统相同?