java发送邮件
1、打开邮箱的pop3和SMTP服务
这里使用的是企鹅的邮箱账户,进入账户
打开自己的这两个服务,并且按要求生成一个授权码,复制好这个授权码,下面要用
2、导入maven依赖
<dependency>
<groupId>javax.mail</groupId>
<artifactId>javax.mail-api</artifactId>
<version>1.6.2</version>
</dependency>
<dependency>
<groupId>com.sun.mail</groupId>
<artifactId>javax.mail</artifactId>
<version>1.6.2</version>
</dependency>
3、发送邮件
/**
* @param to 收件人邮箱
* @param text 邮件正文
* @param title 标题
*/
/* 发送验证信息的邮件 */
private String emailAddress="";//发件人的邮箱号
private String sendUserName="";//发件人名字
private String sendUserPassword="";//上面申请到的授权码(并不是邮箱密码)
public boolean sendMail(String to, String text, String title) {
try {
Properties props = new Properties();
props.put("mail.smtp.host", "smtp.qq.com");//指定邮件的发送服务器地址
Session session = Session.getInstance(props);//得到Session
session.setDebug(true);//代表启用debug模式,可以在控制台输出smtp协议应答的过程
//创建一个MimeMessage格式的邮件
MimeMessage message = new MimeMessage(session);
//设置发送者 密码
Address fromAddress = new InternetAddress(emailAddress);//邮件地址
message.setFrom(fromAddress);//设置发送的邮件地址
//设置接收者
Address toAddress = new InternetAddress(to);//邮件地址
message.setRecipient(MimeMessage.RecipientType.TO, toAddress);//设置接收者的地址
//设置邮件的主题
message.setSubject(title);
//设置邮件的内容
message.setText(text);
//保存邮件
message.saveChanges();
//得到发送邮件的火箭
Transport transport = session.getTransport("smtp");
//火箭连接到服务器上pop3授权密码:520520cjc
transport.connect("smtp.qq.com", sendUserName, sendUserPassword);
//火箭点火,发送
transport.sendMessage(message, message.getAllRecipients());
//关闭通道
transport.close();
} catch (Exception e) {
e.printStackTrace();
return false;
}
return true;
}