当前位置:编程学习 > JAVA >>

Spring邮件服务之附件:Maven + Spring SMTP Mail With Attachment

环境:
JDK        1.6
  Spring     2.5.6
Javamail  1.4.4
Maven     3.0.4
Myeclipse 8.6.1

项目结构:

 \
 


spring-smtp-mail-attachment.xml
<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-2.5.xsd">
 
    <bean id="javaMailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
        <!-- 服务器 -->
        <property name="host" value="smtp.yeah.net" />
        <!-- 端口号 -->
        <property name="port" value="25" />
        <!-- 用户名 -->
        <property name="username" value="fancydeepin@yeah.net" />
        <!--  密码   -->
        <property name="password" value="*********" />
        <!-- SMTP服务器验证 -->
        <property name="javaMailProperties">
            <props>
               <!-- 验证身份 -->
               <prop key="mail.smtp.auth">true</prop>
            </props>
        </property>
    </bean>
    <!--
       目前我用过的EMAIL账号都是网易的,下面列出网易的SMTP服务器名和端口号:
       网易邮箱          SMTP服务器     SMTP端口    POP3服务器      POP3端口
       @126.com     smtp.126.com      25         pop3.126.com      110
       @163.com     smtp.163.com      25         pop3.163.com      110
       @yeah.net    smtp.yeah.net      25         pop3.yeah.net     110
    -->
   
    <bean id="simpleMailMessage" class="org.springframework.mail.SimpleMailMessage">
        <!-- 发件人email -->
        <property name="from" value="fancydeepin@yeah.net" />
        <!--
         收件人email
        <property name="to" value="to@yeah.net" />
        email主题(标题)
        <property name="subject" value="Subject" />
        email主题内容
        <property name="text">
          <value>ContentText</value>
        </property>
        -->
    </bean>
   
    <bean id="simpleMail" class="com.fancy.util.Email">
        <property name="javaMailSender" ref="javaMailSender" />
        <property name="simpleMailMessage" ref="simpleMailMessage" />
    </bean>
   
</beans>

Email.java

package com.fancy.util;

import javax.mail.internet.MimeMessage;
import org.springframework.core.io.ClassPathResource;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
/**
 * -----------------------------------------
 * @文件: Email.java
 * @作者: fancy  www.zzzyk.com
 * @邮箱: fancydeepin@yeah.net
 * @时间: 2012-6-12
 * @描述: 发送Email工具类
 * -----------------------------------------
 */
public class Email {
   
    private JavaMailSender javaMailSender;
    private SimpleMailMessage simpleMailMessage;
   
  /**
     * @方法名: sendMail
     * @参数名:@param subject 邮件主题
     * @参数名:@param content 邮件主题内容
     * @参数名:@param to        收件人Email地址
     * @描述语:  发送邮件
     */
    public void sendMail(String subject, String content, String to) {
       
        try {
            MimeMessage mimeMessage = javaMailSender.createMimeMessage();
          /**
             * new MimeMessageHelper(mimeMessage,true)之true个人见解:
             * 关于true参数,官方文档是这样解释的:
             * use the true flag to indicate you need a multipart message
             * 翻译过来就是:使用true,以表明你需要多个消息
             * 再去翻一下MimeMessageHelper的API,找到这样一句话:
             * supporting alternative texts, inline elements and attachments
             * 也就是说,如果要支持内联元素和附件就必须给定第二个参数为true
             * 否则抛出 java.lang.IllegalStateException 异常
             */
            MimeMess

补充:软件开发 , Java ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,