雅加达邮件-无法将电子邮件地址发送到具有空格的通讯组列表- Java



我无法发送以下格式的电子邮件

MA NA US error@hub.wmmercer.com

InternetAddress[] mailtoArr = new InternetAddress[str.length];
for loop {
mailtoArr[i] = new InternetAddress((str[i].trim()));
}

给出如下例外:

javax.mail.internet.AddressException: Illegal whitespace in address in string ``#MA NA US error@hub.wmmercer.com''
    at javax.mail.internet.InternetAddress.checkAddress(InternetAddress.java:900)
    at javax.mail.internet.InternetAddress.parse(InternetAddress.java:793)
    at javax.mail.internet.InternetAddress.parse(InternetAddress.java:529)
    at javax.mail.internet.InternetAddress.<init>(InternetAddress.java:65)

谁来帮帮我。

您必须使用javax.internet.MimeUtility.quote(String,String)引用地址。下面是一个例子:

public class DontQuoteMeOnIt {
    private static final String SPECIALS_NO_DOT = "()<>,;:\"[] t";
    public static void main(String[] args) throws Exception {
        String s = "MA NA US error@hub.wmmercer.com";
        s = MimeUtility.quote(s, SPECIALS_NO_DOT);
        System.out.println(InternetAddress.parse(s, true)[0]);
    }
}

最新更新