首页 > 代码库 > 在springside中发送邮件

在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="http://www.mamicode.com/550380445@qq.com" ></constructor-arg>        <constructor-arg value="http://www.mamicode.com/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="http://www.mamicode.com/smtp.qq.com" />        <property name="port" value="http://www.mamicode.com/25"/>        <property name="session" ref="mailSession"/>        <property name="defaultEncoding" value="http://www.mamicode.com/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();

 

在springside中发送邮件