警告 mutt 中不存在的别名

警告 mutt 中不存在的别名

我使用 mutt 别名来缩写收件人名称(例如,jdoe定义为 的别名[email protected])。但是,如果我输错了别名(例如,jdeo),mutt 不会警告我该别名不存在。相反,它使用$hostname变量自动完成此操作,例如,如果我的计算机有主机名,foo.mydomain.net则虚假别名将被替换为[email protected].这从来都不是我打算做的。

因此,如果我错误输入别名,我不会收到任何警告,并且我必须希望在发送邮件时,远程 SMTP 会拒绝它(“本地收件人表中的用户未知”)或向我发送邮件状态通知...这并不理想,我已经搞砸了好几次了。

相反,我希望 mutt 警告我不存在的别名,即,如果我键入不包含“@”并且不是已知别名的收件人,那么 mutt 应该抱怨并拒绝发送邮件。

是否可以配置 mutt 来警告不存在的别名?我无法找到相关的配置选项。我也尝试设置$hostname为空字符串,但随后 mutt 很高兴地联系远程 SMTP 并尝试将邮件发送到“jdeo”。

答案1

通过设置use_domain设置为 false,您可以确保不对应于别名的地址不会使用域名进行扩展(因此它们保持原样,例如“jdeo”)。在这种情况下,Mutt 仍会尝试发送邮件,但至少远程 SMTP 服务器会将他们解释为本地用户,这样他们就有机会抱怨。在这种情况下,mutt 将报告一个可见的错误 ( SMTP session failed: 550 5.1.1 <aoeu>: Recipient address rejected: User unknown in local recipient table) 并给你一个修复错误的机会。

这比设置为 true 好得多use_domain,因为在这种情况下“jdeo”会扩展为“[电子邮件受保护]",并且远程 SMTP 不会抱怨。

设置use_domain为 true 并不能完美解决我的问题,因为它依赖于远程 SMTP 的配合来在 SMTP 会话期间抱怨未知的本地收件人,并且不会捕获恰好对应于本地收件人的错误。也就是说,它已经足够好,并且比默认行为更能满足我的需求。

相关内容