我可以使用 bsd-mailx 和 Debian 8 指定命令行收件人吗?

我可以使用 bsd-mailx 和 Debian 8 指定命令行收件人吗?

我通常在我的 Debian 机器上通过 GMail 或 Google Apps 配置exim4bsd-mailx发送邮件。我使用非常简单的mail sent by smarthost; no local mailExim 配置。我总是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@exampleexample是主机名?)到[email protected](您用 指定mailx),但它被智能主机拒绝(退回),因此从<>到 的退回邮件me@example是由本地 exim 新编写和发送的,那么它也被智能主机拒绝(双弹)。

检查您的智能主机的发送日志(/var/log/mail.log?)及其配置。它是否配置为接受或转发邮件到[email protected]

相关内容