主要步骤:
一:设置邮件发送端开启smtp服务
二:在pom.xml 配置依赖javax.mail
三:在web项目添加依赖的包
四:新建配置文件spring-email.xml,在该配置文件中配置邮件发送对象需要使用的账号,授权码,协议,端口等信息
五:在web.xml中整合spring-email.xml,将该配置文件中的对象交给springmvc管理
六.新建测试类TestEmail发送简单的文字和html,运行tomcat,进行测试
具体如下:
一:设置邮件发送端开启smtp服务
首先进入自己的QQ邮箱,点击设置中,在点击账户,来至该页面底部,开启smtp服务,点击开启,再用手机发送“配置邮件客服端”到指定号码,然后点击我已发送,保存授权码
二:在pom.xml 配置依赖javax.mail
<!-- 邮件-->
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.4.7</version>
</dependency>
三:在web项目添加依赖的包
四:新建配置文件spring-email.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"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
<property name="host" value="smtp.qq.com"/>
<property name="port" value="587"/>
<property name="protocol" value="smtp"/>
<property name="username" value="发送端qq的账号"/>
<property name="password" value="相应的授权码"/>
<property name="defaultEncoding" value="UTF-8"/>
<property name="javaMailProperties">
<props>
<prop key="mail.smtp.auth">true</prop>
<prop key="mail.smtp.timeout">25000</prop>
</props>
</property>
</bean>
</beans>
五:在web.xml中整合spring-email.xml,将该配置文件中的对象交给springmvc管理
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<!--Spring MVC配置文件路径 -->
<param-value>classpath*:spring/spring-mvc.xml,
classpath:spring/spring-email.xml
</param-value>
</init-param>
<!-- 启动动优先级,越小越早加载 -->
<load-on-startup>1</load-on-startup>
</servlet>
六.新建测试类TestEmail发送简单的文字和html,运行tomcat,进行测试
package com.ivy.email;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSenderImpl;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import javax.annotation.Resource;
import javax.mail.internet.MimeMessage;
/**
* Created by Administrator on 2018/5/19.
*/
@Controller //声明为控制器
@RequestMapping(path = "/testemail")
public class TestEmail {
@Resource(name="mailSender")
JavaMailSenderImpl mailSender;
@RequestMapping(path = "/sendword")
public void handle(){
SimpleMailMessage mailMessage = new SimpleMailMessage();
mailMessage.setTo("qq目的地");
mailMessage.setFrom("qq发送端");//一定要写,501 mail from address must be same as authorization user的错误
mailMessage.setSubject("第一个文本文件");
mailMessage.setText("hi");
mailSender.send(mailMessage);
}
@RequestMapping(path = "/sendhtml" )
public void handle1(){
MimeMessage mimeMsg = mailSender.createMimeMessage();
try {
String html = "<html><head>"+
"</head><body>"+
"<h1>Hello,this is first html!</h1>"+
"<span style='color:red;font-size:36px;'>hello</span>"+
"<img src='https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1526734280537&di=0f7ac79302207a66fe4db36162486167&imgtype=0&src=http%3A%2F%2Fimg5.duitang.com%2Fuploads%2Fitem%2F201510%2F07%2F20151007101227_jkevU.jpeg'>"+
"</body></html>";
MimeMessageHelper helper = new MimeMessageHelper(mimeMsg,true);
helper.setTo("qq目的地");
helper.setFrom("qq发送端账号");//一定要写,501 mail from address must be same as authorization user的错误
helper.setSubject("你好");
helper.setText(html, true);
mailSender.send(mimeMsg);
}catch (Exception e){
}
}
}
在浏览器输入:http://localhost:8080/springmvc/testemail/sendword
查看接收端有没有收到一句话
在浏览器输入:http://localhost:8080/springmvc/testemail/sendhtml
查看接收端邮箱有没有收到一个邮件