我已经阅读了关于这个[1]的Exim文档,我并没有真正得到我应该做的事情(似乎期望读者已经知道要更改哪些文件以及某些指令的作用).从’09开始还有一个similar question,我无法分辨哪些(如果有的话)解决方案适用于我的情况或需要使用建议的行修改哪些文件.
TBH,如果有一个非常简单的方法可以在没有Exim的情况下执行此操作,我会感到高兴,这与我已经设置的方式通过Exim发送电子邮件不会发生冲突.我已经尝试修改/ etc / aliases无济于事.
您可能会告诉我,配置MTA非常新…请提前感谢.
首先,你在/ etc / aliases中放置的格式应该是:
admin: me@gmail.com
您不需要在exim系统上运行newaliases,它只是作为期望更“类似sendmail”环境的应用程序的兼容层提供的. Exim在第一次读取它时会直接扫描/ etc / aliases文件的内容并缓存结果,如果有的话,记住它以便后续查找.它实际上并不像sendmail那样使用/etc/aliases.db文件.
编辑/ etc / aliases时,可以测试如何从命令行处理地址.在第一个示例中,我的系统未配置为处理管理员别名.它抱怨它不知道如何通过将其描述为无法传递来处理该地址:
[todd@tlyons /etc/exim4]$grep admin /etc/aliases [todd@tlyons /etc/exim4]$exim -bt admin@localhost R: system_aliases for admin@localhost admin@localhost is undeliverable
在第二个示例中,我的系统已正确配置为处理管理员别名.说明如下:
[todd@tlyons /etc/exim4]$grep admin /etc/aliases admin: me@gmail.com [todd@tlyons /etc/exim4]$exim -bt admin@localhost R: system_aliases for admin@localhost R: dnslookup for me@gmail.com me@gmail.com <-- admin@localhost router = dnslookup,transport = remote_smtp host gmail-smtp-in-v4v6.l.google.com [2001:4860:b007::1a] MX=5 host gmail-smtp-in.l.google.com [173.194.79.27] MX=5 host gmail-smtp-in-v4v6.l.google.com [209.85.225.27] MX=5 host alt2.gmail-smtp-in.l.google.com [74.125.45.27] MX=20 host alt3.gmail-smtp-in.l.google.com [173.194.66.27] MX=30 host alt4.gmail-smtp-in.l.google.com [173.194.65.27] MX=40
第一个R:line是一个调试输出行,表示它正在使用“system_aliases”路由器处理电子邮件地址.它没有出来直接说出来,但确实在system_aliases路由器中找到了“admin”,并将其“扩展”为“me@gmail.com”.一旦exim将地址扩展到其他东西(或多个东西),它会通过路由器重新运行每个地址,寻找匹配.在上面的示例中,它通过路由器运行me@gmail.com地址并匹配“dnslookup”路由器.这意味着它确定需要使用SMTP将其发送到远程邮件服务器.其中一部分是查找gmail.com的MX记录,它已经显示并显示给你,看看它将如何尝试传递该邮件.
因此,要回答原始问题,您可能只是错误地输入了/ etc / aliases中的数据.左侧只是本地部分(即user@domain.com中的“user”),后跟冒号(:),后跟空格或制表符,后跟电子邮件地址(或逗号连接的电子邮件地址)交付给它.您不能将完整的电子邮件地址作为左侧(冒号前).