中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

通過JMail發(fā)送郵件例子

2018-07-20    來源:open-open

容器云強勢上線!快速搭建集群,上萬Linux鏡像隨意使用
import java.util.Date;
import java.util.Properties;
import java.util.Vector;

import javax.activation.DataHandler;
import javax.activation.FileDataSource;
import javax.mail.Address;
import javax.mail.BodyPart;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Multipart;
import javax.mail.SendFailedException;
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;

import sun.misc.BASE64Encoder;

public class MailSend {

    private MimeMessage mimeMsg; //MIME郵件對象

    private Session session; //郵件會話對象

    private Properties props; //系統(tǒng)屬性

    private boolean needAuth = false; //smtp是否需要認證

    private String username = ""; //smtp認證用戶名和密碼

    private String password = "";

    private Multipart mp = new MimeMultipart(); //Multipart對象,郵件內(nèi)容,標題,附件等內(nèi)容均添加到其中后再生成MimeMessage對象

    public MailSend() {
        try {
            //  System.out.println("設(shè)置系統(tǒng)屬性:mail.smtp.host = "+"mail.tplife.com");
            if (props == null) {
                props = System.getProperties(); //獲得系統(tǒng)屬性對象
            }
            props.put("mail.smtp.host", "mail.tplife.com"); //設(shè)置SMTP主機
            //  System.out.println("準備獲取郵件會話對象!");
            session = Session.getDefaultInstance(props, null); //獲得郵件會話對象
            mimeMsg = new MimeMessage(session); //創(chuàng)建MIME郵件對象
        } catch (Exception e) {
            System.err.println("郵件初始化失。" + e);
        }
    }

    public void setSubject(String sub) {
        try {
            mimeMsg.setSubject(sub, "GB2312");
            //   System.out.println("設(shè)置郵件標題為:" + sub + ".");
        } catch (Exception e) {
            System.err.println("郵件標題設(shè)置失。" + e);
        }
    }

    public void setContent(String text, String type) {
        try {
            BodyPart bp = new MimeBodyPart();
            bp.setContent(text, type);
            mp.addBodyPart(bp);
            //   System.out.println("正在設(shè)置郵件內(nèi)容");
        } catch (Exception e) {
            System.err.println("郵件內(nèi)容設(shè)置失。" + e);
        }
    }

    public void setText(String text) {
        try {
            BodyPart bp = new MimeBodyPart();
            bp.setText(text);
            mp.addBodyPart(bp);
            //  System.out.println("正在設(shè)置郵件內(nèi)容");
        } catch (Exception e) {
            System.err.println("郵件內(nèi)容設(shè)置失。" + e);
        }
    }

    public void addAttach(String AttachURL) {
        try {
            //添加附件
            BodyPart bp = new MimeBodyPart();
            BASE64Encoder enc = new BASE64Encoder();//解決附件名亂碼問題
            FileDataSource fileds = new FileDataSource(AttachURL);
            bp.setDataHandler(new DataHandler(fileds));
            bp.setFileName("=?GBK?B?" + enc.encode((fileds.getName()).getBytes()) + "?=");
            //  System.out.println("增加郵件附件:" + fileds.getName());
            mp.addBodyPart(bp);
        } catch (Exception e) {
            System.err.println("郵件附件粘貼失!" + e);
        }
    }

    public void clearAttach() {
        try {
            int n = mp.getCount();
            System.out.println();
            for (int i = 0; i <= n - 1; i++) {
                mp.removeBodyPart(0);
            }
            mimeMsg.setContent(mp);
            mimeMsg.saveChanges();
        } catch (Exception e) {
            System.err.println("清除附件失敗!" + e);
        }
    }

    public void setFrom(String address) {
        try {
            mimeMsg.setFrom(new InternetAddress(address)); //設(shè)置發(fā)信人
            //   System.out.println("正在設(shè)置發(fā)件人地址");
        } catch (Exception e) {
            System.err.println("郵件發(fā)件人地址設(shè)置失!" + e);
        }
    }

    public void setRecipients(String address) {
        try {
            mimeMsg.setRecipients(Message.RecipientType.TO, InternetAddress.parse(address)); //收信人
            //  System.out.println("正在設(shè)置收件人地址");
        } catch (Exception e) {
            System.err.println("郵件收件人地址設(shè)置失!" + e);
        }
    }

    public void setRecipients(String[] address, String type) {
        try {
            Address[] add = new Address[address.length];
            if (address.length - 1 >= 0) {
                for (int i = 0; i <= address.length - 1; i++) {
                    add[i] = new InternetAddress(address[i]);
                }
                if (type == null)
                    type = "TO";
                if (type == "TO")
                    mimeMsg.setRecipients(Message.RecipientType.TO, add);
                else if (type == "CC")
                    mimeMsg.setRecipients(Message.RecipientType.CC, add);
                else if (type == "BCC")
                    mimeMsg.setRecipients(Message.RecipientType.BCC, add);//收信人
                else
                    System.out.println("類型不正確!");
                /// System.out.println("正在設(shè)置收件人地址");
            }
        } catch (Exception e) {
            System.err.println("郵件收件人地址設(shè)置失敗!" + e);
        }
    }

    public void setSentDate() {
        try {
            mimeMsg.setSentDate(new Date());
        } catch (Exception e) {
            System.err.println("時間設(shè)置失。" + e);
        }
    }

    public boolean sendMail() {
        boolean flag = false;
        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));
            System.out.println("發(fā)送郵件成功!");
            transport.close();
            flag = true;
        } catch (SendFailedException e1) {
            System.err.println("郵件發(fā)送失敗SendFailed!" + e1);
            return false;

        } catch (MessagingException e2) {
            System.err.println("郵件發(fā)送失敗Messaging!" + e2);
            return false;

        } catch (Exception e3) {
            System.err.println("郵件發(fā)送失敗!" + e3);
            return false;
        }

        return flag;
    }

    public static void main(String argv[]) {

        MailSend ms = new MailSend();
        ms.setSubject("");
        ms.setText("");
        ms.setFrom("liumin3@tplife.com");
        Vector TO = new Vector();
        TO.add("liumin3@tplife.com");
        TO.add("liumin3@tplife.com");
        ms.setRecipients((String[]) TO.toArray(), "TO");
        ms.setSentDate();
        ms.sendMail();

    }
}

標簽:

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請與原作者聯(lián)系。

上一篇:java實現(xiàn)Ping示例代碼

下一篇:Java開發(fā)之文件下載