如何在家用计算机上配置 nullmailer 以使用 yahoo 作为中继主机?

如何在家用计算机上配置 nullmailer 以使用 yahoo 作为中继主机?

我想开始使用nullmailer(版本 1:2.2-3,根据)将我的家用台式计算机(Debian buster)上运行的dpkg-query程序(特别是 )生成的任何电子邮件转发到我的个人雅虎地址。cron

我的家用台式计算机通过 ISP (Xfinity) 连接到互联网,并且没有 FQDN。换句话说,当我运行hostname --fqdn它时,输出是一个不包含句点的字符串。 (出于这个问题的目的,我们假设这个输出只是XXMYBOXXX1。)

因此,我想配置nullmailer为通过外部中继主机(即smtp.mail.yahoo.com.

这是我到目前为止所尝试过的(没有成功)。

我将/etc/nullmailer/adminaddr/etc/nullmailer/defaultdomain文件留空,并将以下内容放入/etc/remotes文件中(对全部大写的一些修订进行取模,以及前导和尾随XX2

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:我没有找到任何关于nullmailergmail 的具体参考,只有边际评论在此输入链接描述这里

有关的

  1. https://blog.edmdesigner.com/send-email-from-linux-command-line/

编辑:现在我意识到您问了另一个问题,所以您很可能已经考虑到了这一点。出于好奇,这是否与您postfix工作的系统相同?

相关内容