package com.qf.utils;
import java.io.UnsupportedEncodingException;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.security.GeneralSecurityException;
import java.util.Date;
import java.util.Properties;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import com.qf.entry.User;
import com.sun.mail.util.MailSSLSocketFactory;
//注册成功验证邮件发送
public class EmailUtils {
public static void sendEmail(User user){
//发送方
String myAcount =user.getEmail();
//授权码
String myPass="uacmiaflbdcxidgg";
//不同邮箱smtp地址不同
String SMTPHost="smtp.qq.com";
//创建链接参数
Properties props=new Properties();
props.setProperty("mail.transport.protocol", "smtp");
//发件人邮箱SMTP服务器地址
props.setProperty("mail.smtp.host", SMTPHost);
//请求认证
props.setProperty("mail.smtp.auth", "true");
//根据李配置的创建会话和用于邮件服务器交互props.setProperty("mail.smtp.port", "465");
try {
//开启ssl加密
MailSSLSocketFactory sf = new MailSSLSocketFactory();
sf.setTrustAllHosts(true);
props.put("mail.smtp.ssl.enable", "true");
props.put("mail.smtp.ssl.socketFactory", sf);
} catch (GeneralSecurityException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
Session session = Session.getDefaultInstance(props);
//设置debug模式 查看详细信息
session.setDebug(true);
//创建邮件 用来组成一封邮件
try {
MimeMessage message=creatMsg(session,myAcount,user);
Transport transport=session.getTransport();
transport.connect(myAcount,myPass);
transport.sendMessage(message, message.getAllRecipients());
transport.close();
} catch (UnsupportedEncodingException | UnknownHostException | MessagingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/*
* 创建邮件 包含激活信息
* 返回值类型为MimeMessage
* 参数列表
* session和服务器会话
* myAccount 发件邮箱
* User 用户对象
*/
private static MimeMessage creatMsg(Session session,String myAccount,User user) throws UnsupportedEncodingException, MessagingException, UnknownHostException{
MimeMessage message=new MimeMessage(session);
message.setFrom(new InternetAddress(myAccount, "当当网", "utf-8"));
message.setRecipient(MimeMessage.RecipientType.TO, new InternetAddress(user.getEmail(),user.getUsername(), "UTF-8"));
message.setSubject("当当网账号激活","utf-8");
String ip=InetAddress.getLocalHost().getHostAddress();
String url="http://"+ip+":8080/shopping/activate?e="+Base64Utils.encoder(user.getEmail())+"&c="+Base64Utils.encoder(user.getCode());
message.setContent(user.getUsername()+"ni ge sha da:<br/>欢迎注册 请激活你的账号<a href='"+url+"'>"+url+"</a>","text/html;charset=utf-8");
message.setSentDate(new Date());
message.saveChanges();
return message;
}
}
EmailUtils--QQ
最新推荐文章于 2023-03-19 21:04:38 发布