package com.vtax.utils;
import java.util.Date;
import java.util.Properties;
import javax.mail.MessagingException;
import javax.mail.NoSuchProviderException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
/**
* Title: MailSend
* @author cd
*/
public class MailSend {
public static String EmailAccount = "xxxxxxxxx@163.com";// 发件人的邮箱
public static String EmailPassword = "xxxxxx";// 发件人的密码
public static String EmailSMTPHost = "smtp.163.com";// 邮件SMTP协议
//mian方法 可以直接用于测试
public static void main(String[] args) throws Exception {
//要发送到的邮箱
sendEmail("xxxxxxxxx@qq.com");
}
public static void sendEmail(String ReceiveMailAccount) {
/**
* 参数配置--装信封写地址
*/
Properties prop = new Properties();// 配置参数类
prop.setProperty("mail.transport.protocol", "smtp");// 参数一:使用电子邮件协议smtp
prop.setProperty("mail.smtp.host", EmailSMTPHost); // 参数二:协议所在服务器
prop.setProperty("mail.smtp.auth", "true");// 参数三:需要请求认证 不然553报错
/**
* 根据配置创建会话对象, 用于和邮件服务器交互---检查地址是否能对打个电话问问
*/
final String smtpPort = "465";
prop.setProperty("mail.smtp.port", smtpPort);
prop.setProperty("mail.smtp.socketFactory.class",
"javax.net.ssl.SSLSocketFactory");
prop.setProperty("mail.smtp.socketFactory.fallback", "false");
prop.setProperty("mail.smtp.socketFactory.port", smtpPort);
Session session = null;
Transport transport = null;
try {
session = Session.getDefaultInstance(prop);// 将参数与会话结合
// session.setDebug(true);// 这个是开启debug 方便查看
/**
* 邮件封装
*/
MimeMessage message = createMimeMessage(session, EmailAccount,
ReceiveMailAccount);
/**
* 邮递员
*/
transport = session.getTransport();
transport.connect(EmailAccount, EmailPassword);// 敲门开门
transport.sendMessage(message, message.getAllRecipients());// 送到对方手里
System.err.println("发送完毕");
} catch (NoSuchProviderException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (MessagingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
if (transport != null) {
try {
transport.close();
} catch (MessagingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
public static MimeMessage createMimeMessage(Session session,
String SendAccount, String ReceiveAccount) throws Exception {
MimeMessage message = new MimeMessage(session);// 创建邮件写信
message.setFrom(new InternetAddress(SendAccount, "发件人名称", "utf-8"));// 写发件人
message.setRecipient(MimeMessage.RecipientType.TO,
new InternetAddress(ReceiveAccount));
message.setSubject("标题", "UTF-8");//标题
message.setContent(
"<a href='https://antirobot.tianyancha.com/captcha/verify?return_url=https%3A%2F%2Fwww.tianyancha.com%2Fhuman%2F2075958124-c3175404521&rnd='>内容</a>",
"text/html;charset=UTF-8");//内容
message.setSentDate(new Date());
message.saveChanges();
return message;
}
}