email - punycode编码的电子邮件地址可以与 "real"地址冲突吗?

标签 email punycode

问题是这样的:我正在使用第三方电子邮件传递服务,该服务不接受名称部分中包含非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”的电子邮件。

这有可能发生冲突吗?还有其他解决方案吗?

更新

感谢您的回答。这是我们学到的总结:

  • Punycoding电子邮件地址的本地部分有效,并且您可以从这样的编码地址发送和接收(当然)
  • 但是,不能完全保证提供商或邮件客户端会理解或自动进行编码。因此可能发生冲突,并且整个想法不是一个好主意:)
  • 根据规范
  • ,一个人应该简单地做其他人所做的事情,即不允许或接受非ASCII名称部分
  • 最后,事实证明,第三方服务仍然禁止这种欺骗手段。
  • 最佳答案

    做了一些测试..本地的变音符在某些设置下似乎可以正常工作。我的MUA(爪子),出站中继( import/export )或接收的MTA(后缀)都没有提示,也没有进行任何punycode转换。像gmail和hotmail这样的提供商却根本不允许变音符号(经过测试的网络邮件以及直接的传入和传出smtp)。我没有找到任何有关这种情况的文档,建议对本地部件进行punycoding.so,因为没有文档记录,也没有人这样做,所以没有冲突问题:-)

    结论:首先,您可能不应该在本地接受变音符号,甚至不要尝试向这些地址发送电子邮件。 (如果大型企业不这样做,并且RFC没有对此文件进行记录/支持,为什么要这么做?)

    关于email - punycode编码的电子邮件地址可以与 "real"地址冲突吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7497468/

    相关文章:

    laravel - 无法使用 SendGrid 中的 2 个可能的身份验证器使用用户名 "apikey"在 SMTP 服务器上进行身份验证

    url - 有什么方法可以避免为 IDN 域显示 "xn--"?

    java - Unicode 查询参数的 Punycode

    url - 浏览器为什么/如何决定 ☃.net 转到 xn--n3h.net

    php - Codeigniter SMTP 无法连接

    python - 通过邮件发送创建的绘图

    email - 向多个收件人发送电子邮件 - 最佳实践

    php - 电子邮件跟踪 - GMail

    nginx - Nginx server_name 中的 Unicode 域名

    php - 如何检查域名是否为 punycode?