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

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

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

    隨筆-51  評(píng)論-14  文章-0  trackbacks-0

     

    package org.hank.mail;

    import java.util.Properties;

    import javax.activation.DataHandler;
    import javax.activation.FileDataSource;
    import javax.mail.Address;
    import javax.mail.BodyPart;
    import javax.mail.Message;
    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 Mail {
     
    //  21-30行把本程序所用變量進(jìn)行定義。 具體在main中對(duì)它們賦植。
     private MimeMessage mimeMsg; // MIME郵件對(duì)象
     private Session session; // 郵件會(huì)話(huà)對(duì)象
     private Properties props; // 系統(tǒng)屬性
     private boolean needAuth = false// smtp是否需要認(rèn)證
     private String username = ""// smtp認(rèn)證用戶(hù)名和密碼
     private String password = "";
     
    private Multipart mp; // Multipart對(duì)象,郵件內(nèi)容,標(biāo)題,附件等內(nèi)容均添加到其中后再生成//MimeMessage對(duì)象
     public Mail(String smtp)
     {
       setSmtpHost(smtp);
       createMimeMessage();
     }
     
     
    public void setSmtpHost(String hostName)
     {
       System.out.println(
    "設(shè)置系統(tǒng)屬性:mail.smtp.host = " + hostName);
       
    if (props == null)
        props 
    = System.getProperties(); // 獲得系統(tǒng)屬性對(duì)象
       props.put("mail.smtp.host", hostName); // 設(shè)置SMTP主機(jī)
     }
     
     
    public boolean createMimeMessage()
     {
       
    try {
        System.out.println(
    "準(zhǔn)備獲取郵件會(huì)話(huà)對(duì)象!");
        session 
    = Session.getDefaultInstance(props, null); // 獲得郵件會(huì)話(huà)對(duì)象
       }
       
    catch (Exception e)
       {
        System.err.println(
    "獲取郵件會(huì)話(huà)對(duì)象時(shí)發(fā)生錯(cuò)誤!" + e);
        
    return false;
       }
       System.out.println(
    "準(zhǔn)備創(chuàng)建MIME郵件對(duì)象!");
       
    try {
        mimeMsg 
    = new MimeMessage(session); // 創(chuàng)建MIME郵件對(duì)象
        mp = new MimeMultipart(); // mp 一個(gè)multipart對(duì)象
        
    // Multipart is a container that holds multiple body parts.
        return true;
       }
       
    catch (Exception e)
       {
        System.err.println(
    "創(chuàng)建MIME郵件對(duì)象失敗!" + e);
        
    return false;
       }
     }

     
    public void setNeedAuth(boolean need) {
        System.out.println(
    "設(shè)置smtp身份認(rèn)證:mail.smtp.auth = " + need);
        
    if (props == null)
         props 
    = System.getProperties();
        
    if (need) {
         props.put(
    "mail.smtp.auth""true");
        } 
    else {
         props.put(
    "mail.smtp.auth""false");
        }
     }
     
     
    public void setNamePass(String name, String pass)
     {
       System.out.println(
    "程序得到用戶(hù)名與密碼");
       username 
    = name;
       password 
    = pass;
     }
     
     
    public boolean setSubject(String mailSubject) {
        System.out.println(
    "設(shè)置郵件主題!");
        
    try {
         mimeMsg.setSubject(mailSubject);
         
    return true;
        }
        
    catch (Exception e) {
         System.err.println(
    "設(shè)置郵件主題發(fā)生錯(cuò)誤!");
         
    return false;
        }
     }
     
     
    public boolean setBody(String mailBody)
     {
       
    try
       {
        System.out.println(
    "設(shè)置郵件體格式");
        BodyPart bp 
    = new MimeBodyPart();
        bp.setContent(
          
    "<meta http-equiv=Content-Type content=text/html; charset=gb2312>"
          
    + mailBody, "text/html;charset=GB2312");
        mp.addBodyPart(bp);
        
    return true;
       }
       
    catch (Exception e)
       {
        System.err.println(
    "設(shè)置郵件正文時(shí)發(fā)生錯(cuò)誤!" + e);
        
    return false;
       }
     }
     
    public boolean addFileAffix(String filename) {
        System.out.println(
    "增加郵件附件:" + filename);
        
    try {
         BodyPart bp 
    = new MimeBodyPart();
         FileDataSource fileds 
    = new FileDataSource(filename);
         bp.setDataHandler(
    new DataHandler(fileds));
         bp.setFileName(fileds.getName());
         mp.addBodyPart(bp);
         
    return true;
        }
        
    catch (Exception e) {
         System.err.println(
    "增加郵件附件:" + filename + "發(fā)生錯(cuò)誤!" + e);
         
    return false;
        }
     }
     
     
    public boolean setFrom(String from) {
        System.out.println(
    "設(shè)置發(fā)信人!");
        
    try {
         mimeMsg.setFrom(
    new InternetAddress(from)); // 設(shè)置發(fā)信人
         return true;
        }
        
    catch (Exception e)
        {
         
    return false;
        }
     }
     
     
    public boolean setTo(String to)
     {
       System.out.println(
    "設(shè)置收信人");
       
    if (to == null)
        
    return false;
       
    try
       {
        mimeMsg.setRecipients(Message.RecipientType.TO, InternetAddress
          .parse(to));
        
    return true;
       }
       
    catch (Exception e)
       {
        
    return false;
       }
     }

     
    public boolean setCopyTo(String copyto)
     {
       System.out.println(
    "發(fā)送附件到");
       
    if (copyto == null)
        
    return false;
       
    try {
        mimeMsg.setRecipients(Message.RecipientType.CC,
          (Address[]) InternetAddress.parse(copyto));
        
    return true;
       }
       
    catch (Exception e)
       {
        
    return false;
       }
     }

     
    public boolean sendout()
     {
       
    try
       {
        mimeMsg.setContent(mp);
        mimeMsg.saveChanges();
        System.out.println(
    "正在發(fā)送郵件.");
        Session mailSession 
    = Session.getInstance(props, null);
        Transport transport 
    = mailSession.getTransport("smtp"); // ???
        transport.connect((String) props.get("mail.smtp.host"), username,
          password);
        transport.sendMessage(mimeMsg, mimeMsg
          .getRecipients(Message.RecipientType.TO));
        
    // transport.send(mimeMsg);
        System.out.println("發(fā)送郵件成功!");
        transport.close();
        
    return true;
       }
       
    catch (Exception e)
       {
        System.err.println(
    "郵件發(fā)送失敗!" + e);
        
    return false;
       }
     }

     
    public static void main(String[] args)
     {
       String mailbody 
    = "http://www.laabc.com 用戶(hù)郵件注冊(cè)測(cè)試 <font color=red>歡迎光臨</font> <a href=\"http://www.laabc.com\">啦ABC</a>";
       Mail themail = new Mail("smtp.163.com");
       themail.setNeedAuth(
    true);
       
    if (themail.setSubject("laabc.com郵件測(cè)試"== false)
        
    return;
       
    //郵件內(nèi)容 支持html 如 <font color=red>歡迎光臨</font> <a href=\"http://www.laabc.com\">啦ABC</a>
       if (themail.setBody(mailbody) == false)
        
    return;
       
    //收件人郵箱
       if (themail.setTo("aaa@163.com"== false)
        
    return;
       
    //發(fā)件人郵箱
       if (themail.setFrom("bbb@163.com"== false)
        
    return;
       
    //設(shè)置附件
       
    //if (themail.addFileAffix("#######") == false)
        
    //return; // 附件在本地機(jī)子上的絕對(duì)路徑
       
    //以下帳號(hào)信息為發(fā)件人郵箱
       themail.setNamePass("用戶(hù)名""密碼"); // 用戶(hù)名與密碼
       if (themail.sendout() == false)
        
    return;
     }
     
    }

    posted on 2008-04-30 13:19 Hank1026 閱讀(139) 評(píng)論(0)  編輯  收藏

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


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲?V乱码久久精品蜜桃| 97视频免费观看2区| 毛片免费观看网站| 国产成人精品亚洲2020| 毛片免费在线观看网站| 亚洲乱码中文字幕在线| 免费在线观看亚洲| 亚洲高清免费视频| 亚洲精品自在在线观看| 免费看男人j放进女人j免费看| 久久精品国产亚洲AV麻豆王友容| 男人的天堂网免费网站| 91久久亚洲国产成人精品性色 | 在线观看亚洲视频| 亚洲成A人片在线观看无码3D| 日本特黄特色AAA大片免费| 中文字幕亚洲日韩无线码| 日本在线免费播放| 亚洲国产美女视频| 好爽好紧好大的免费视频国产| 美女被爆羞羞网站在免费观看 | 久久丫精品国产亚洲av不卡| 成人免费视频77777| 国产精品成人亚洲| 亚洲VA中文字幕不卡无码| 国产精品免费网站| 免费无码又爽又黄又刺激网站| 亚洲精品午夜无码专区| 成人免费的性色视频| 黄色网址在线免费观看| 亚洲大片在线观看| 国产男女猛烈无遮挡免费网站 | 国产成人免费爽爽爽视频| 日本亚洲高清乱码中文在线观看| 亚洲无线观看国产精品| 最近在线2018视频免费观看| 国产午夜亚洲精品不卡免下载| 亚洲AV无码成人精品区天堂| 日本免费无遮挡吸乳视频电影| a级毛片无码免费真人久久| 亚洲性无码AV中文字幕|