java工具类之邮件发送工具类

工具类

import javax.mail.*;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import java.util.Properties;

/**
 * 邮件工具类
 * 
 * @author zql
 *
 */
public class MailUtil {
	/**
	 * 发送邮件
	 * 
	 * @param to 给谁发
	 * @param text 发送内容
	 */
	public static void send_mail(String to, String text) throws MessagingException {
		// 创建连接对象 连接到邮件服务器
		Properties properties = new Properties();
		// 设置发送邮件的基本参数
		// 发送邮件服务器(注意,此处根据你的服务器来决定,如果使用的是QQ服务器,请填写smtp.qq.com)
		properties.put("mail.smtp.host", "smtp.qq.com");
		// 发送端口(根据实际情况填写,一般均为25)
		properties.put("mail.smtp.port", "25");
		properties.put("mail.smtp.auth", "true");
		// 设置发送邮件的账号和密码
		Session session = Session.getInstance(properties, new Authenticator() {
			@Override
			protected PasswordAuthentication getPasswordAuthentication() {
				// 两个参数分别是发送邮件的账户和密码(注意,如果配置后不生效,请检测是否开启了 POP3/SMTP服务,QQ邮箱对应设置位置在:[设置-账户-POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务])
				return new PasswordAuthentication("[email protected]", "jqvzoapvfersbdah");
			}
		});

		// 创建邮件对象
		Message message = new MimeMessage(session);
		// 设置发件人
		message.setFrom(new InternetAddress("[email protected]"));
		// 设置收件人
		message.setRecipient(Message.RecipientType.TO, new InternetAddress(to));
		// 设置主题
		message.setSubject("用户注册验证码");
		// 设置邮件正文 第二个参数是邮件发送的类型
		message.setContent(text, "text/html;charset=UTF-8");
		// 发送一封邮件
		Transport.send(message);
	}
}

测试类

import java.text.SimpleDateFormat;
import java.util.Date;

import javax.mail.MessagingException;

/**
 * 测试类
 * @author zql
 */
public class MailTest {

    public static void main(String[] args) {
        try {
        	SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        	String code = "12346";
        	
        	StringBuffer sb = new StringBuffer("<div style=\"background:#fff;border:1px solid #ccc;margin:2%;padding:0 30px\">");
            sb.append("<div style=\"line-height:40px;height:40px\">&nbsp;</div>");  
            sb.append("<p style=\"margin:0;padding:0;font-size:14px;line-height:30px;color:#333;font-family:arial,sans-serif;font-weight:bold\">亲爱的用户:</p>");  
            sb.append("<div style=\"line-height:20px;height:20px\">&nbsp;</div>");  
            sb.append("<p style=\"margin:0;padding:0;line-height:30px;font-size:14px;color:#333;font-family:'宋体',arial,sans-serif\">您好!感谢您使用XX产品,您正在进行邮箱验证,本次请求的验证码为:</p>");  
            sb.append("<p style=\"margin:0;padding:0;line-height:30px;font-size:14px;color:#333;font-family:'宋体',arial,sans-serif\">");  
            sb.append("<b style=\"font-size:18px;color:#f90\"><span style=\"border-bottom:1px dashed #ccc;z-index:1\">"+code+ "</span></b>");  
            sb.append("<span style=\"margin:0;padding:0;margin-left:10px;line-height:30px;font-size:14px;color:#979797;font-family:'宋体',arial,sans-serif\">(为了保障您帐号的安全性,请在2分钟内完成验证。)</span></p>");  
            sb.append("<div style=\"line-height:80px;height:80px\">&nbsp;</div>");  
            sb.append("<p style=\"margin:0;padding:0;line-height:30px;font-size:14px;color:#333;font-family:'宋体',arial,sans-serif\">XX</p>");  
            sb.append("<p style=\"margin:0;padding:0;line-height:30px;font-size:14px;color:#333;font-family:'宋体',arial,sans-serif\">" + sdf.format(new Date()) + "</p>");  
            sb.append("<div style=\"line-height:20px;height:20px\">&nbsp;</div>");  
            sb.append("<div style=\"border-top:1px dashed #dfdfdf;padding:30px 0;overflow:hidden\">");  
            sb.append("</div></div>");  
        	
            MailUtil.send_mail("[email protected]", sb.toString());
            System.out.println("邮件发送成功!");
        } catch (MessagingException e) {
            e.printStackTrace();
        }
    }
}

普通项目需要引入的包
activation-1.1.jar
mail-1.4.jar

maven项目依赖

<!-- 邮箱工具类 -->
<dependency>
	<groupId>javax.activation</groupId>
	<artifactId>activation</artifactId>
	<version>1.1</version>
</dependency>
<dependency>
	<groupId>javax.mail</groupId>
	<artifactId>mail</artifactId>
	<version>1.4</version>
</dependency>
发布了55 篇原创文章 · 获赞 25 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/mr_zql/article/details/100059402