SSM整合框架实现发送邮件功能
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SSM 整合框架实现发送邮件功能
1.导⼊发送邮件的依赖
2.发送邮件的账号开启POP3/SMTP/IMAP/SMIP
服务
3.spring-mybatis.xml 配置⽂件中添加发送邮件所需的配置信息
<!-- 发送邮件jar 包-->
<!--spring ⽀持-->
<dependency >
<groupId >org.springframework </groupId >
<artifactId >spring-context-support </artifactId >
<version >5.0.0.RELEASE </version >
</dependency >
<!--邮件发送-->
<dependency >
<groupId >com.sun.mail </groupId >
<artifactId >javax.mail </artifactId >
<version >1.6.1</version >
</dependency >
<!--邮件配置-->
<context:property-placeholder location ="classpath:email.properties" ignore-unresolvable ="true"/>
<!--配置邮件接⼝-->
<bean id ="javaMailSender" class ="org.springframework.mail.javamail.JavaMailSenderImpl">
<property name ="host" value ="${mail.smtp.host}"/>
<property name ="username" value ="${ername}"/>
<property name ="password" value ="${mail.smtp.password}"/>
<property name ="defaultEncoding" value ="${mail.smtp.defaultEncoding}"/>
<property name ="javaMailProperties">
<props>
<prop key="mail.smtp.auth">${mail.smtp.auth}</prop>
<prop key="mail.smtp.timeout">${mail.smtp.timeout}</prop>
</props>
</property>
</bean>
4.创建email.properties 接上配置邮件接⼝
#服务器主机名
mail.smtp.host=
ername=开启服务的邮箱号@
#密码/客户端授权码
mail.smtp.password=开启服务的邮箱号的密钥
#编码字符
mail.smtp.defaultEncoding=utf-8
#是否进⾏⽤户名密码校验
mail.smtp.auth=true
#设置超时时间
mail.smtp.timeout=20000
5.在控制层测试
package com.mvo.controller;
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.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;
import java.io.File;
import java.io.IOException;
import java.util.Properties;
/**
* 测试邮件发送controller
*/
@Controller public class SendMailController {
@Autowired
private JavaMailSender javaMailSender;//在spring中配置的邮件发送的bean
@RequestMapping("sendMailTest")
public Object sendMailTest(){
MimeMessage mMessage=javaMailSender.createMimeMessage();//创建邮件对象
MimeMessageHelper mMessageHelper;
Properties prop = new Properties();
String from;
try {
//从配置⽂件中拿到发件⼈邮箱地址
prop.load(this.getClass().getResourceAsStream("/email.properties"));
from = prop.get("ername")+"";
mMessageHelper=new MimeMessageHelper(mMessage,true);
mMessageHelper.setFrom(from);//发件⼈邮箱
mMessageHelper.setTo("收件⼈邮箱号@");//收件⼈邮箱
mMessageHelper.setSubject("ssm框架测试邮件发送");//邮件的主题
mMessageHelper.setText("<p>这是使⽤spring,springmvc,mybatis整合框架的邮件功能发送的⼀封邮件,测试</p>",true);//邮件的⽂本内容,true表⽰⽂本以html格式打开
File file=new File("C:\\Users\\lcl\\Pictures\\Saved Pictures\\_Mr__Viking_article_details_81090046.png");//在邮件中添加⼀张图⽚ FileSystemResource resource=new FileSystemResource(file);
//mMessageHelper.addInline("fengye", resource);//这⾥指定⼀个id,在上⾯引⽤
//mMessageHelper.addAttachment("QQ截图20200721221932.png", resource);//在邮件中添加⼀个附件
javaMailSender.send(mMessage);//发送邮件
} catch (MessagingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
--》启动项⽬ --》输⼊地址测试
6.
效果图
return "发送成功";
}
}。