Java 中的国际实习地址
International InternedAddress in Java
我有问题。我正在使用 java class javax.mail.internet.InternetAddress 通过 SMTP 解析和发送电子邮件,我无法更改 class(应该使用它)。问题是我想允许用户插入国际电子邮件地址(带有本地符号),这与 RFC 6531 和 RFC 6532 一致。但是 java InternetAddress 不接受此类电子邮件。
我的问题有解决方案吗?
谢谢。
把你的代码改成这个。
import javax.mail.internet.*;
InternetAddress email = new InternetAddress();
System.out.println(email.parse("\"großer@gtdf.com\""));
虽然这几乎是这种情况的解决方法。我认为唯一好的解决方案是等待 java 团队更新 InternetAddress
class 以便能够支持国际电子邮件地址。由于目前只支持RFC822
Java 邮件终于在 1.6 版本中支持 RFC 6531 和 RFC 6532
https://community.oracle.com/thread/4049399
如果您使用的是 maven ...
<properties>
<java.mail.version>1.6.1</java.mail.version>
</properties>
...
<dependency>
<groupId>javax.mail</groupId>
<artifactId>javax.mail-api</artifactId>
<version>${java.mail.version}</version>
</dependency>
<dependency>
<groupId>com.sun.mail</groupId>
<artifactId>javax.mail</artifactId>
<version>${java.mail.version}</version>
</dependency>
我有问题。我正在使用 java class javax.mail.internet.InternetAddress 通过 SMTP 解析和发送电子邮件,我无法更改 class(应该使用它)。问题是我想允许用户插入国际电子邮件地址(带有本地符号),这与 RFC 6531 和 RFC 6532 一致。但是 java InternetAddress 不接受此类电子邮件。 我的问题有解决方案吗?
谢谢。
把你的代码改成这个。
import javax.mail.internet.*;
InternetAddress email = new InternetAddress();
System.out.println(email.parse("\"großer@gtdf.com\""));
虽然这几乎是这种情况的解决方法。我认为唯一好的解决方案是等待 java 团队更新 InternetAddress
class 以便能够支持国际电子邮件地址。由于目前只支持RFC822
Java 邮件终于在 1.6 版本中支持 RFC 6531 和 RFC 6532
https://community.oracle.com/thread/4049399
如果您使用的是 maven ...
<properties>
<java.mail.version>1.6.1</java.mail.version>
</properties>
...
<dependency>
<groupId>javax.mail</groupId>
<artifactId>javax.mail-api</artifactId>
<version>${java.mail.version}</version>
</dependency>
<dependency>
<groupId>com.sun.mail</groupId>
<artifactId>javax.mail</artifactId>
<version>${java.mail.version}</version>
</dependency>