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

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

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

    Cyh的博客

    Email:kissyan4916@163.com
    posts - 26, comments - 19, trackbacks - 0, articles - 220

    JavaMail(3)--給多人發送郵件

    Posted on 2009-05-31 00:45 啥都寫點 閱讀(8378) 評論(0)  編輯  收藏 所屬分類: J2SE
    關鍵技術:
    • MimeMessage的setRecipients方法設置郵件的收件人,其中Message.RecipientType.TO常量表示收件人類型是郵件接收者,Message.RecipientType.CC常量表示收件人類型是抄送者,Message.RecipientType.BCC常量表示收件人的類型是密送著。
    • 在調用MimeMessage的setRecipients方法時,除了可以指定收件人的類型外,還可以傳入一個數組,指定多個收件人的地址。

    package book.email;

    import java.util.Date;

    import javax.mail.Address;
    import javax.mail.BodyPart;
    import javax.mail.Message;
    import javax.mail.MessagingException;
    import javax.mail.Multipart;
    import javax.mail.Session;
    import javax.mail.Transport;
    import javax.mail.internet.InternetAddress;
    import javax.mail.internet.MimeBodyPart;
    import javax.mail.internet.MimeMessage;
    import javax.mail.internet.MimeMultipart;

    /**
     * 發送郵件給多個接收者、抄送郵件
     
    */
    public class MultiMailsender {

        
    /**
         * 發送郵件給多個接收者
         * 
    @param mailInfo    帶發送郵件的信息
         * 
    @return
         
    */
        
    public static boolean sendMailtoMultiReceiver(MultiMailSenderInfo mailInfo){
            MyAuthenticator authenticator 
    = null;
            
    if (mailInfo.isValidate()) {
                authenticator 
    = new MyAuthenticator(mailInfo.getUserName(),
                        mailInfo.getPassword());
            }
            Session sendMailSession 
    = Session.getInstance(mailInfo
                    .getProperties(), authenticator);
            
    try {
                Message mailMessage 
    = new MimeMessage(sendMailSession);
                
    // 創建郵件發送者地址
                Address from = new InternetAddress(mailInfo.getFromAddress());
                mailMessage.setFrom(from);
                
    // 創建郵件的接收者地址,并設置到郵件消息中
                Address[] tos = null;
                String[] receivers 
    = mailInfo.getReceivers();
                
    if (receivers != null){
                    
    // 為每個郵件接收者創建一個地址
                    tos = new InternetAddress[receivers.length + 1];
                    tos[
    0= new InternetAddress(mailInfo.getToAddress());
                    
    for (int i=0; i<receivers.length; i++){
                        tos[i
    +1= new InternetAddress(receivers[i]);
                    }
                } 
    else {
                    tos 
    = new InternetAddress[1];
                    tos[
    0= new InternetAddress(mailInfo.getToAddress());
                }
                
    // 將所有接收者地址都添加到郵件接收者屬性中
                mailMessage.setRecipients(Message.RecipientType.TO, tos);
                
                mailMessage.setSubject(mailInfo.getSubject());
                mailMessage.setSentDate(
    new Date());
                
    // 設置郵件內容
                Multipart mainPart = new MimeMultipart();
                BodyPart html 
    = new MimeBodyPart();
                html.setContent(mailInfo.getContent(), 
    "text/html; charset=GBK");
                mainPart.addBodyPart(html);
                mailMessage.setContent(mainPart);
                
    // 發送郵件
                Transport.send(mailMessage);
                
    return true;
            } 
    catch (MessagingException ex) {
                ex.printStackTrace();
            }
            
    return false;
        }
        
        
    /**
         * 發送帶抄送的郵件
         * 
    @param mailInfo    待發送郵件的消息
         * 
    @return
         
    */
        
    public static boolean sendMailtoMultiCC(MultiMailSenderInfo mailInfo){
            MyAuthenticator authenticator 
    = null;
            
    if (mailInfo.isValidate()) {
                authenticator 
    = new MyAuthenticator(mailInfo.getUserName(),
                        mailInfo.getPassword());
            }
            Session sendMailSession 
    = Session.getInstance(mailInfo
                    .getProperties(), authenticator);
            
    try {
                Message mailMessage 
    = new MimeMessage(sendMailSession);
                
    // 創建郵件發送者地址
                Address from = new InternetAddress(mailInfo.getFromAddress());
                mailMessage.setFrom(from);
                
    // 創建郵件的接收者地址,并設置到郵件消息中
                Address to = new InternetAddress(mailInfo.getToAddress());
                mailMessage.setRecipient(Message.RecipientType.TO, to);
                
                
    // 獲取抄送者信息
                String[] ccs = mailInfo.getCcs();
                
    if (ccs != null){
                    
    // 為每個郵件接收者創建一個地址
                    Address[] ccAdresses = new InternetAddress[ccs.length];
                    
    for (int i=0; i<ccs.length; i++){
                        ccAdresses[i] 
    = new InternetAddress(ccs[i]);
                    }
                    
    // 將抄送者信息設置到郵件信息中,注意類型為Message.RecipientType.CC
                    mailMessage.setRecipients(Message.RecipientType.CC, ccAdresses);
                } 
                
                mailMessage.setSubject(mailInfo.getSubject());
                mailMessage.setSentDate(
    new Date());
                
    // 設置郵件內容
                Multipart mainPart = new MimeMultipart();
                BodyPart html 
    = new MimeBodyPart();
                html.setContent(mailInfo.getContent(), 
    "text/html; charset=GBK");
                mainPart.addBodyPart(html);
                mailMessage.setContent(mainPart);
                
    // 發送郵件
                Transport.send(mailMessage);
                
    return true;
            } 
    catch (MessagingException ex) {
                ex.printStackTrace();
            }
            
    return false;
        }

        
    public static void main(String[] args) {
            
    // 創建郵件信息
            MultiMailSenderInfo mailInfo = new MultiMailSenderInfo();
            mailInfo.setMailServerHost(
    "smtp.sina.com.cn");
            mailInfo.setMailServerPort(
    "25");
            mailInfo.setValidate(
    true);
            mailInfo.setUserName(
    "***");
            mailInfo.setPassword(
    "***");
            mailInfo.setFromAddress(
    "***@sina.com");
            mailInfo.setToAddress(
    "***@163.com");
            mailInfo.setSubject(
    "MyMail測試");
            mailInfo.setContent(
    "我的郵件測試\n\rMy test mail\n\r");

            String[] receivers 
    = new String[]{"***@163.com""***@tom.com"};
            String[] ccs 
    = receivers;
            mailInfo.setReceivers(receivers);
            mailInfo.setCcs(ccs);
            
            MultiMailsender.sendMailtoMultiReceiver(mailInfo);
            MultiMailsender.sendMailtoMultiCC(mailInfo);
        }
        
        
    /**
         * 發送多接收者類型郵件的基本信息
         
    */
        
    public static class MultiMailSenderInfo extends MailSenderInfo{
            
    // 郵件的接收者,可以有多個
            private String[] receivers;
            
    // 郵件的抄送者,可以有多個
            private String[] ccs;
            
            
    public String[] getCcs() {
                
    return ccs;
            }
            
    public void setCcs(String[] ccs) {
                
    this.ccs = ccs;
            }
            
    public String[] getReceivers() {
                
    return receivers;
            }
            
    public void setReceivers(String[] receivers) {
                
    this.receivers = receivers;
            }
        }
    }



                                                                                                           --    學海無涯
            

    主站蜘蛛池模板: 亚洲国产综合精品中文第一区| 91久久亚洲国产成人精品性色 | 性色av极品无码专区亚洲| 国产成人精品高清免费| sss在线观看免费高清| 久久久亚洲精品国产| 青青久在线视频免费观看| 深夜A级毛片视频免费| 亚洲国产精品一区二区第一页| 国产精彩免费视频| 精品一区二区三区无码免费直播| 亚洲国产精品无码专区在线观看| 免费国产在线观看老王影院| 亚在线观看免费视频入口| 亚洲经典千人经典日产| 亚洲精品无码专区久久久| 一二三四在线观看免费高清中文在线观看| 无忧传媒视频免费观看入口| 亚洲日韩乱码中文字幕| 亚洲精品国产字幕久久不卡| 亚洲av手机在线观看| av成人免费电影| 菠萝菠萝蜜在线免费视频| 亚洲精品天堂成人片AV在线播放| 亚洲人成网站在线观看播放动漫 | 亚洲va久久久噜噜噜久久狠狠| 夭天干天天做天天免费看| 最新国产乱人伦偷精品免费网站| 国产成人亚洲综合一区| 亚洲αv在线精品糸列| 亚洲香蕉成人AV网站在线观看| 成年女人18级毛片毛片免费| 国产午夜成人免费看片无遮挡| 国产精品美女久久久免费| 国产精品福利在线观看免费不卡| 免费一级全黄少妇性色生活片| 国产在亚洲线视频观看| 精品亚洲成在人线AV无码| 亚洲av无码国产精品夜色午夜 | 大地资源中文在线观看免费版| 成全视频在线观看免费|