<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) 評(píng)論(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();
           
            //測(cè)試發(fā)送只有文本信息的簡(jiǎn)單測(cè)試
            springMail.sendTextMail(sender);
           
            //測(cè)試發(fā)送帶附件的郵件
            springMail.sendMimeMessage(sender);
        }
       
        /** *//**
         * 測(cè)試發(fā)送只有文本信息的簡(jiǎn)單測(cè)試
         * @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的簡(jiǎn)單測(cè)試");
            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ā)送的例子,請(qǐng)查收!");
                   
                    //向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,當(dāng)附件名為中文時(shí),會(huì)出現(xiàn)中文亂碼問題,對(duì)sendMimeMessage方法進(jìn)行了部分修改,如下:
       

                   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在线亚洲欧洲日产一区二区| 免费观看91视频| 亚洲乱妇熟女爽到高潮的片| 亚洲一区二区三区香蕉| 亚洲第一成年免费网站| 国产福利免费视频 | 99视频有精品视频免费观看| 亚洲偷自拍另类图片二区| 亚洲午夜福利精品久久| 四虎永久在线观看免费网站网址 | 国产免费的野战视频| 牛牛在线精品观看免费正| 久久精品国产亚洲AV嫖农村妇女| 国产成人免费全部网站| **俄罗斯毛片免费| 国产激情久久久久影院老熟女免费 | 国产精品亚洲а∨天堂2021 | 亚洲黄色三级视频| 中文字幕在亚洲第一在线| 男人的好看免费观看在线视频| 国产一级a毛一级a看免费视频 | 亚洲AV无码一区二区三区鸳鸯影院| 久久久久亚洲AV成人无码网站| 麻豆国产入口在线观看免费| 日本亚洲欧洲免费天堂午夜看片女人员| 亚洲国产精品自在自线观看| 亚洲一区二区在线免费观看| 亚洲精品线路一在线观看| 岛国片在线免费观看| 99久在线国内在线播放免费观看| 九九视频高清视频免费观看| 国产成人亚洲精品| 亚洲日本在线看片| 亚洲高清专区日韩精品| 亚洲国产日韩成人综合天堂| 国产精品免费播放| 成人免费视频软件网站|