如何让 postfix 从而user@mydomain
不是发送电子邮件root@hostname
?即使在它询问时安装并输入我的域后,它仍然使用主机名而不是我提供的域发送。在我的main.cf
文件中
myorigin = /etc/mailname
Run Code Online (Sandbox Code Playgroud)
并/etc/mailname
包含:
gateblogs.com
Run Code Online (Sandbox Code Playgroud)
这是我的域。
我设法通过将我的主机名更改为我的域名来暂时解决我的问题。但是,我如何更改电子邮件的来源;当前邮件显示为root
我希望它是别的东西。
小智 21
有相同的请求,终于在这里找到并回答 (会将其标记为重复)
askubuntu 的用户 Rustyx 回答了这个问题:
要在 Mailutils 中使用主机名以外的本地域:
/etc/mailutils.conf
创建一个包含以下内容的文件:Run Code Online (Sandbox Code Playgroud)address { email-domain somedomain.com; };
您可以查看还可以配置哪些内容
mailutils.conf
:Run Code Online (Sandbox Code Playgroud)$ mail --config-help
如果您觉得他的回答对您有帮助,请花点时间给他点赞。
小智 10
这个问题已经有五年了,但我只需要设置它。
问题:
我有一个 root@myserver 需要转发到我的 Office365。这要求我在服务器上的传出电子邮件始终将 FROM 设置为我的 356 帐户。
换句话说,当root@myserver
发送电子邮件时,FROM 必须重写为myaccount@myoffice356domain.com
.
回答:
这种重写可以通过/etc/postfix/generic
文件来处理。
在 postfix/main.cf 中添加以下内容
smtp_generic_maps = hash:/etc/postfix/generic
Run Code Online (Sandbox Code Playgroud)
然后创建一个/etc/postfix/generic
如下文件并根据需要添加其他用户。
root@localdomain myaccount@myoffice356domain.com
@localdomain myaccount@myoffice356domain.com
root@myserver myaccount@myoffice356domain.com
userA@myserver myaccount@myoffice356domain.com
Run Code Online (Sandbox Code Playgroud)
运行 Postmap 并重新启动
sudo postmap /etc/postfix/generic
sudo systemctl restart postfix
Run Code Online (Sandbox Code Playgroud)
所有来自 和 的传出电子邮件root@myserver
将userA@myserver
自动将 FROM SMTP 字段作为 发送myaccount@myoffice356domain.com
。
Postfix 本身不会“设置”邮件的发件人地址(只要您还没有真正调整 postfix 配置)。
电子邮件的发件人地址标头由邮件客户端设置,它要求 postfix 传递邮件(Postfix 是一个MTA)。
因此,您看错了地方-据我了解您的问题。
您提到您正在使用该mail
命令来测试您的配置。这个简洁的小命令 - 默认情况下 - 使用执行命令的系统用户名。在您的情况下,这似乎是 user root
。尝试mail
以不同的用户身份执行,您会看到 from 部分发生了变化。
并且由于该命令mail
默认情况下不会将域部分附加到它交给 postfix 的邮件的“发件人”标题中,因此 postfix 会myorigin
自动将该部分附加到root
.
虽然mail
不限制您不使用其他一些“发件人”电子邮件标头。您可以在 www 或 的手册页mail
上阅读有关信息。还可以考虑使用sendmail
.
请注意,在可配置性方面,postfix 是一头野兽。如果你真的了解它的架构和配置文件,你几乎可以完成你想要 postfix 做的所有事情。
但是,既然你问的是一个相当“新手”的问题,你可能还不想走那条路......
归档时间: |
|
查看次数: |
61265 次 |
最近记录: |