注意:本文所列出的示例全部基于Spring4.2.6
本文记录基于Spring的email发送,关于使用JavaMail的邮件发送可以参考:https://blog.youkuaiyun.com/fancheng614/article/details/85040198
记得先添加JavaMail的相关依赖:
<!-- JavaMail发送邮件Start -->
<!-- https://mvnrepository.com/artifact/javax.mail/mail -->
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.4.7</version>
</dependency>
<!-- https://mvnrepository.com/artifact/javax.activation/activation -->
<dependency>
<groupId>javax.activation</groupId>
<artifactId>activation</artifactId>
<version>1.1.1</version>
</dependency>
<!-- JavaMail发送邮件Stop -->
一、配置邮件发送器并发送简单邮件(这里只使用XML配置,Java配置就不记录了)
1、配置邮件发送器(这里也可以使用JNDI配置,需要用时再百度):
<!--
Spring邮件发送
host:Email的邮件服务器主机名
port:邮件服务器监听端口
username:发送邮件的用户名
password:在使用QQ邮箱作为邮件发送服务器时,password是QQ邮箱的授权码
-->
<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
<property name="host" value="smtp.qq.com"></property>
<property name="port" value="587"></property>
<property name="username" value="XXXqq.com"></property>
<property name="password" value="XXXXXXX"></property>
</bean>
2、装配和发送简单邮件
@Autowired
private JavaMailSender mailSender;
/**
* 邮件发送测试(Spring发送)
* @return
*/
@RequestMapping(value = "springSendSimpleEmail")
@ResponseBody
public Map<String, Object> springSendSimpleEmail(){
Map<String, Object> map = new HashMap<String, Object>();
map.put("flag", "false");
SimpleMailMessage message = new SimpleMailMessage();
message.setFrom("3530779408@qq.com");
message.setTo("747900698@qq.com");
message.setSubject("Spring邮件测试主题");
message.setText("Spring 邮件测试内容(简单内容)");
mailSender.send(message);
map.put("flag", "true");
return map;
}
二、构建丰富内容的Email消息
1、添加附件
这里附件我用了SpringMVC异步提交表单的形式,提交到Controller,然后发送,关于SpringMVC异步提交带文件的表单教程可以参考: