一 获取邮箱的授权码
1、 设置—>账户—>开启服务:POP3/SMTP服务
2、 maven-jar包依赖
<!-- 邮件-->
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.4.7</version>
</dependency>
3 创建spring-msg.xml、email.properties(注意:多个需要使用propertyConfigurer,并开启扫描包:邮件工具类所在的包<context:component-scan base-package=“cn.itsource.utils” />)
- spring-msg.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:task="http://www.springframework.org/schema/task"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task.xsd">
<task:executor id="mytask" pool-size="10"/>
<task:annotation-driven executor="mytask"/>
<bean id="emailSend" class="org.springframework.mail.javamail.JavaMailSenderImpl">
<property name="host" value="${email.host}"></property>
<property name="defaultEncoding" value="UTF-8"></property>
<property name="username" value="${email.username}"></property>
<property name="password" value="${email.token}"></property>
<property name="protocol" value="${email.protocol}"></property>
<property name="javaMailProperties">
<props>
<prop key="mail.smtp.auth">true</prop>
<prop key="mail.smtp.timeout">25000</prop>
</props>
</property>
</bean>
<bean class="org.springframework.web.client.RestTemplate"></bean>
</beans>
- email.properties
email.host = smtp.qq.com
email.protocol = smtp
email.username = 自己的邮箱
email.token =授权码
然后是编写工具类,需要发送邮件可以直接调用,注意,需要将工具类交由spring管理
- 简单邮件发送
@Component
public class DWEmailUtil {
@Autowired
JavaMailSenderImpl javaMailSender;//spring提供的邮件发送的
@Value("${email.username}")
String username;
//简单邮件
@Async
public void sendSimplEmail(String sendUser,String title,String count){
//简单文本发送 simpleMailMessage simpleMessage
SimpleMailMessage mailMessage = new SimpleMailMessage();
mailMessage.setFrom(username);// 发送人
mailMessage.setTo(sendUser);// 收件人
mailMessage.setSubject(title);// 标题
mailMessage.setText(count); // 内容
javaMailSender.send(mailMessage);
System.err.println("发送成功");
}
}
-html格式的邮件
@Component
public class DWEmailUtil {
@Autowired
JavaMailSenderImpl javaMailSender;//spring提供的邮件发送的
@Value("${email.username}")
String username;
//html格式
@Async
public void sendHtml(String sendUser,String title,String html) throws Exception{
//MimeMessage 媒体对象 获取媒体对象api
MimeMessage mimeMsg = javaMailSender.createMimeMessage();
try {
MimeMessageHelper helper = new MimeMessageHelper(mimeMsg, true);
helper.setTo(sendUser); //收件人
helper.setFrom(username);//发送人
helper.setSubject(title);//主题
helper.setText(html, true);//内容
javaMailSender.send(mimeMsg);
} catch (Exception e) {
e.printStackTrace();
}
}