<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 閱讀(212) 評論(0)  編輯  收藏 所屬分類: 他山之石

    <2025年7月>
    293012345
    6789101112
    13141516171819
    20212223242526
    272829303112
    3456789

    留言簿

    隨筆檔案(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開發這評估應用在壓力下的承受能力

    游戲

    源碼托管

    經營

    資源

    金融/財務

    搜索

    •  

    最新評論

    主站蜘蛛池模板: 人碰人碰人成人免费视频| 亚洲成AV人在线播放无码 | 成人无码精品1区2区3区免费看| 99在线精品视频观看免费| 亚洲日韩图片专区第1页| 很黄很污的网站免费| 亚洲av鲁丝一区二区三区| 国产精品免费无遮挡无码永久视频 | 亚洲VA综合VA国产产VA中| 日本高清免费不卡在线| 亚洲粉嫩美白在线| 在线观看免费成人| 看全免费的一级毛片| 亚洲AV蜜桃永久无码精品| 波多野结衣亚洲一级| 亚洲a∨无码一区二区| 免费看无码特级毛片| 亚洲AV无码第一区二区三区 | 成人奭片免费观看| 亚洲国产美女精品久久久| 19禁啪啪无遮挡免费网站| 亚洲福利秒拍一区二区| 成人毛片免费视频| av电影在线免费看| 亚洲国产精品一区| 全免费A级毛片免费看网站| 深夜A级毛片视频免费| 亚洲成AV人在线播放无码| 毛片a级毛片免费观看品善网 | 久久久免费观成人影院| 4444亚洲国产成人精品| 精品国产免费一区二区| 国产福利免费视频| 亚洲国产中文在线二区三区免| 日日操夜夜操免费视频| 免费人成黄页在线观看日本| 亚洲国产精品一区二区久| 亚洲日韩国产精品乱| 99ee6热久久免费精品6| 国产亚洲精品精华液| 免费观看的毛片大全|