package com.braycep.mail.test;
import javax.mail.*;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import java.util.Properties;
/**
* 发送简单的邮件
*/
public class SimpleMailTest {
public static void main(String[] args) throws Exception{
//发件地址
String from = "braycep@foxmail.com";
//收件地址
String to = "braycep@outlook.com";
//发件服务器
String host = "smtp.qq.com";
//创建配置文件
Properties properties = new Properties();
properties.setProperty("mail.transport.protocol","smtp");
properties.setProperty("mail.smtp.host","smtp.qq.com");
properties.setProperty("mail.smtp.auth","true");
//开启SSL
properties.setProperty("mail.smtp.socketFactory.class","javax.net.ssl.SSLSocketFactory");
properties.setProperty("mail.smtp.port","465");
properties.setProperty("mail.smtp.socketFactory.port","465");
//开启控制台调试
properties.setProperty("mail.debug","true");
//认证
Authenticator auth = new MyAuthenticator("braycep@foxmail.com","你的授权码");
//使用配置文件和认证获取Session实例
Session session = Session.getInstance(properties, auth);
//创建简单的消息体
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress(from));
message.setRecipient(Message.RecipientType.TO, new InternetAddress(to));
message.setSubject("A Java EMail Demo From Intellij Idea By Braycep");
message.setText("Hello,My Friend Braycep,I'm Mike,What's up?");
//使用session获取邮件传输通道
Transport transport = session.getTransport();
//发送
transport.send(message);
}
}
/**
* 继承认证类
*/
class MyAuthenticator extends Authenticator{
private String name;
private String password;
public MyAuthenticator(String name, String password){
this.name = name;
this.password = password;
}
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(name,password);
}
}