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

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

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

    posts - 75,comments - 83,trackbacks - 0

    Spring郵件抽象層的主要包為org.springframework.mail。它包括了發(fā)送電子郵件的主要接口MailSender,和值對(duì)象SimpleMailMessage,它封裝了簡(jiǎn)單郵件的屬性如from, to,cc, subject,text。 包里還包含一棵以MailException為根的checked Exception繼承樹(shù),它們提供了對(duì)底層郵件系統(tǒng)異常的高級(jí)別抽象。 要獲得關(guān)于郵件異常層次的更豐富的信息,請(qǐng)參考Javadocs。

    為了使用JavaMail中的一些特色, 比如MIME類型的信件, Spring提供了MailSender的一個(gè)子接口, 即org.springframework.mail.javamail.JavaMailSender。Spring還提供了一個(gè)回調(diào)接口org.springframework.mail.javamail.MimeMessagePreparator, 用于準(zhǔn)備JavaMail的MIME信件。

    1.發(fā)送簡(jiǎn)單的文本郵件

    package ?net.xftzr.mail;
    import ?java.util.Properties;

    import ?org.springframework.mail.SimpleMailMessage;?
    import ?org.springframework.mail.javamail.JavaMailSenderImpl;?

    /**
    ?*?本類測(cè)試簡(jiǎn)單郵件?
    ?*?直接用郵件發(fā)送
    ?*?
    @author ?Administrator
    ?*
    ?
    */
    public ? class ?SingleMailSend?{?
    ??
    public ? static ? void ?main(String?args[]){?
    ????JavaMailSenderImpl?senderImpl?
    = ? new ?JavaMailSenderImpl();?
    ??
    // 設(shè)定mail?server?
    ????senderImpl.setHost( " smtp.163.com " );
    ?????
    ????
    // 建立郵件消息?
    ????SimpleMailMessage?mailMessage? = ? new ?SimpleMailMessage();?
    ????
    // 設(shè)置收件人,寄件人?用數(shù)組發(fā)送多個(gè)郵件
    ????
    // String[]?array?=?new?String[]????{"sun111@163.com","sun222@sohu.com"};????
    ????
    // mailMessage.setTo(array);?
    ????mailMessage.setTo( " toEmail@sina.com " );?
    ????mailMessage.setFrom(
    " userName@163.com " );?
    ????mailMessage.setSubject(
    " 測(cè)試簡(jiǎn)單文本郵件發(fā)送! " );?
    ????mailMessage.setText(
    " 測(cè)試我的簡(jiǎn)單郵件發(fā)送機(jī)制!! " );?
    ????
    ????senderImpl.setUsername(
    " userName " )?;? // ?根據(jù)自己的情況,設(shè)置username
    ????senderImpl.setPassword( " password " )?;? // ?根據(jù)自己的情況,?設(shè)置password
    ????
    ?Properties?prop?
    = ? new ?Properties()?;
    ?prop.put(
    " mail.smtp.auth " ,? " true " )?;? // ?將這個(gè)參數(shù)設(shè)為true,讓服務(wù)器進(jìn)行認(rèn)證,認(rèn)證用戶名和密碼是否正確
    ?prop.put( " mail.smtp.timeout " ,? " 25000 " )?;?
    ?senderImpl.setJavaMailProperties(prop);??
    ????
    // 發(fā)送郵件?
    ????senderImpl.send(mailMessage);?
    ?????
    ????System.out.println(
    " 郵件發(fā)送成功.. " );?
    ?????}?
    ??}?

    2.發(fā)送簡(jiǎn)單的html郵件

    org.springframework.mail.javamail.MimeMessageHelper是處理JavaMail郵件常用的順手組件之一。它可以讓你擺脫繁復(fù)的javax.mail.internetAPI類
    package?net.xftzr.mail;


    import?java.util.Properties;

    import?javax.mail.internet.MimeMessage;?
    import?org.springframework.mail.javamail.JavaMailSenderImpl;?
    import?org.springframework.mail.javamail.MimeMessageHelper;?
    /**?
    ?*?本類測(cè)試html郵件?
    ?*?
    @author?sunny?
    ?*?
    ?
    */?
    public?class?HTMLMailDemo?{?
    /**?
    *?
    @param?args?
    */?
    public?static?void?main(String[]?args)?throws?Exception{?
    ????JavaMailSenderImpl?senderImpl?
    =?new?JavaMailSenderImpl();?
    ????
    ????
    //設(shè)定mail?server?
    ????senderImpl.setHost("smtp.163.com");?
    ????
    ????
    //建立郵件消息,發(fā)送簡(jiǎn)單郵件和html郵件的區(qū)別?
    ????MimeMessage?mailMessage?=?senderImpl.createMimeMessage();?
    ????MimeMessageHelper?messageHelper?
    =?new?MimeMessageHelper(mailMessage);?
    ?????????????
    ????
    //設(shè)置收件人,寄件人?
    ????messageHelper.setTo("Mailto@sina.com");?
    ????messageHelper.setFrom(
    "username@163.com");?
    ????messageHelper.setSubject(
    "測(cè)試HTML郵件!");?
    ????
    //true?表示啟動(dòng)HTML格式的郵件?
    ????messageHelper.setText("<html><head></head><body><h1>hello!!spring?html?Mail</h1></body></html>",true);?
    ????
    ????senderImpl.setUsername(
    "username")?;?//?根據(jù)自己的情況,設(shè)置username
    ????senderImpl.setPassword("password")?;?//?根據(jù)自己的情況,?設(shè)置password
    ????Properties?prop?=?new?Properties()?;
    ????prop.put(
    "mail.smtp.auth",?"true")?;?//?將這個(gè)參數(shù)設(shè)為true,讓服務(wù)器進(jìn)行認(rèn)證,認(rèn)證用戶名和密碼是否正確
    ????prop.put("mail.smtp.timeout",?"25000")?;?
    ????senderImpl.setJavaMailProperties(prop);?
    ????
    //發(fā)送郵件?
    ????senderImpl.send(mailMessage);?
    ????
    ????System.out.println(
    "郵件發(fā)送成功..");?
    }?
    }?

    3.發(fā)送嵌套圖片的郵件


    Email允許添加附件,也允許在multipart信件中內(nèi)嵌資源。內(nèi)嵌資源可能是你在信件中希望使用的圖像,或者樣式表,但是又不想把它們作為附件。
    package?net.xftzr.mail;

    import?java.io.File;?
    import?java.util.Properties;

    import?javax.mail.internet.MimeMessage;?
    import?org.springframework.core.io.FileSystemResource;?
    import?org.springframework.mail.javamail.JavaMailSenderImpl;?
    import?org.springframework.mail.javamail.MimeMessageHelper;?
    /**?
    ?*?本類測(cè)試郵件中嵌套圖片?
    ?*?
    @author?sunny????
    ?*?
    ?
    */?
    public?class?AttachedImageMail?{?
    public?static?void?main(String[]?args)?throws?Exception{?
    ????JavaMailSenderImpl?senderImpl?
    =?new?JavaMailSenderImpl();?
    ????
    ????
    //設(shè)定mail?server?
    ????senderImpl.setHost("smtp.163.com");?

    ????
    //建立郵件消息,發(fā)送簡(jiǎn)單郵件和html郵件的區(qū)別?
    ????MimeMessage?mailMessage?=?senderImpl.createMimeMessage();?
    ????
    //注意這里的boolean,等于真的時(shí)候才能嵌套圖片,在構(gòu)建MimeMessageHelper時(shí)候,所給定的值是true表示啟用,?????????
    ????
    //multipart模式?
    ????MimeMessageHelper?messageHelper?=?new?MimeMessageHelper(mailMessage,true);?
    ????
    ????
    //設(shè)置收件人,寄件人?
    ????messageHelper.setTo("toMail@sina.com");?
    ????messageHelper.setFrom(
    "username@163.com");?
    ????messageHelper.setSubject(
    "測(cè)試郵件中嵌套圖片!!");?
    ????
    //true?表示啟動(dòng)HTML格式的郵件?
    ????messageHelper.setText("<html><head></head><body><h1>hello!!spring?image?html?mail</h1>"?+?
    ????
    "<img?src=\"cid:aaa\"/></body></html>",true);?
    ????????
    ????FileSystemResource?img?
    =?new?FileSystemResource(new?File("g:/123.jpg"));?
    ????
    ????messageHelper.addInline(
    "aaa",img);?
    ????
    ????senderImpl.setUsername(
    "username")?;?//?根據(jù)自己的情況,設(shè)置username
    ????senderImpl.setPassword("password")?;?//?根據(jù)自己的情況,?設(shè)置password
    ????Properties?prop?=?new?Properties()?;
    ????prop.put(
    "mail.smtp.auth",?"true")?;?//?將這個(gè)參數(shù)設(shè)為true,讓服務(wù)器進(jìn)行認(rèn)證,認(rèn)證用戶名和密碼是否正確
    ????prop.put("mail.smtp.timeout",?"25000")?;?
    ????senderImpl.setJavaMailProperties(prop);?
    ????
    ????
    //發(fā)送郵件?
    ????senderImpl.send(mailMessage);?
    ????
    ????System.out.println(
    "郵件發(fā)送成功..");?
    }?
    }?

    4.發(fā)送包含附件的郵件
    package?net.xftzr.mail;



    import?java.io.File;?
    import?java.util.Properties;

    import?javax.mail.internet.MimeMessage;?
    import?org.springframework.core.io.FileSystemResource;?
    import?org.springframework.mail.javamail.JavaMailSenderImpl;?
    import?org.springframework.mail?.javamail.MimeMessageHelper;?
    public?class?AttachedFileMail?{?
    /**?
    *?本類測(cè)試的是關(guān)于郵件中帶有附件的例子?
    *?
    @param?args?
    */
    ?
    public?static?void?main(String[]?args)?throws?Exception{?
    ????JavaMailSenderImpl?senderImpl?
    =?new?JavaMailSenderImpl();?
    ????
    ????
    //設(shè)定mail?server?
    ????senderImpl.setHost("smtp.163.com");?
    ????
    //建立郵件消息,發(fā)送簡(jiǎn)單郵件和html郵件的區(qū)別?
    ????MimeMessage?mailMessage?=?senderImpl.createMimeMessage();?
    ????
    //注意這里的boolean,等于真的時(shí)候才能嵌套圖片,在構(gòu)建MimeMessageHelper時(shí)候,所給定的值是true表示啟用,?????????
    ????
    //multipart模式?為true時(shí)發(fā)送附件?可以設(shè)置html格式
    ????MimeMessageHelper?messageHelper?=?new?MimeMessageHelper(mailMessage,true,"utf-8");?
    ????
    ????
    //設(shè)置收件人,寄件人?
    ????messageHelper.setTo("toMail@sina.com");????
    ????messageHelper.setFrom(
    "username@163.com");?
    ????messageHelper.setSubject(
    "測(cè)試郵件中上傳附件!!");?
    ????
    //true?表示啟動(dòng)HTML格式的郵件?
    ????messageHelper.setText("<html><head></head><body><h1>你好:附件中有學(xué)習(xí)資料!</h1></body></html>",true);?
    ????????
    ????FileSystemResource?file?
    =?new?FileSystemResource(new?File("g:/test.rar"));?
    ????
    //這里的方法調(diào)用和插入圖片是不同的。?
    ????messageHelper.addAttachment("test.rar",file);?
    ????
    ????senderImpl.setUsername(
    "username")?;?//?根據(jù)自己的情況,設(shè)置username
    ????senderImpl.setPassword("password")?;?//?根據(jù)自己的情況,?設(shè)置password
    ????Properties?prop?=?new?Properties()?;
    ????prop.put(
    "mail.smtp.auth",?"true")?;?//?將這個(gè)參數(shù)設(shè)為true,讓服務(wù)器進(jìn)行認(rèn)證,認(rèn)證用戶名和密碼是否正確
    ????prop.put("mail.smtp.timeout",?"25000")?;?
    ????senderImpl.setJavaMailProperties(prop);?
    ????
    //發(fā)送郵件?
    ????senderImpl.send(mailMessage);?
    ????
    ????System.out.println(
    "郵件發(fā)送成功..");?
    }
    ?
    }






    posted on 2008-12-08 10:32 梓楓 閱讀(5901) 評(píng)論(3)  編輯  收藏 所屬分類: spring發(fā)送郵件

    FeedBack:
    # re: spring各種郵件發(fā)送
    2008-12-08 14:05 | 路人
    # re: spring各種郵件發(fā)送
    2014-12-23 15:38 | youngjoy
    如果希望得到服務(wù)器的返回信息怎么辦?  回復(fù)  更多評(píng)論
      
    # re: spring各種郵件發(fā)送[未登錄](méi)
    2016-06-02 15:28 | 1

    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲福利精品电影在线观看| 国产午夜鲁丝片AV无码免费| 亚洲人成电影青青在线播放| 成人免费777777| 一级特黄录像视频免费| 亚洲AV日韩AV永久无码绿巨人 | 国产福利免费视频| 亚洲国产成+人+综合| 又黄又大又爽免费视频| 午夜无码A级毛片免费视频| 亚洲欧美第一成人网站7777 | 久久综合九九亚洲一区| 成全视频在线观看免费高清动漫视频下载| 日韩色视频一区二区三区亚洲| 亚洲AV午夜成人片| 国产成人免费A在线视频| 香蕉成人免费看片视频app下载| 国产精品亚洲lv粉色| 亚洲成人激情在线| 国产成人无码a区在线观看视频免费| 久久青草91免费观看| 看全免费的一级毛片| 亚洲电影在线播放| 奇米影视亚洲春色| 免费鲁丝片一级观看| 91热久久免费精品99| 久青草国产免费观看| 亚洲色最新高清av网站| 久久久久亚洲精品影视| 亚洲av午夜成人片精品电影| 免费精品国产自产拍在线观看图片| 国产特黄一级一片免费| 亚洲精品色在线网站| 亚洲国产福利精品一区二区| 亚洲AV无码专区国产乱码电影| 国产91久久久久久久免费| 免费毛片a在线观看67194| 日本高清高色视频免费| 国产精品玖玖美女张开腿让男人桶爽免费看 | 亚洲av无码一区二区三区人妖| 亚洲经典在线中文字幕|