我正在尝试配置 exim 通过 Office 365 帐户中继邮件。我可以找到很多通过 postfix 执行此操作的示例,但几乎没有关于 exim 的示例。
这有可能吗?我们的想法是在我们的 LAN 上安装一个 exim,打印机、传真机、交换机和其他杂项应用程序可以连接到该网络并上传邮件。然后,Exim 将通过预定义的 O365 帐户转发这些邮件。
谢谢你,
m^e
答案1
您需要一个smarthost_auth
路由器(您可以为其编造任何名称),在routers
部分中(即以 开头的部分begin routers
);顺序很重要,并查看应如何将所有邮件发送到 O365 服务器,将其放在路由器的顶部:
smarthost_auth:
debug_print = "R: smarthost for $local_part@$domain"
driver = manualroute
domains = ! +local_domains
transport = smtp_smarthost_auth
route_list = * o365server.example.com byname
host_find_failed = defer
same_domain_copy_routing = yes
no_more
你可以用if替换该domains
行domains = *
全部邮件必须发送到 O365 服务器;在行中输入该服务器的正确主机名route_list
。
然后您需要这个传输(我再次选择了名称,如果您愿意,可以更改它);将其放在以 开头的部分begin transports
,顺序并不重要:
smtp_smarthost_auth:
debug_print = "T: remote_smtp_smarthost for $local_part@$domain"
driver = smtp
hosts_require_auth = *
最后,您需要一个适当的身份验证器,位于行之后begin authenticators
。假设您的配置中已经有cram_md5
,plain
和login
节。例如像这样:
cram_md5:
driver = cram_md5
public_name = CRAM-MD5
client_name = MyName
client_secret = MySecret
fixed_plain:
driver = plaintext
public_name = PLAIN
client_send = ^MyName^MySecret
fixed_login:
driver = plaintext
public_name = LOGIN
client_send = : MyName : MySecret
当然替换MyName
和MySecret
。