<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 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

    spring mail發(fā)送

    Posted on 2007-05-11 17:58 semovy 閱讀(1181) 評論(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();
           
            //測試發(fā)送只有文本信息的簡單測試
            springMail.sendTextMail(sender);
           
            //測試發(fā)送帶附件的郵件
            springMail.sendMimeMessage(sender);
        }
       
        /** *//**
         * 測試發(fā)送只有文本信息的簡單測試
         * @param sender 郵件發(fā)送器
         * @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("成功發(fā)送文本文件!");
        }
       
        /** *//**
         * 發(fā)送帶附件的郵件
         * @param sender 郵件發(fā)送器
         * @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發(fā)送帶附件的郵件", "gb2312");
                   
                    Multipart mp = new MimeMultipart();
                   
                    //向Multipart添加正文

                    MimeBodyPart content = new MimeBodyPart();
                    content.setText("內(nèi)含spring郵件發(fā)送的例子,請查收!");
                   
                    //向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());
                }
            };

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

    }


    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>


     剛才發(fā)現(xiàn)一bug,當附件名為中文時,會出現(xiàn)中文亂碼問題,對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);
                    }
    主站蜘蛛池模板: a级亚洲片精品久久久久久久| 国产一级特黄高清免费大片| 日本红怡院亚洲红怡院最新| 一级女性全黄生活片免费看| 亚洲精品尤物yw在线影院| 一进一出60分钟免费视频| 亚洲男人在线无码视频| 久久国产一片免费观看| 亚洲人精品午夜射精日韩| 免费毛片a线观看| 亚洲欧洲免费视频| 18禁免费无码无遮挡不卡网站 | 亚洲精品99久久久久中文字幕 | 亚洲精品国产综合久久久久紧| 特级做A爰片毛片免费69| 亚洲中文字幕久久精品蜜桃| 国产免费人成视频在线观看| www成人免费视频| 亚洲精品乱码久久久久久久久久久久 | 特级无码毛片免费视频| 在线精品亚洲一区二区三区| 男人的天堂网免费网站| 亚洲日本乱码一区二区在线二产线 | 亚洲砖码砖专无区2023| 国产一区二区三区在线免费| 黄 色一级 成 人网站免费| 久久亚洲成a人片| 免费电影在线观看网站| 麻豆91免费视频| 亚洲成人在线网站| 午夜一级毛片免费视频| 久久国产福利免费| 亚洲a∨无码男人的天堂| 亚洲国产小视频精品久久久三级 | 你懂的网址免费国产| 亚洲精品成人久久| 亚洲AV伊人久久青青草原| 日本免费久久久久久久网站| 亚洲日本VA午夜在线电影| 亚洲中久无码不卡永久在线观看| 在线观看免费av网站|