我通常在我的 Debian 机器上通过 GMail 或 Google Apps 配置exim4
和bsd-mailx
发送邮件。我使用非常简单的mail sent by smarthost; no local mail
Exim 配置。我总是mailx
使用以下命令进行测试:
/usr/bin/mailx -s "testing" "[email protected]" <<< "testing."
sudo exim4 -qff -v
但是,我在命令行上指定的收件人现在似乎被忽略了,特别是当我使用不同的智能主机时。我从上述命令中得到以下输出:
LOG: queue_run MAIN
Start queue run: pid=25326 -qff
delivering 1ZHzbA-0006a6-2w (queue run pid 25326)
LOG: MAIN
Unfrozen by forced delivery
R: smarthost for me@example
T: remote_smtp_smarthost for me@example
Connecting to [removed]:25 ... connected
SMTP<< 220 *******************************************************************
SMTP>> EHLO example.localnet
SMTP<< [removed] Hello example.localnet [removed], pleased to meet you
250-SIZE 100000000
250-PIPELINING
250-8BITMIME
250 XXXA
SMTP>> MAIL FROM:<> SIZE=2266
SMTP>> RCPT TO:<me@example>
SMTP>> DATA
SMTP<< 250 Sender <> OK
SMTP<< 550 No such domain at this location
SMTP<< 503 Bad sequence of commands
SMTP>> QUIT
LOG: MAIN
** me@example R=smarthost T=remote_smtp_smarthost: SMTP error from remote mail server after RCPT TO:<me@example>: host [removed]: 550 No such domain at this location
LOG: MAIN
Frozen (delivery error message)
LOG: queue_run MAIN
End queue run: pid=25326 -qff
RCPT TO
请注意我尝试指定的收件人地址与实际使用的地址之间的差异。作为可能发生的情况的提示,该命令mailx -s "test"
将给出以下错误:
mailx: You must specify direct recipients with -t when -s, -c, or -b is used
然而,bsd-mailx 的联机帮助页没有提及该-t
开关,也不表示使用该-s
开关会影响命令的行为。
我可能可以弄清楚如何让它与开关一起工作-t
,但我想知道是否有可能让它按照我习惯的方式工作。有什么建议么?
答案1
没有-t
选项bsd-mailx
,它是一个错误关于该错误消息。您可以将收件人地址作为简单参数传递给mailx
.
我想您看到的是退回邮件的投递失败:通知发件人之前发送的邮件发生投递失败的邮件。
您的第一封邮件必须是由本地 exim 发送的,从me@example
(example
是主机名?)到[email protected]
(您用 指定mailx
),但它被智能主机拒绝(退回),因此从<>
到 的退回邮件me@example
是由本地 exim 新编写和发送的,那么它也被智能主机拒绝(双弹)。
检查您的智能主机的发送日志(/var/log/mail.log
?)及其配置。它是否配置为接受或转发邮件到[email protected]
?