我在 FreeBSD 上运行 OpenSMTPD 来接收和发送电子邮件。我接受来自多个不同顶级域的电子邮件,也从多个不同的顶级域发送电子邮件(在同一台服务器上托管不同的服务)。现在,当我的应用程序发送电子邮件时,外发服务器主机名将被正确设置,因为应用程序电子邮件库通常根据参数值设置主机名from
(例如,如果from
指定为,[email protected]
则外发电子邮件将具有example.org
其主机名)。
但是现在,当系统尝试发送电子邮件(或以非特权用户身份通过 sendmail 发送电子邮件)时,服务器主机名将被用作主机名。然而,这并不正确(甚至不是真实的域名),并且不适用于 DKIM 签名。
我可以在其中看到/var/log/maillog
与以下类似的错误:
Jul 30 14:41:38 myserver smtpd[79549]: 0000000000000000 mta delivery evpid=755a2abf780a7383 from=<root@myserver> to=<root@myserver> rcpt=<-> source="-" relay="myserver" delay=2d10h46m40s result="TempFail" stat="No MX found for domain"
myserver
服务器值在哪里hostname
。to
这里并不重要,因为我应该能够将其添加myserver
到 中/etc/mail/domains
并在 中使用它smtpd.conf
,但是我想from
根据发送电子邮件的用户进行控制。例如,当非特权用户john
发送电子邮件时,它将被设置为[email protected]
自动。
有没有办法通过 OpenSMTPD 配置以某种方式指定如何根据字段确定传出服务器主机名from
?
答案1
如果我理解正确的话,您是在尝试根据用户名进行控制。对吗?您如何控制使用哪个域名?例如,smtpd 实际上使用哪个域名从该域名的正确 IP 地址发送邮件,而不是您也支持的其他域名?
这就是我遇到的问题,我不知道如何强制 OpenSMTPD 从与发送域匹配的正确 IP 地址发送。不是用户名,如 john 和 mary,而是域名,如 example.com example.org。
我现在有这个问题[电子邮件保护]邮件列表。如果您想在那里提问,这将是一个绝佳的机会。如果您想暂时[电子邮件保护],将您的问题添加到我的问题中或添加新主题。如果您不想直接在那里发帖,请更清楚地说明您的问题,我会将其转发到您的列表中。