我配置了一个新的 exim 安装,将每封邮件转发到外部 SMTP 提供商。我可以通过 smtp 连接测试中继是否运行良好。
现在我需要使用 sendmail(或类似的 exim 命令)通过相同的路由发送电子邮件。
从 CLI 命令的 main.log 中,我可以通过这种方式读取用户和主机名(与真实地址混淆):
exim -v -f [realusername@realdomain] [[email protected]] < /tmp/message
1egtHK-0002Eb-46 <= [email protected] U=ogio P=local S=357 M8S=0 from <[email protected]> for [[email protected]]
由于 exim 未使用 [realusername@realdomain],而是使用系统用户和主机名,因此中继表示无法传递消息。命令行中有什么问题?与 sendmail 的行为相同(但它是 exim 别名)。
有人能帮助我理解为什么这不起作用吗?
答案1
我想我解决了这个问题。用于发送电子邮件的用户不受信任,如 exim 手册页中的 -f 选项所述。
因此我在 exim.conf 中添加了以下行:
trusted_users = [local user to be trusted]
这解决了我的问题。希望这可以帮助其他人。