五.使用idea整合springmvc 实现邮件发送功能

主要步骤:

一:设置邮件发送端开启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

查看接收端邮箱有没有收到一个邮件


猜你喜欢

转载自blog.csdn.net/ivylingling123/article/details/80376668