这篇文章主要介绍“怎么实现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元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。