当前位置:  开发笔记 > 编程语言 > 正文

如何将格式化的电子邮件地址解析为显示名称和电子邮件地址?

如何解决《如何将格式化的电子邮件地址解析为显示名称和电子邮件地址?》经验,为你挑选了1个好方法。

给出电子邮件地址:"Jim"

如果我尝试将此传递给MailAddress,我会得到异常:

指定的字符串不是电子邮件地址所需的格式.

如何在C#中将此地址解析为显示名称(Jim)和电子邮件地址(jim@example.com)?

编辑:我正在寻找解析它的C#代码.

EDIT2:我发现MailAddress抛出了异常,因为我在电子邮件地址字符串的开头有一个空格.



1> Brannon..:

如果您希望手动解析电子邮件地址,则需要阅读RFC2822(https://tools.ietf.org/html/rfc822.html#section-3.4).第3.4节讨论了地址格式.

但正确解析电子邮件地址并不容易,MailAddress应该能够处理大多数情况.

根据MSDN文档MailAddress:

http://msdn.microsoft.com/en-us/library/591bk9e8.aspx

它应该能够解析具有显示名称的地址.他们举"Tom Smith "了一个例子.也许报价是问题?如果是这样,只需删除引号并使用MailAddress解析其余部分.

string emailAddress = "\"Jim\" ";

MailAddress address = new MailAddress(emailAddress.Replace("\"", ""));

如果可以避免,手动解析RFC2822是不值得的.


也许它有助于某人,我不得不使用它与这个微小的区别因为它不接受空char,因为char类型的每个可能值都是一个字符长.`MailAddress address = new MailAddress(emailAddress.Replace("\"",""));`
推荐阅读
小色米虫_524
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有