表情符号域名和非拉丁域名上的邮箱地址
邮件服务器说的是 ASCII。它们一直都是这样——这个协议比「域名里也许会有别的字符」 这个念头本身还要老。所以 🎅.example 或者 пошта.укр 上的地址 没法照着字面在网络上传输;它是以一种被翻译过的形式传输的,那种形式叫 punycode。 关于这类域名的一切,都是从这一点推出来的。
这个翻译是怎么做的
Punycode 把任意 Unicode 名字编码成一串以 xn-- 开头的纯 ASCII 字符。 它是可逆的,也是唯一的——同一个表情符号永远得到同一串字符。
| 你输入的 | 实际传输的 |
|---|---|
| 🎅 | xn--8j8h |
| пошта | xn--80adcxbmm |
punycode 转换器 两个方向都能转。你会用到它两次:一次是弄清楚该拿什么去注册商那里搜, 另一次是某个地方要你把地址写成 ASCII 的时候。

注册它:通常被略过的那部分
⚠️
大多数注册局根本不允许表情符号。 常见的后缀——
.com、.net、.org 以及几乎所有国家后缀——一概拒收。允许的注册局只有寥寥几家, 而且这几家还会变。付钱之前先去查那个具体后缀的规则: 注册商会很乐意收下一笔订单,然后注册局把这个名字退回来。非拉丁文字则是另一回事,而且容易得多。西里尔文、希腊文、阿拉伯文、中文等等的 国际化域名,很多注册局都支持,用起来和普通域名没有区别——punycode 的翻译是同一套, 只是不必去说服谁允许它。
然后把它指到这里
域名注册好之后,它和别的域名一样,只需要同一条 MX 记录—— 具体的值在这里。 你的注册商面板接受哪种写法,就按哪种填:有的显示 Unicode 名字,有的显示 xn-- 形式,两者是同一个意思。
这类地址会在哪里失灵,以及怎么办
它们在邮件里能用,在表单里会栽跟头。写注册校验的人默认域名长得像 example.com,所以一个表情符号地址经常被从没考虑过它的软件判成「无效」。
绕开的办法就是 punycode 形式本身:填 name@xn--8j8h.example,而不是那个好看的版本。它是同一个地址—— 反正邮件服务器两种写法看到的都是它——但它能通过那些只认识 ASCII 的校验。 老手机和老邮件客户端把好看的形式显示成方框,是同一个问题,也用同一个办法。
ℹ️
拿定主意之前值得知道:表情符号域名是个漂亮的花招, 却是个糟糕的默认选项。如果这个地址身上有正事要办——去那些不归你管的服务那里接验证码—— 那么一个平淡无奇的域名被拒的次数会少得多。