我可以在软件中设置电子邮件帐户,不是声称通过使用 punycode 域名来支持 IDN,但对于收件人来说,通常看起来是来自同一个 punycode 域。gmail.com 是个例外,它对域名进行解码,使其看起来合理。
当收件人看到原始的 punycode 时,这是谁的错?邮件头中是否缺少某些内容,表明应该对 punycode 进行解码,或者以其他方式指示应如何显示发件人地址?或者电子邮件是否应该使用 UTF-8 编码的域名而不是 punycode 发送?
或者是收件人的软件在显示 punycode 时没有自动解码的错误?
答案1
IDN Punycode 编码和解码完全由客户端软件负责,不依赖于特定标头。如果收件人看到原始 Punycode,那是因为他们的客户端软件决定以这种形式向他们显示。可能的原因如下:
- 客户端软件根本不支持解码punicode。
- 对 punycode 解码的支持是一个可配置选项,并且该选项被禁用。
- 出于安全原因,在特定情况下会抑制 Punycode 解码,以防止同形异义词攻击。