Spring实现邮件发送功能
前言:以前都是直接用Java自带的邮件工具发送邮件,现在Spring帮我们做了封装,提供了更好用更简单的发送邮件工具JavaMailSender,关于邮件服务器的设置就不在这里说了,直接去QQ邮箱设置下就好,下面看下主要的步骤:
步骤一、添加发送邮件相关Maven依赖
org.springframework spring-context-support 4.3.2.RELEASE javax.mail 1.4.7
步骤二、添加相关Spring配置,创建一个spring-mail.xml(如果是Spring-Boot请无视),内容如下:
true 25000
步骤三、创建具体的邮件发送工具类
/**
*基于Spring的JavaMailSender的邮件发送工具类
*@authorsimon
*
*/
@Component
publicclassEmailSender{
@Autowired
privateJavaMailSenderjavaMailSender;
privatestaticEmailSenderemailSender;
@PostConstruct
publicvoidinit(){
emailSender=this;
emailSender.javaMailSender=this.javaMailSender;
}
/**
*发送简单的文本邮件
*@paramsendTo收件人组
*@paramsubject主题
*@paramcontent文本内容
*/
publicstaticvoidsendSimpleMessage(StringsendFrom,String[]sendTo,Stringsubject,Stringtextcontent){
SimpleMailMessagemail=newSimpleMailMessage();
mail.setFrom(sendFrom);
mail.setTo(sendTo);
mail.setSubject(subject);
mail.setText(textcontent);
//发送
emailSender.javaMailSender.send(mail);
}
/**
*发送HTML内容格式的邮件
*@paramsendFrom
*@paramsendTo收件人组
*@paramsubject主题
*@paramhtmlContentHTML内容
*@throwsException
*/
publicstaticvoidsendHtmlMessage(StringsendFrom,String[]sendTo,Stringsubject,StringhtmlContent)throwsException{
MimeMessagemimeMessage=emailSender.javaMailSender.createMimeMessage();
MimeMessageHelpermimeMessageHelper=newMimeMessageHelper(mimeMessage);
mimeMessageHelper.setFrom(sendFrom);
mimeMessageHelper.setTo(sendTo);
mimeMessageHelper.setSubject(subject);
//true表示启动HTML格式的邮件
mimeMessageHelper.setText(htmlContent,true);
//发送邮件
emailSender.javaMailSender.send(mimeMessage);
}
}
步骤四、创建单元测试测试发送邮件
/**
*邮件发送测试类
*
*@authorsimon
*
*/
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:applicationContext.xml")
publicclassEmailSenderTest{
@Test
publicvoidtestSend()throwsException{
StringsendFrom="1317492210@qq.com";
String[]sendTo={"zhaosheng@hitencent.com"};
Stringsubject="Spring自带JavaMailSender发送的HTML邮件";
StringBuilderhtmlContent=newStringBuilder()
.append("")
.append("")
.append("")
.append("Spring自带JavaMailSender发送的HTML邮件")
.append(" ")
.append("")
.append("")
.append("您好!陌生人")
.append("")
.append("");
EmailSender.sendHtmlMessage(sendFrom,sendTo,subject,htmlContent.toString());
System.out.println("邮件发送成功.");
}
OK,到这里全部的步骤就结束了,是不是比JavaMail简单方便很多哉,赶紧自己动手试试吧!
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。