javamail发送邮件问题

javamail 邮件发送工具类,解决 qq 邮箱服务器  发送失败问题

1、首先开启邮箱支持 smtp (开启方法,自行百度)

2、使用如下工具类 

注意: 此处的密码为 smtp 授权码,

     如果是 qq 邮箱服务器,必须要加下面的一段代码才能行,已经在下面标出 


public class SendJMail {


//发送邮件的 工具类,用于发送邮件的方法  
/**

* @param email  目标邮箱地址       例如:XXXX@qq.com  
* @param emailMsg  邮件内容     例如 : 我爱你中国 
* @return
* @throws Exception 
*/
public static boolean sendMail(String email, String emailMsg) throws Exception {

// 发送邮件的 邮箱地址
String from = "xxxx.qq.com";
String to = email;
final String username = "xxxx.qq.com";
// 这里使用的密码 要是  smtp 的授权码才行,
final String password = "xxxxxxx";
//定义Properties对象,设置服务器信息
Properties props = System.getProperties();
props.setProperty("mail.smtp.host", "smtp.qq.com"); 
props.setProperty("mail.smtp.auth", "true");
props.setProperty("mail.transport.protocol", "smtp");
/**
*  qq 邮箱服务器,需要添加如下代码才能正常使用 
*/
MailSSLSocketFactory sf = new MailSSLSocketFactory();
sf.setTrustAllHosts(true);
props.put("mail.smtp.ssl.enable", "true");
props.put("mail.smtp.ssl.socketFactory", sf);

//创建Session对象,session对象表示整个邮件的环境信息
Session session = Session.getInstance(props);
//设置输出调试信息
session.setDebug(true);
try {
//Message的实例对象表示一封电子邮件
MimeMessage message = new MimeMessage(session);
//设置发件人的地址
message.setFrom(new InternetAddress(from));
//设置主题
message.setSubject("邮件测试");
//设置邮件的文本内容
message.setText("Welcome to JavaMail World!");
message.setContent((emailMsg),"text/html;charset=utf-8");
//从session的环境中获取发送邮件的对象
Transport transport=session.getTransport();
//连接邮件服务器, 注意
transport.connect("smtp.qq.com",username, password);
//设置收件人地址,并发送消息
transport.sendMessage(message,new Address[]{new InternetAddress(to)});
transport.close();
return true;
} catch (MessagingException e) {
e.printStackTrace();
return false;
}
}

public static void main(String[] args) throws Exception {
SendJMail.sendMail("xxxxxxx@qq.com", "我爱你中国");
}

}





执行成功控制台出现如下内容


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值