package com.util;
import java.util.Properties;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeUtility;
import org.springframework.mail.javamail.JavaMailSenderImpl;
import org.springframework.mail.javamail.MimeMessageHelper;
/**
* 邮件工具类
* javax.mail-1.5.6.jar
* @author zm
*
*/
public class MailUtil {
private static Object obj = new Object();
/**
* 发送邮件1
* @param to 接收人邮件地址
* @param subject 标题
* @param text 内容
* @return
*/
public static boolean sendHtml(String to, String subject, String html) {
try {
synchronized (obj) {
// 发送器
JavaMailSenderImpl sender = new JavaMailSenderImpl();
sender.setHost(Constant.SYS_EMAIL_HOST); //smtp.exmail.qq.com
sender.setPort(25); // 默认就是25
sender.setUsername(Constant.SYS_EMAIL_NAME);
sender.setPassword(Constant.SYS_EMAIL_PASSWORD);
sender.setDefaultEncoding("UTF-8");
// 配置文件对象
Properties props = new Properties();
props.put("mail.smtp.auth", "true"); // 是否进行验证
Session session = Session.getInstance(props);
sender.setSession(session); // 为发送器指定会话
MimeMessage mail = sender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(mail);
helper.setTo(to); // 发送给谁
helper.setSubject(subject); // 标题
helper.setFrom(new InternetAddress(MimeUtility.encodeText("中国")+"<"+Constant.SYS_EMAIL_NAME+">")); // 来自
// 邮件内容,第二个参数指定发送的是HTML格式
helper.setText(html,true);
sender.send(mail); // 发送
}
} catch (Exception e) {
e.printStackTrace();
return false;
}
return true;
}
/**
* 发送邮件2
* @param to 接收人邮件地址
* @param subject 标题
* @param text 内容
* @return
*/
public static boolean sendText(String to, String subject, String text) {
Transport transport = null;
try {
synchronized (obj) {
// 发送邮件初始化
Properties props = new Properties();
// 设置SMTP主机
props.put("mail.smtp.host", Constant.SYS_EMAIL_HOST);
// 设置SMTP属性验证
props.put("mail.smtp.auth", true);
// 获得邮件会话对象
Session session = Session.getDefaultInstance(props);
session.setDebug(false);
// 创建MIME邮件对象
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress(MimeUtility.encodeText("中国")+"<"+Constant.SYS_EMAIL_NAME+">"));
// 创建SMTP邮件协议发送对象
transport = session.getTransport("smtp");
transport.connect((String) props.get("mail.smtp.host"), Constant.SYS_EMAIL_NAME, Constant.SYS_EMAIL_PASSWORD);
message.setRecipient(Message.RecipientType.TO, new InternetAddress(to));
message.setSubject(subject);
message.setText(text);
transport.sendMessage(message, message.getRecipients(Message.RecipientType.TO));
}
} catch (Exception e) {
e.printStackTrace();
return false;
} finally {
try {
if (transport != null) {
transport.close();
}
} catch (MessagingException e) {
e.printStackTrace();
return false;
}
}
return true;
}
}
发送邮件
最新推荐文章于 2024-08-15 16:15:19 发布