<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);
                    }
    主站蜘蛛池模板: 亚洲六月丁香六月婷婷色伊人| 日本高清免费中文在线看| 深夜国产福利99亚洲视频| 99精品视频在线视频免费观看| 亚洲成a人无码亚洲成www牛牛 | 亚洲高清在线播放| 国产精品成人无码免费| 最近最好最新2019中文字幕免费| 黄色一级毛片免费看| 亚洲丝袜中文字幕| 图图资源网亚洲综合网站| 亚洲男人的天堂在线va拉文| 女人18毛片a级毛片免费| 亚洲最大免费视频网| 99久久精品毛片免费播放| 国产精品亚洲综合天堂夜夜| 国产成人精品亚洲日本在线| 久久狠狠高潮亚洲精品| 国产亚洲真人做受在线观看| 亚洲区小说区图片区| 四虎影视在线永久免费观看| 成人免费视频88| 最近中文字幕免费mv视频8| 免费三级毛片电影片| 免费福利在线播放| 99在线观看视频免费| 免费网站观看WWW在线观看| 岛国精品一区免费视频在线观看 | 永久黄色免费网站| 久久久免费的精品| 国产免费一区二区三区在线观看 | 国产精品亚洲A∨天堂不卡| 久久国产成人亚洲精品影院 | 国产午夜不卡AV免费| 四虎国产精品免费永久在线| 中文在线日本免费永久18近| 91精品全国免费观看青青| 久久久久久免费一区二区三区| 国产午夜精品久久久久免费视| 99re免费99re在线视频手机版| 97在线视频免费|