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

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

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

    posts - 0,  comments - 17,  trackbacks - 0
    package com.royal.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

    {


        private MimeMessage mimeMsg; // MIME郵件對象
        private Session session; // 郵件會話對象
        private Properties props; // 系統屬性
        //private boolean needAuth = false; // smtp是否需要認證
        private String username = ""; // smtp認證用戶名和密碼
        private String password = "";
        private Multipart mp; // Multipart對象,郵件內容,標題,附件等內容均添加到其中后再生成//MimeMessage對象

        public Mail(String smtp)
        {
            setSmtpHost(smtp);
            createMimeMessage();
        }
        public void setSmtpHost(String hostName)
        {
            System.out.println("設置系統屬性:mail.smtp.host = " + hostName);
            if (props == null)
                props = System.getProperties(); // 獲得系統屬性對象
            props.put("mail.smtp.host", hostName); // 設置SMTP主機
        }
        public boolean createMimeMessage()
        {
            try {
                System.out.println("準備獲取郵件會話對象!");
                session = Session.getDefaultInstance(props, null); // 獲得郵件會話對象
            }
            catch (Exception e)
            {
                System.err.println("獲取郵件會話對象時發生錯誤!" + e);
                return false;
            }
            System.out.println("準備創建MIME郵件對象!");
            try {
                mimeMsg = new MimeMessage(session); // 創建MIME郵件對象
                mp = new MimeMultipart(); // mp 一個multipart對象
                return true;
            }
            catch (Exception e)
            {
                System.err.println("創建MIME郵件對象失敗!" + e);
                return false;
            }
        }


        public void setNeedAuth(boolean need) {
            System.out.println("設置smtp身份認證: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("程序得到用戶名與密碼");
            username = name;
            password = pass;
        }

        public boolean setSubject(String mailSubject) {
            System.out.println("設置郵件主題!");
            try {
                mimeMsg.setSubject(mailSubject);
                return true;
            }
            catch (Exception e) {
                System.err.println("設置郵件主題發生錯誤!");
                return false;
            }
        }

        public boolean setBody(String mailBody)
        {
            try
            {
                System.out.println("設置郵件體格式");
                BodyPart bp = new MimeBodyPart();
                bp.setContent("<meta http-equiv=Content-Type content=text/html; charset=UTF-8>"+mailBody,"text/html;charset=UTF-8");
                mp.addBodyPart(bp);
                return true;
                
                
                
            }
            catch (Exception e)
            {
                System.err.println("設置郵件正文時發生錯誤!" + 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 + "發生錯誤!" + e);
                return false;
            }
        }

        public boolean setFrom(String from) {
            System.out.println("設置發信人!");
            try {
                mimeMsg.setFrom(new InternetAddress(from)); // 設置發信人
                return true;
            }
            catch (Exception e)
            {
                return false;
            }
        }
        public boolean setTo(String to)
        {
            System.out.println("設置收信人");
            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("發送附件到");
            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("正在發送郵件....");
                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("發送郵件成功!");
                transport.close();
                return true;
            }
            catch (Exception e)
            {
                System.err.println("郵件發送失敗!" + e);
                return false;
            }
        }

        /*public static void main(String[] args)
        {
            String mailbody = "<html><head></head><body><hr><font color=""red"">hello. This is a testing.</red></body></html>";
            Mail themail = new Mail("smtp.163.com");
            themail.setNeedAuth(true);
            if (themail.setSubject("dkjjf") == false)
                return;
            if (themail.setBody(mailbody) == false)
                return;
            if (themail.setTo("lyh@jobbaidu.com") == false)
                return;
            if (themail.setFrom("iversonpa@163.com") == false)
                return;
            //if (themail.addFileAffix("d://aaa.rar") == false)
                //return; // 附件在本地機子上的絕對路徑
            themail.setNamePass("iversonpa", "******"); // 用戶名與密碼
            if (themail.sendout() == false)
                return;
        }*/

    }

    posted on 2007-12-18 11:45 xyz 閱讀(207) 評論(0)  編輯  收藏 所屬分類: 他山之石

    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    留言簿

    隨筆檔案(1)

    文章分類(44)

    文章檔案(46)

    收藏夾(1)

    Adobe

    AOP

    API

    appServer

    BI

    c

    • c-free
    • codeblocks
    • codelite
    • CodeLite IDE 是一個強大的開源,跨平臺的 C/C++整合開發環境. 支持包括 Windows、Linux 和 Mac 系統下運行
    • codelite官網
    • dev-c++
    • Dev-C++是一個C&C++開發工具,它是一款自由軟件,遵守GPL協議。
    • GCC
    • GCC 原名為 GNU C 語言編譯器(GNU C Compiler),因為它原本只能處理 C語言。GCC 很快地擴展,變得可處理 C++。之后也變得可處理 Fortran、Pascal、Objective-C、Java, 以及 Ada 與其他語言。

    Cache

    CMS

    DB

    eclipse

    FreeMarker

    hibernate

    html5

    ibatis

    java

    jquery

    js

    json

    Linux

    Log

    mail server

    mobile

    mysql

    oauth

    openID

    other

    PHP

    portal

    report

    Scheduler

    schema

    Security

    SOA

    spring

    struts

    UI原型設計

    w3c

    Wap

    webservice

    xml

    供應鏈管理

    博客鏈接

    好網站

    工作流

    開源網

    招聘

    插件下載

    操作系統

    構建可伸縮的系統

    構建工具

    測試

    • IETest
    • IE官網
    • OpenSTA
    • Siege
    • Siege是一個壓力測試和評測工具,設計用于WEB開發這評估應用在壓力下的承受能力

    游戲

    源碼托管

    經營

    資源

    金融/財務

    搜索

    •  

    最新評論

    主站蜘蛛池模板: 国产美女无遮挡免费网站| 131美女爱做免费毛片| 国产又大又粗又硬又长免费| 国产精品亚洲片在线va| 成年人免费的视频| 亚洲成综合人影院在院播放| 24小时日本电影免费看| 在线电影你懂的亚洲| xx视频在线永久免费观看| 亚洲伊人色一综合网| 成年在线观看免费人视频草莓| 亚洲AV无码无限在线观看不卡| 成人免费在线视频| 羞羞漫画登录页面免费 | 成人免费无码视频在线网站| 亚洲jizzjizz在线播放久| 日韩免费a级毛片无码a∨| 亚洲欧美黑人猛交群| 亚洲精品视频在线观看你懂的| 热99RE久久精品这里都是精品免费| 久久精品国产亚洲av麻豆| 97性无码区免费| 国产亚洲精品美女| 亚洲产国偷V产偷V自拍色戒| 5555在线播放免费播放| 亚洲heyzo专区无码综合| 久久精品国产亚洲7777| 香港a毛片免费观看 | 国产精品亚洲mnbav网站| 大地影院MV在线观看视频免费 | 亚洲精品乱码久久久久久V| 亚洲成AV人网址| 毛片无码免费无码播放| 亚洲精品无码专区在线| 丝袜熟女国偷自产中文字幕亚洲| 亚洲a一级免费视频| 久久精品国产亚洲AV未满十八| 亚洲色中文字幕无码AV| 无限动漫网在线观看免费| 一本岛v免费不卡一二三区| 亚洲国产精品综合久久网各|