msmtp 可以改写地址吗?

use*_*678 6 debian etc msmtp gmail

我正在尝试使用debianmsmtp 1.8.3/etc/aliases在 debian 上将我所有的系统电子邮件转发到我的 gmail 地址。它有效,但我从 gmail 收到错误。

当我发送电子邮件root(通过echo "hello world" | mail -s "forward me" root)时,我在 gmail 地址的收件箱中收到了 2 封电子邮件:

  1. 预期的转发电子邮件
  2. 以下消息来自 mailer-daemon@googlemail.com
Address not found
Your message wasn't delivered to root@backupbox because the domain backupbox couldn't be found. Check for typos or unnecessary spaces and try again.
The response was:

DNS Error: 5452395 DNS type 'mx' lookup of backupbox responded with code NXDOMAIN Domain name not found: backupbox
Run Code Online (Sandbox Code Playgroud)

显然,gmail 无法访问也就不足为奇了root@backupbox,因为从他们的角度来看,backupbox它不是一个完全合格的域名。然而我很惊讶,因为我将所有系统地址都别名为我的 gmail 地址。

这是我的 msmtp 配置:

# /etc/msmtprc
defaults
port 587
tls on
tls_trust_file /etc/ssl/certs/ca-certificates.crt
account gmail
host smtp.gmail.com
from me@gmail.com
auth on
user me
password xxxxxxxxxxxxxxxx
account default : gmail
aliases /etc/aliases
Run Code Online (Sandbox Code Playgroud)

这是我的系统别名

# /etc/aliases
default: me+backupbox@gmail.com
Run Code Online (Sandbox Code Playgroud)

如何确保只有第一封电子邮件到达我?例如,可以msmtp重写root@backupboxme@gmail.com?

chm*_*mac 0

是的,msmtp可以像这样重写地址。我的机器上有类似的设置

echo 'a test email' | msmtp root
Run Code Online (Sandbox Code Playgroud)

按预期工作。

也许问题出在+符号上。也许需要以某种方式来逃避。我建议在没有+测试的情况下尝试一下。尽管显然你的问题是 2019 年的,但你现在可能已经找到了另一种方法!