springboot 发送邮件工具类

本文介绍了如何在SpringBoot项目中实现邮件发送功能,包括添加相关依赖、配置属性以及创建邮件发送工具类,并以重置密码邮件为例进行详细说明。

                                  springboot 发送邮件

1.加入依赖

       <!-- 邮件 -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-context-support</artifactId>
		</dependency>
		<dependency>
			<groupId>javax.mail</groupId>
			<artifactId>javax.mail-api</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-mail</artifactId>
		</dependency>
		<!-- 邮件 -->

2.向application.properties中添加

######企业邮箱########
spring.mail.host=smtp.mxhichina.com
spring.mail.username=xxxx@begoit.com
spring.mail.password=xxx123456
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true
spring.mail.properties.mail.smtp.starttls.required=true

3.邮件发送工具类,例子发送重置密码

/**
 * 
 * 邮件发送工具类
 *
 */
@Component
public class SendEmailUtils {
	@Autowired
	private JavaMailSender javaMailSender; // 注入JavaMailSender
	@Value("${spring.mail.username}")
	private String username; // 发送邮件者

	/**
	 * 发送邮件
	 * 
	 * @param title
	 *            标题
	 * @param titleWithName
	 *            是否在标题后添加名称
	 * @param content
	 *            邮件内容
	 * @param contentWithName
	 *            是否在内容后添加名称
	 * @param email
	 *            接收者的邮箱
	 */
	private void sendNormalEmail(String title, boolean titleWithName, String content, boolean contentWithName,
			String email) {
		String dName = "VMI云平台";
		try {
			MimeMessage mimeMessage = javaMailSender.createMimeMessage(); // 创建要发送的消息
			MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true);
			helper.setFrom(new InternetAddress(username, dName, "UTF-8")); // 设置发送者是谁
			helper.setTo(email); // 接收者邮箱
			title = titleWithName ? dName + title : title; // 标题内容
			helper.setSubject(title); // 发送邮件的标题
			if (contentWithName) {
				content += "<p style='text-align:right'>" + dName + "</p>";
				content += "<p style='text-align:right'>" + RandomTools.curDate("yyyy-MM-dd HH:mm:ss") + "</p>";
			}
			helper.setText(content, true); // 发送的内容 是否为HTML
			javaMailSender.send(mimeMessage);
		} catch (Exception e) {
			e.printStackTrace();
		}

	}

	/**
	 * 发送重置密码
	 * 
	 * @param email
	 *            接收者的邮箱
	 * @param newPassword
	 *            新密码
	 * 
	 */
	public void sendResetPassword(final String email, String newPassword) {
		final StringBuffer sb = new StringBuffer(); // 实例化一个StringBuffer
		sb.append("<div style='line-height:16px'><p style='text-align: left; font-size: 16px;'>"
				+ "亲爱的<a href='#'; style='color:rgb(0,112,192)'>" + email + "</a>您好!</p>").append("<br/>")
				.append("<p style='text-align: left; font-size: 16px;'>您的新密码为:</p>")
				.append("<p style='text-align: left; font-size: 18px; color: rgb(0,112,192)'>" + newPassword + "</p>")
				.append("<br/>").append("<p style='text-align: left; font-size: 16px;'>请使用新密码登录;</p>").append("<br/>")
				.append("<p style='text-align: left; font-size: 16px;'>如非本人操作,请忽略。</p>")
				.append("<p style='text-align: left; font-size: 16px;'>系统发信,请勿回复。</p>").append("<br/>")
				.append("<p style='text-align: left; font-size: 16px;'>云平台开发团队</p></div>");
		new Thread(new Runnable() {
			@Override
			public void run() {
				sendNormalEmail("用户邮箱验证", true, sb.toString(), false, email);
			}
		}).start();
	}
}

 

4.调用发送重置密码的sendResetPassword(femail, newPassword)方法即可,这里省略

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值