温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

怎么实现springboot邮箱发送

发布时间:2021-11-02 14:07:49 阅读:157 作者:iii 栏目:编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

这篇文章主要介绍“怎么实现springboot邮箱发送”,在日常操作中,相信很多人在怎么实现springboot邮箱发送问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么实现springboot邮箱发送”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

步骤一:添加依赖,在pom.xml文件中加入spring-boot-starter-mail依赖

<dependency>    <groupId>org.springframework.boot</groupId>    <artifactId>spring-boot-starter-mail</artifactId></dependency><dependency>    <groupId>org.springframework.boot</groupId>    <artifactId>spring-boot-starter-freemarker</artifactId></dependency>

步骤二:获取各大邮箱授权

    例如:获取QQ邮箱授权

        QQ邮箱->设置->账户->POP3/SMTP服务:开启服务后会获得QQ的授权码. 

# JavaMailSender 邮件发送的配置spring.mail.host=smtp.qq.comspring.mail.username=用户qq邮箱#QQ邮箱的授权码spring.mail.password=授权码spring.mail.properties.mail.smtp.auth=truespring.mail.properties.mail.smtp.starttls.enable=truespring.mail.properties.mail.smtp.starttls.required=truespring.mail.default-encoding=UTF-8

第三步:实现邮件发送功能

import javax.mail.MessagingException;import javax.mail.internet.MimeMessage;import org.apache.log4j.Logger;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.core.io.FileSystemResource;import org.springframework.mail.SimpleMailMessage;import org.springframework.mail.javamail.JavaMailSender;import org.springframework.mail.javamail.MimeMessageHelper;import org.springframework.stereotype.Service;/** * @author XXXXXX * */@Servicepublic class MailSendService{	@Autowired	private JavaMailSender mailSender;	/**日志打印.*/	private Logger logger = Logger.getLogger(MailSendService.class);	/**	 * 发送简单邮件	 * @param fromPos 发送地址	 * @param toPos 目的地址	 * @param subject 邮件主题	 * @param text 邮件内容	 * @return 发送是否成功	 */	public boolean sendSimpleMail(String fromPos, String toPos, String subject, String text){		SimpleMailMessage msg = new SimpleMailMessage();		msg.setFrom(fromPos);		//可添加多个目的地址		msg.setTo(toPos);		msg.setSubject(subject);		msg.setText(text);		//msg.setBcc(bcc) 密送地址 		//msg.setCc(cc) 抄送地址		try		{			mailSender.send(msg);		}		catch (Exception e) 		{			logger.error("发送简单邮件失败.", e);			return false;		}		return true;	}	/**	 * 发送带有附件的邮件	 * @param fromPos 发送地址	 * @param toPos 目的地址	 * @param subject 邮件主题	 * @param file 附件	 * @return 发送是否成功 	 */	public boolean sendAttachFileMail(String fromPos, String toPos, String subject,
             String text, FileSystemResource file){		MimeMessage msg = mailSender.createMimeMessage();		try		{			//MimeMessageHelper构造器,如果要发送附件邮件,必须指定multipart参数为true			MimeMessageHelper helper  = new MimeMessageHelper(msg, true);			helper.setFrom(fromPos);			helper.setTo(toPos);			helper.setSubject(subject);			helper.setText(text);			helper.addAttachment(file.getFilename(), file);			mailSender.send(msg);		} 		catch (MessagingException e)		{			logger.error("发送附件邮件失败.", e);			return false;		}		return true;	}	/**	 * 发送静态资源的文件,如:图片	 * @param fromPos 发送地址	 * @param toPos 目的地址	 * @param subject 邮件主题	 * @param file 附件	 * @return 发送是否成功 	 */	public boolean sendInlineMail(String fromPos, String toPos, String subject,
             FileSystemResource file){		MimeMessage msg = mailSender.createMimeMessage();		try		{			//MimeMessageHelper构造器,如果要发送附件邮件,必须指定multipart参数为true			MimeMessageHelper helper  = new MimeMessageHelper(msg, true);			helper.setFrom(fromPos);			helper.setTo(toPos);			helper.setSubject(subject);			helper.setText("<html><body>静态资源:<img src='cid:pic' /></body></html>", true);			helper.addInline("pic", file);			mailSender.send(msg);		} 		catch (MessagingException e)		{			logger.error("发送附件邮件失败.", e);			return false;		}		return true;	}}

到此,关于“怎么实现springboot邮箱发送”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI

开发者交流群×