package com.utils;
import javax.mail.Address;
import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import com.sun.mail.util.MailSSLSocketFactory;
import java.io.FileOutputStream;
import java.io.OutputStream;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Properties;
public class SendEmailUtil {
private static String myEmailSMTPHost = "smtp.qq.com";
private static String myEmailAccount = "XXXXX@qq.com";
private static String myEmailPassword = "";
public static void sendEmail(String toEmailAddress, String emailTitle, String emailContent) throws Exception {
Properties props = new Properties();
props.setProperty("mail.debug", "true");
props.setProperty("mail.smtp.auth", "true");
props.put("mail.smtp.port", 465);
props.setProperty("mail.smtp.host", myEmailSMTPHost);
props.setProperty("mail.transport.protocol", "smtp");
MailSSLSocketFactory sf = new MailSSLSocketFactory();
sf.setTrustAllHosts(true);
props.put("mail.smtp.ssl.enable", "true");
props.put("mail.smtp.ssl.socketFactory", sf);
Session session = Session.getInstance(props);
Message msg = new MimeMessage(session);
msg.setSubject(emailTitle);
StringBuilder builder = new StringBuilder();
builder.append(emailContent + "富儿子");
builder.append("\n本人唯一官网:http://www.xiaofeia.top:5201");
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
builder.append("\n时间:" + sdf.format(new Date()));
msg.setSentDate(new Date());
msg.setText(builder.toString());
msg.setFrom(new InternetAddress(myEmailAccount, "我是小费啊", "UTF-8"));
Transport transport = session.getTransport();
transport.connect(myEmailSMTPHost, myEmailAccount, myEmailPassword);
transport.sendMessage(msg, new Address[] { new InternetAddress(toEmailAddress) });
OutputStream out = new FileOutputStream("MyEmail.eml");
msg.writeTo(out);
out.flush();
out.close();
transport.close();
}
}
pom.xml
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.4.5</version>
</dependency>
调用:
public ...(){
SendEmailUtil.sendEmail(userMail, "来自小费的邮箱验证码", "验证码: ");
}