Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Email 是否可以为“添加另一个Unicode字符?”;“在标志处”;不更改所有电子邮件提供商后端的任何代码?_Email_Parsing_Unicode - Fatal编程技术网

Email 是否可以为“添加另一个Unicode字符?”;“在标志处”;不更改所有电子邮件提供商后端的任何代码?

Email 是否可以为“添加另一个Unicode字符?”;“在标志处”;不更改所有电子邮件提供商后端的任何代码?,email,parsing,unicode,Email,Parsing,Unicode,因此,假设出于某种原因,我们想为at符号添加另一个Unicode字符,并在所有电子邮件提供商中使用它而不是@ 现在我有三个问题: 电子邮件提供商如何解析电子邮件,他们是否真的解析书面电子邮件,直到他们看到@并且在解析器中硬编码了@符号的Unicode 不同的服务提供商是否具有不同标准的不同电子邮件解析器,或者是否存在每个电子邮件提供商都使用的标准类型的解析器库 是否可以添加另一个at符号并在电子邮件中使用,而无需更改所有电子邮件提供商的代码 是的,电子邮件地址使用硬连线的@字符进行解析。经过近五

因此,假设出于某种原因,我们想为at符号添加另一个Unicode字符,并在所有电子邮件提供商中使用它而不是@

现在我有三个问题:

  • 电子邮件提供商如何解析电子邮件,他们是否真的解析书面电子邮件,直到他们看到@并且在解析器中硬编码了@符号的Unicode

  • 不同的服务提供商是否具有不同标准的不同电子邮件解析器,或者是否存在每个电子邮件提供商都使用的标准类型的解析器库

  • 是否可以添加另一个at符号并在电子邮件中使用,而无需更改所有电子邮件提供商的代码


  • 是的,电子邮件地址使用硬连线的
    @
    字符进行解析。经过近五十年的电子邮件发展,现在有数以百万计的电子邮件处理程序,它们都使用相同的语法。所以你不能改变这个惯例,你的第二个和第三个问题是没有意义的。

    电子邮件地址由数十种不同的软件解析,而不仅仅是“电子邮件提供商”中的“电子邮件服务器”软件。即使是像电子邮件字段的客户端javascript高亮显示这样琐碎的事情——大约有数万个,也必须进行调整

    “@”本身不是字符类-因此,即使它是“unicode分隔符”的唯一“unicode字符类”,谁会编写代码来检查分隔符的字符类?你有没有这样做过,即使是过滤掉标点符号?(这是unicode字符分类的实际使用案例,即使是字符分类,在实际代码中也没有什么用处)

    当然,现在您可以自由编写电子邮件客户端代码,在向用户呈现电子邮件数据时将“@”表示为其他任何内容。在内部,如果该软件不使用“@”,即使是用于自己的用途,它也不会与世界上任何其他东西一起工作——从防病毒软件到基于文本的模板


    最后,这样的变化几乎与“unicode”本身无关——unicode可以标准化字符——但电子邮件协议是一件独立的事情——通常,保存为“RFC”的一系列文档是各种互联网协议的强制要求,包括IMAP、POP和SMTP——这三种协议用于使电子邮件工作。即使所有这些新的RFC都将以一个新的字符accept代替“@”,也可能需要十多年的时间,直到所有软件(如上所述)都足够兼容以使其能够使用。(是的,所有这些都必须改变)

    这太宽泛了,不清楚你为什么要问这个问题。完全用其他东西替换SMTP是不可行的,用几乎相同的东西替换它也毫无意义。这里的第一个谬误是假设电子邮件基础设施由一小部分可控制的“电子邮件提供商”拥有和运营。