问题是这样的:我正在使用第三方电子邮件传递服务,该服务不接受名称部分中包含非ASCII字符的邮件地址,例如müller@example.com。
用Punycode编码这样的地址:
http://en.wikipedia.org/wiki/Punycode
http://idnaconv.phlymail.de/index.php?decoded=m%C3%BCller%40example.com&idn_version=2008&encode=Encode+%3E%3E&lang=de
产生此地址:
xn--mller-kva@example.com
通过该服务向它发送邮件似乎可行。
但是,我不确定是否有人无法直接注册“xn--mller-kva@example.com”,从而收到意为“müller@example.com”的电子邮件。
这有可能发生冲突吗?还有其他解决方案吗?
更新
感谢您的回答。这是我们学到的总结:
最佳答案
做了一些测试..本地的变音符在某些设置下似乎可以正常工作。我的MUA(爪子),出站中继( import/export )或接收的MTA(后缀)都没有提示,也没有进行任何punycode转换。像gmail和hotmail这样的提供商却根本不允许变音符号(经过测试的网络邮件以及直接的传入和传出smtp)。我没有找到任何有关这种情况的文档,建议对本地部件进行punycoding.so,因为没有文档记录,也没有人这样做,所以没有冲突问题:-)
结论:首先,您可能不应该在本地接受变音符号,甚至不要尝试向这些地址发送电子邮件。 (如果大型企业不这样做,并且RFC没有对此文件进行记录/支持,为什么要这么做?)
关于email - punycode编码的电子邮件地址可以与 "real"地址冲突吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7497468/