这似乎是一个常见问题,但我遇到的所有解决方案似乎都不起作用。我正在使用 Ubuntu 18.04 LTS 和 mailutils / postfix。我的 /etc/postfix/main.cf 如下所示:
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
biff = no
append_dot_mydomain = no
readme_directory = no
compatibility_level = 2
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
myhostname = mydomain.com
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = $mydomain
mydestination = $myhostname, localhost
relayhost =
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = loopback-only
inet_protocols = all
我的 /etc/aliases 有以下条目:
root: [email protected]
答案1
Postfix 不发送邮件。
它将邮件传输到其他服务器并从其他服务器接收邮件。
发件人由邮件用户代理指定,而不是邮件传输代理。在您使用的任何软件中设置您想要的发件人发送将电子邮件发送至 Postfix 进行处理。
对于 mailutils 的mail
命令,man mail
建议阅读:
from 放入消息头的“发件人:”字段的地址(或地址列表)。如果回复消息,这些地址将被视为在备用列表中。如果计算机的主机名在 Internet 上无效(例如在拨号计算机上),则必须设置此变量或主机名以获取正确的 Message-ID 头字段。如果 from 包含多个地址,还必须设置 sender 变量。
尝试测试如何设置发送者。mail -a FROM:[email protected] [email protected]
如果你真的想在错误的地方解决这个问题,你可以看看如何Postfix 可以重写电子邮件地址. Masquerade 可能就是你想要的:
masquerade_domains = example.com
应该删除foo.example.com
。example.com
但请不要走这条路。从源头解决问题;将电子邮件发送到 Postfix 的 MUA。