在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="[email protected]" ></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();
时间: 2024-08-26 17:08:06

在springside中发送邮件的相关文章

(转)解决jdk1.8中发送邮件失败(handshake_failure)问题

解决jdk1.8中发送邮件失败(handshake_failure)问题 作者 zhisheng_tian 2016.08.12 22:44* 字数 1573 阅读 2818评论 6喜欢 9 暑假在家做一个类似知乎的问答型网站(代码可见:Github/wenda 喜欢的可以给个star或者自己fork然后修改,目前功能还未很完善),其中有一个站内邮件通知系统(这里简单的讲一个例子:如果用户登录的时候出现异常,那么就会通过邮件发送通知用户).然而却碰到一个问题.问题错误信息如下: 发送邮件失败Ma

JavaMail应用--通过javamail API实现在代码中发送邮件功能

JavaMail应用 在日常开发中,可能会引用到发邮件功能,例如在持续集成中,自动化测试运行完毕,自动将测试结果以报表的形式发送邮件给相关人.那么在Java中如何实现发邮件呢? 在java EE   中有个JavaMail插件 是专门解决java收发邮件功能的,下载地址:http://www.oracle.com/technetwork/java/index-138643.html 下载后我们解压压缩包,提取里面的mail.jar,引入到工程中,便可以使用JavaMail API 进行发送邮件了

Springside中使用MyBatis进行分页

最近在进行SpringSide框架来进行后台开发,又需要使用分页的功能,自己上网找了下资料,最终实现了SpringSide下使用MyBatis进行分页的功能,这里和大家分享一下,给予那些需要的人作为一个参考. 首先,我们需要一个拦截器,在src/main/java下面单独建一个包来存放,比如我的:com.soooft.report.interceptor,然后在里面新建一个拦截器的类,具体代码如下: package com.soooft.report.interceptor; import ja

mail如何在linux中发送邮件,使用163邮箱发信。

linux中,可以使用mail命令往外发送邮件,在使用前,只需要指定如下简单配置即可,这里演示用  163.com    邮箱发送至 qq.com 编辑 /etc/mail.rc,写入下方的参数 set from=18211146***@163.com 发送邮件的邮箱 set smtp=smtp.163.com 邮箱域名,使用163邮箱发信,要填写smtp.163.com,而不是mail.163.com. set smtp-auth-user=18211146***@163.com #邮箱账号

PHP中发送邮件的几种方法总结

1. 使用 mail() 函数 没什么好讲的,就是使用系统自带的smtp系统来发送,一般是使用sendmail来发.这个按照各个系统不同而定.使用参考手册. 2. 使用管道的形式 昨天刚测试成功,使用本地的qmail来发送邮件. /* 使用qmail发送邮件函数 */function send_check_mail($email, $subject,$uid,$buffer){ $command =  "/var/qmail/bin/qmail-inject ".$email; //q

C#中发送邮件,包含Html代码

C#代码: /// <summary> /// 发送邮件 /// </summary> /// <param name="context"></param> /// <returns></returns> public string SendMail(HttpContext context) { try { if (!string.IsNullOrEmpty(CookiesHelper.getCookie(&quo

python中发送邮件各种问题

其实问题主要集中的QQ企业邮箱中,特别坑爹...代码如下: from email.mime.multipart import MIMEMultipart from email.mime.base import MIMEBase from email.mime.text import MIMEText # python 2.3.*: email.Utils email.Encoders from email.utils import COMMASPACE,formatdate from email

SAP中发送邮件

1 DATA: objbin LIKE solisti1 OCCURS 10 WITH HEADER LINE, 2 docdata LIKE sodocchgi1, 3 objtxt LIKE solisti1 OCCURS 10 WITH HEADER LINE, 4 objpack LIKE sopcklsti1 OCCURS 1 WITH HEADER LINE, 5 reclist LIKE somlreci1 OCCURS 1 WITH HEADER LINE, 6 objhead

关于云服务器中发送邮件,出现无法从传输连接中读取数据:

下次截图... 阿里云25端口需要申请,如果申请的话就没下面这些麻烦!!! 总之我就出现了这个错误. 如何一直都在解决这个问题 弄了一晚上,总结出了几个解决方案 第一  开启阿里云25端口 然后右边就会看见了 然后就是你的骚操作了(总之我没这样弄,太麻烦了,再加上我没域名,只能舍弃这个方法) 第二,使用163邮箱,开启465 端口 smtpclient.Port = 465; 结果没用,还是上面那个错误 果断丢弃 第三  ,服务器关闭  防火墙,重启,在加465端口,阿里云 配置一下安全组 本以