Java 爪哇国际互联网地址

Java 爪哇国际互联网地址,java,jakarta-ee,jakarta-mail,email-validation,Java,Jakarta Ee,Jakarta Mail,Email Validation,我有个问题。我使用java类javax.mail.internet.InternetAddress通过SMTP解析和发送电子邮件,我不能更改类(应该使用它)。问题是我想允许用户插入国际电子邮件地址(带有本地符号),这与RFC6531和RFC6532一致。但java InternetAddress不接受此类电子邮件。 我的问题有解决办法吗 谢谢。将您的代码更改为此 import javax.mail.internet.*; InternetAddress email = new Interne

我有个问题。我使用java类javax.mail.internet.InternetAddress通过SMTP解析和发送电子邮件,我不能更改类(应该使用它)。问题是我想允许用户插入国际电子邮件地址(带有本地符号),这与RFC6531和RFC6532一致。但java InternetAddress不接受此类电子邮件。 我的问题有解决办法吗


谢谢。

将您的代码更改为此

import javax.mail.internet.*; 

InternetAddress email = new InternetAddress();
System.out.println(email.parse("\"großer@gtdf.com\""));

虽然这在很大程度上是一个解决这个问题的方法。我认为唯一好的解决方案是等待java团队更新
InternetAddress
类,以便能够支持国际电子邮件地址。由于目前只支持

Java mail最终支持版本为1.6的RFC 6531和RFC 6532

如果您正在使用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>

1.6.1
...
javax.mail
javax.mail-api
${java.mail.version}
com.sun.mail
javax.mail
${java.mail.version}

您已经尝试了什么?什么都没有。我没有任何想法:D我不能使用正则表达式,因为我需要这个类来显示你的代码,通常utf-8应该可以工作。它不适用于本地符号,如ä、ö、ś等。我正在使用该方法。您是否尝试将strict设置为false?如果您对使用此支持测试JavaMail 1.6.0版本感兴趣,请通过JavaMail与我联系_ww@oracle.com.