如何configurationexim4允许井号(哈希)成为电子邮件地址的一部分?

看来,exim4拒绝接收发送到“#[email protected]”的电子邮件,这些在Exchange环境中相当普遍。

我如何configurationexim4以允许邮件地址中的散列符号。

说明:是的,我知道RFC不允许使用#号,但是我坚持使用exim4过滤function来删除某些服务器生成的某些消息,然后再将这些消息发送到企业Exchange服务器。

在这一刻,这似乎是不可能的,所以我提出了一个错误: http : //bugs.exim.org/show_bug.cgi?id=1465

仍然有一个解决方法

如果你有拆分configuration,编辑30_exim4-config_check_rcpt并注释下面的行:

 # .ifdef CHECK_RCPT_REMOTE_LOCALPARTS # deny # domains = !+local_domains # local_parts = CHECK_RCPT_REMOTE_LOCALPARTS # message = restricted characters in address # .endif 

如果您有任何关于修复此问题的兴趣,请将您的投票/评论添加到此错误中。

电子邮件地址中的#不符合RFC822(参见http://tools.ietf.org/html/rfc822#section-6.1 )。 所以exim在拒绝这个地址方面做得很好。

散列(#)在电子邮件地址的本地部分是完全合法的。 RFC 5321针对primefaces的定义引用了RFC5322:

3.2.3。 Atom atext = ALPHA / DIGIT /; 可打印的US-ASCII“!” /“#”/; 不包括“$”/“%”/; 特价商品。 用于primefaces。 “&”/“'”/“*”/“+”/“ – ”/“/”/“=”/“?” /“^”/“_”/“`”/“{”/“|” /“}”/“〜”

所有这些字符在电子邮件地址的左侧是合法的。 Exim的默认configuration阻止使用这些字符中的一部分,因为如果Exim要将邮件保存到为地址的本地部分命名的邮箱,它们是不安全的。 但是,它并不妨碍使用散列字符。

默认configuration使用这些ACL:

deny message =地址域中的限制字符= + local_domains local_parts = ^ [。]:^。 [@%/ |!]
deny message =地址域中的限制字符=!+ local_domains local_parts = ^ [./ |]:^。 [@%!]:^。* / \。\ ./

这不是Exim错误,但它可能是某些第三方发行版的默认configuration中的错误。