發送郵件 1.工具類 SendmailUtil

1.工具類 SendmailUtil

package test;

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;

import com.sun.mail.util.MailSSLSocketFactory;

import java.io.FileOutputStream;
import java.io.OutputStream;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Properties;

public class SendmailUtil {

    //郵件服務器主機名
    // QQ郵箱的 SMTP 服務器地址爲: smtp.qq.com
    private static String smtp_url = "smtp.qq.com";

    //發件人郵箱
    private static String myEmailAccount = "[email protected]";

    //發件人郵箱密碼(授權碼)
    //在開啓SMTP服務時會獲取到一個授權碼,把授權碼填在這裏
    private static String myEmailPassword = "cvqqolqfrfdpbaje";

    /**
     * 郵件單發(自由編輯短信,併發送,適用於私信)
     *
     * @param toEmailAddress 收件箱地址
     * @param emailTitle 郵件主題
     * @param emailContent 郵件內容
     * @throws Exception
     */
    public static void sendEmail(String toEmailAddress, String emailTitle, String emailContent) throws Exception{
        
        //定義郵件會話參數
        Properties props = new Properties();
        // 開啓debug調試
        props.setProperty("mail.debug", "true");
        // 發送服務器需要身份驗證
//      props.setProperty("mail.smtp.auth", "true");
        // 端口號
//      props.put("mail.smtp.port", 465);
        // 設置郵件服務器主機名
//      props.setProperty("mail.smtp.host", smtp_url);
        // 發送郵件協議名稱
//      props.setProperty("mail.transport.protocol", "smtp");
        
        
        //創建郵件會話對象
        Session session = Session.getInstance(props, null);
        //創建消息對象
        MimeMessage message = new MimeMessage(session);
        
        //創建發件人/收件人地址對象
        InternetAddress fromAddress = new InternetAddress(myEmailAccount);
        InternetAddress toAddress = new InternetAddress(toEmailAddress);
        //爲消息對象設置發件人/收件人
        message.setFrom(fromAddress);
        message.addRecipient(Message.RecipientType.TO, toAddress);
        //設置郵件主題
        message.setSubject(emailTitle);
        
        //設置郵件內容,並設置爲編碼utf-8的超文本
        String text = pj(emailContent);
        message.setContent(text, "text/html;charset=utf-8");
        
        //設置傳輸對象,協議爲smtp
        Transport transport = session.getTransport("smtp");
        //進行連接
        transport.connect(smtp_url, myEmailAccount, myEmailPassword);
        //發送郵件
        
        transport.sendMessage(message, message.getRecipients(Message.RecipientType.TO));
        
        //關閉連接
        transport.close();
        
    }   
    
    static String pj(String emailContent){
        StringBuilder text = new StringBuilder();

        //寫入內容
        text.append("\n" + emailContent);

        //寫入我的官網
        text.append("\n官網:" + "https://www.shigmd.com");

        //定義要輸出日期字符串的格式
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

        //在內容後加入郵件發送的時間
        text.append("\n時間:" + sdf.format(new Date()));
        return text.toString();
    }

}

2.發送郵件 SendEmile

package test;

public class SendEmile{
    private final static String toEmailAddress = "[email protected]";
    private final static String emailTitle = "時光慢遞";
    private final static String emailContent = "<h2><font color=red>這倒黴孩子</font></h2><div style='background-color: gray; color: red; font-size: 24px; width: 1000px; height: 600px; display: block; border: 10px blue solid;'>"
            +"寫給一年後的我:<hr>感受停在我發端的指尖 如何瞬間凍結時間 記住望着我堅定的雙眼 也許已經沒有明天 面對浩瀚的星海 我們微小得像塵埃 漂浮在一片無奈 緣分讓我們相遇亂世以外 命運卻要我們危難中相愛 也許未來遙遠在光年之外 我願守候未知裏爲你等待 我沒想到爲了你我能瘋狂到 山崩海嘯沒有你根本不想逃 我的大腦爲了你已經瘋狂到 脈搏心跳沒有你根本不重要 一雙圍在我胸口的臂彎 足夠抵擋天旋地轉 一種執迷不放手的倔強 足以點燃所有希望 宇宙磅礴而冷漠 我們的愛微小卻閃爍 顛簸卻如此忘我 緣分讓我們相遇亂世以外 命運卻要我們危難中相愛 也許未來遙遠在光年之外 我願守候未知裏爲你等待 我沒想到爲了你我能瘋狂到 山崩海嘯沒有你根本不想逃 我的大腦爲了你已經瘋狂到 脈搏心跳沒有你根本不重要 也許航道以外是醒不來的夢 亂世以外."
            +"</div>";
    static void send() {
        try{
            //發送郵件
            SendmailUtil.sendEmail(toEmailAddress, emailTitle, emailContent);
        }catch(Exception e){
        }
    }
    
    public static void main(String[] args) {
        send();
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章