怎么实现springboot邮箱发送

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

成都创新互联公司"三网合一"的企业建站思路。企业可建设拥有电脑版、微信版、手机版的企业网站。实现跨屏营销,产品发布一步更新,电脑网络+移动网络一网打尽,满足企业的营销需求!成都创新互联公司具备承接各种类型的成都网站建设、做网站项目的能力。经过十余年的努力的开拓,为不同行业的企事业单位提供了优质的服务,并获得了客户的一致好评。

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


   org.springframework.boot
   spring-boot-starter-mail


   org.springframework.boot
   spring-boot-starter-freemarker

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

    例如:获取QQ邮箱授权

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

# JavaMailSender 邮件发送的配置

spring.mail.host=smtp.qq.com
spring.mail.username=用户qq邮箱
#QQ邮箱的授权码
spring.mail.password=授权码
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true
spring.mail.properties.mail.smtp.starttls.required=true
spring.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
*
*/
@Service
public 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("静态资源:", true);
helper.addInline("pic", file);
mailSender.send(msg);
}
catch (MessagingException e)
{
logger.error("发送附件邮件失败.", e);
return false;
}

return true;
}


}

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


本文名称:怎么实现springboot邮箱发送
URL分享:http://ybzwz.com/article/peeesp.html