<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 0, comments - 77, trackbacks - 0, articles - 356
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    spring mail發送

    Posted on 2007-05-11 17:58 semovy 閱讀(1187) 評論(0)  編輯  收藏 所屬分類: spring

    package com.action;

    import java.util.ArrayList;
    import java.util.Date;
    import java.util.Iterator;
    import java.util.List;

    import javax.activation.DataHandler;
    import javax.activation.FileDataSource;
    import javax.mail.Message;
    import javax.mail.MessagingException;
    import javax.mail.Multipart;
    import javax.mail.internet.InternetAddress;
    import javax.mail.internet.MimeBodyPart;
    import javax.mail.internet.MimeMessage;
    import javax.mail.internet.MimeMultipart;

    import org.springframework.context.ApplicationContext;
    import org.springframework.context.support.FileSystemXmlApplicationContext;
    import org.springframework.mail.SimpleMailMessage;
    import org.springframework.mail.javamail.JavaMailSender;
    import org.springframework.mail.javamail.MimeMessagePreparator;

     

    public class SpringMail {
     public static void main(String[] args) throws Exception {
            ApplicationContext ctx = new FileSystemXmlApplicationContext(
                    "applicationContext.xml");
            JavaMailSender sender = (JavaMailSender) ctx.getBean("mailSender");
            SpringMail springMail = new SpringMail();
           
            //測試發送只有文本信息的簡單測試
            springMail.sendTextMail(sender);
           
            //測試發送帶附件的郵件
            springMail.sendMimeMessage(sender);
        }
       
        /** *//**
         * 測試發送只有文本信息的簡單測試
         * @param sender 郵件發送器
         * @throws Exception
         */
        private void sendTextMail(JavaMailSender sender) throws Exception {
            SimpleMailMessage mail = new SimpleMailMessage();
            mail.setTo("superman_wshm@126.com");
            mail.setFrom("superman_wshm@126.com");
            mail.setSubject("test by amigo");
            mail.setText("spring Mail的簡單測試");
            sender.send(mail);
           
            System.out.println("成功發送文本文件!");
        }
       
        /** *//**
         * 發送帶附件的郵件
         * @param sender 郵件發送器
         * @throws Exception
         */
        private void sendMimeMessage(final JavaMailSender sender) throws Exception {
            //附件文件集合
            final List files = new ArrayList();
            MimeMessagePreparator mimeMail = new MimeMessagePreparator() {
                public void prepare(MimeMessage mimeMessage) throws MessagingException {
                    mimeMessage.setRecipient(Message.RecipientType.TO,
                            new InternetAddress("superman_wshm@126.com"));
                    mimeMessage.setFrom(new InternetAddress("superman_wshm@126.com"));
                    mimeMessage.setSubject("Spring發送帶附件的郵件", "gb2312");
                   
                    Multipart mp = new MimeMultipart();
                   
                    //向Multipart添加正文

                    MimeBodyPart content = new MimeBodyPart();
                    content.setText("內含spring郵件發送的例子,請查收!");
                   
                    //向MimeMessage添加(Multipart代表正文)
                    mp.addBodyPart(content);
                    files.add("com/action/SpringMail.java");
                    files.add("applicationContext.xml");
                   
                    //向Multipart添加附件
                    Iterator it = files.iterator();
                    while(it.hasNext()) {
                        MimeBodyPart attachFile = new MimeBodyPart();
                        String filename = it.next().toString();
                        FileDataSource fds = new FileDataSource(filename);
                        attachFile.setDataHandler(new DataHandler(fds));
                        attachFile.setFileName(fds.getName());
                        mp.addBodyPart(attachFile);
                    }
                   
                    files.clear();
                   
                    //向Multipart添加MimeMessage
                    mimeMessage.setContent(mp);
                    mimeMessage.setSentDate(new Date());
                }
            };

            //發送帶附件的郵件
            sender.send(mimeMail);
           
            System.out.println("成功發送帶附件郵件!");
        }

    }


    Spring配置文件applicationContext.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "

    <beans>
     <bean id="mailSender"
      class="org.springframework.mail.javamail.JavaMailSenderImpl">
      <property name="host">
       <value>smtp.126.com</value>
      </property>
      <property name="javaMailProperties">
       <props>
        <prop key="mail.smtp.auth">true</prop>
        <prop key="mail.smtp.timeout">25000</prop>
       </props>
      </property>
      <property name="username">
       <value>superman_wshm</value>
      </property>
      <property name="password">
       <value>******</value>
      </property>
     </bean>


    </beans>


     剛才發現一bug,當附件名為中文時,會出現中文亂碼問題,對sendMimeMessage方法進行了部分修改,如下:
       

                   sun.misc.BASE64Encoder enc = new sun.misc.BASE64Encoder();
                    files.add(
    "src/SpringMail.java");
                    files.add(
    "src/applicationContext.xml");
                    files.add(
    "src/謝星星.xml");
                    
                    
    //向Multipart添加附件
                    Iterator it = files.iterator();
                 
    while (it.hasNext()) {
                        MimeBodyPart attachFile 
    = new MimeBodyPart();
                        String filename 
    = it.next().toString();
                        FileDataSource fds 
    = new FileDataSource(filename);
                        attachFile.setDataHandler(
    new DataHandler(fds));
                        attachFile.setFileName(
    "=?GBK?B?"+enc.encode(fds.getName().getBytes())+"?=");
                        mp.addBodyPart(attachFile);
                    }
    主站蜘蛛池模板: 亚洲日韩中文无码久久| 无码不卡亚洲成?人片| 精品亚洲成AV人在线观看| 久久国产精品免费| 亚洲综合AV在线在线播放 | 中文字幕亚洲综合小综合在线 | 永久免费av无码不卡在线观看| 亚洲国产日韩在线成人蜜芽| 亚洲免费中文字幕| 亚洲一卡二卡三卡四卡无卡麻豆| 足恋玩丝袜脚视频免费网站| 亚洲午夜久久久精品电影院| 97在线观免费视频观看| 亚洲第一男人天堂| 国产黄色片在线免费观看| 免费看一级高潮毛片| 亚洲精品国产品国语在线| 亚洲免费视频网站| 亚洲首页国产精品丝袜| 日韩精品视频免费观看| 成人久久久观看免费毛片| 亚洲AV无码精品无码麻豆| 国产精品1024永久免费视频| 亚洲国产综合AV在线观看| 免费乱理伦在线播放| 青青操免费在线视频| 亚洲精品人成电影网| 日本xxwwxxww在线视频免费| ssswww日本免费网站片| 亚洲欧洲第一a在线观看| 青青青免费国产在线视频小草| 亚洲AV成人无码久久WWW| 国产亚洲精品资源在线26u| 国产91色综合久久免费分享| 亚洲国产一区二区三区在线观看| 国产午夜亚洲精品理论片不卡| 91短视频在线免费观看| 日韩欧美亚洲国产精品字幕久久久| 亚洲色大成网站www永久一区| 毛片网站免费在线观看| 久久免费观看视频|