zoukankan      html  css  js  c++  java
  • 在springside中发送邮件

    在springMVC框架中使用邮件发送功能(非定时、只能发送指定的文本内容),具体的使用方法如下:

    在pom文件中加入:

    <dependency>
                <groupId>javax.mail</groupId>
                <artifactId>mail</artifactId>
                <version>1.4.7</version>
            </dependency>
            <dependency>
                <groupId>org.apache.geronimo.specs</groupId>
                <artifactId>geronimo-activation_1.1_spec</artifactId>
                <version>1.1</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-context-support</artifactId>
                <version>${spring.version}</version>
            </dependency>
            <dependency>
                <groupId>freemarker</groupId>
                <artifactId>freemarker</artifactId>
                <version>2.3.9</version>
            </dependency>

    在resources文件夹下,添加一个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-3.2.xsd"
           default-lazy-init="true">
    
        <description>Email配置</description>
    
        <bean id="smtpAuthenticator" class="com.ziqikeji.sdhdjk.utilities.email.SmtpAuthenticator">
            <constructor-arg value="550380445@qq.com" ></constructor-arg>
            <constructor-arg value="6168697000" ></constructor-arg>
        </bean>
    
        <bean id="mailSession" class="javax.mail.Session" factory-method="getInstance">
            <constructor-arg>
                <props>
                    <prop key="mail.smtp.auth">true</prop>
                    <prop key="mail.smtp.socketFactory.port">465</prop>
                    <prop key="mail.smtp.socketFactory.class">javax.net.ssl.SSLSocketFactory</prop>
                    <prop key="mail.smtp.socketFactory.fallback">false</prop>
                </props>
            </constructor-arg>
            <constructor-arg ref="smtpAuthenticator" />
        </bean>
    
        <!-- 文本邮件服务类 -->
        <bean id="simpleMailService" class="com.ziqikeji.sdhdjk.utilities.email.SimpleMailService">
            <property name="mailSender" ref="mailSender" />
            <property name="freemarkerConfiguration" ref="freemarkerConfiguration" />
        </bean>
    
        <!-- 邮件发送器 -->
        <bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
            <property name="host" value="smtp.qq.com" />
            <property name="port" value="25"/>
            <property name="session" ref="mailSession"/>
            <property name="defaultEncoding" value="UTF-8"/>
        </bean>
    </beans>

    在web.xml中添加:

    <context-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>
                classpath*:/email/applicationContext-email.xml,
                                 ......
            </param-value>
        </context-param>    

    至此,配置结束。

    在src的项目文件夹中,添加一个纯文本邮件的服务类:

    /**
         * 发送纯文本的用户修改通知邮件.
         */
        public void sendMail() {
            try {
                MimeMessage msg = mailSender.createMimeMessage();
                MimeMessageHelper helper = new MimeMessageHelper(msg, true, DEFAULT_ENCODING);
                helper.setTo(“被发送者的邮箱”);
                helper.setFrom("发送者的邮箱");
                helper.setSubject(“要发送的标题”);
                //要发送的内容,大家可以自己找方法,在这我就不具体说了
                mailSender.send(msg);
            } catch (MessagingException e) {
                logger.error("构造邮件失败", e);
            } catch (Exception e) {
                logger.error("发送邮件失败", e);
            }
        }

    在controller或service里边利用下面的代码调用:

     邮件服务类名.sendMail();
  • 相关阅读:
    各大高校OJ网站
    项目中调试SQLServer 方便的查看SQL语句的执行时间的方法
    一个联合查询的优化,排行榜排名
    IEdevelopToolbar ie浏览器的css代码调试工具
    SQL Server 2016/2014/2012/2008/2005/2000简体中文企业版下载地址
    sql server 数据库学习
    增加路由ip
    HTTP Error 500.0
    远程的一些知识
    Windows内置系统账户:Local system/Network service/Local Service 区别
  • 原文地址:https://www.cnblogs.com/fxyh/p/4237242.html
Copyright © 2011-2022 走看看