解决Java代码中调用sendMail方法出现的javax.mail.internet.AddressException: Illegal address in string 错误
出现这样的错误首先检查要发送邮件所需要的邮箱用户是否开启校验码
一,以QQ邮箱为例
开启后再将用户地址和校验码正确写到相应位置
/**
* 发邮件工具类
*/
public final class MailUtils {
private static final String USER = "22465093272@qq.com"; // 发件人称号,同邮箱地址
private static final String PASSWORD = "************"; // 如果是qq邮箱可以使户端授权码,或者登录密码
注意这个地方如果是qq邮箱,就填写qq
public static void main(String[] args) throws Exception { // 做测试用
MailUtils.sendMail("2246509327@qq.com","你好,这是一封测试邮件,无需回复。","测试邮件");
System.out.println("发送成功");
}
二,以163邮箱为例
同理需要打开校验码用于第三方使用
/**
* 发邮件工具类
*/
public final class MailUtils {
private static final String USER = "rtq_1314@163.com"; // 发件人称号,同邮箱地址
private static final String PASSWORD = "***********"; // 如果是qq邮箱可以使户端授权码,或者登录密码
public static void main(String[] args) throws Exception { // 做测试用
MailUtils.sendMail("rtq_1314@163.com","你好,这是一封测试邮件,无需回复。","测试邮件");
System.out.println("发送成功");
}