如何解析和规范符合RFC 5322的电子邮件地址到其组件(“John Smith”,john.smith + tag,(comment),domain)?

时间:2013-09-11 05:23:58

标签: java email-address

获得验证部分。

只是想将电子邮件解析为其组件。

假设电子邮件有效......

我可以向后看第一个“@”,之后的所有内容都是域名吗?

然后向后看一个空格,之后的所有内容都是电子邮件地址减去引用名称?

2 个答案:

答案 0 :(得分:4)

为什么在完成工作的时候自己解析(并冒险弄错)?

Mime4j 库(http://james.apache.org/mime4j/)包括(与处理电子邮件相关的许多其他内容)AddressBuilder类,其中包含解析电子邮件地址的方法(包括组和个人)邮箱,以及它们可能出现在电子邮件标题中的地址列表)到表示它们的对象(Address类及其子类的实例,GroupMailbox)。返回的对象具有提供对每个地址的各个组件(本地部分,域,人类可读名称等)的访问的方法。

AddressBuilder课程的Javadoc可在此处找到:http://james.apache.org/mime4j/apidocs/org/apache/james/mime4j/field/address/AddressBuilder.html

答案 1 :(得分:0)

是的,如果地址符合RFC 822,则只有一个@符号,您可以在其上拆分以确定本地部分和域。 See RFC 2822, section 3.4.1.