微軟發送郵箱,端口無屏蔽版

import javax.activation.DataHandler;
import javax.activation.DataSource;
import javax.activation.FileDataSource;
import javax.mail.*;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
import java.util.Properties;

public class Office365 {

public static void main(String[] args) {

    String sender = "[email protected]";
    String password = "xxx";

    // 收件人郵箱地址
    String receiver = "[email protected]";

    // office365 郵箱服務器地址及端口號
    String host = "smtp-mail.outlook.com";
    String prot = "587";

    try{

        Properties props = new Properties();
        // 開啓debug調試
        props.setProperty("mail.debug", "true");  //false
        // 發送服務器需要身份驗證
        props.setProperty("mail.smtp.auth", "true");
        // 設置郵件服務器主機名
        props.setProperty("mail.host", host);
        // 發送郵件協議名稱
        props.setProperty("mail.transport.protocol", "smtp");
        props.setProperty("mail.smtp.port", prot);
        props.put("mail.smtp.starttls.enable", "true");

        // 設置環境信息
        Session session = Session.getInstance(props);

        // 創建郵件對象
        MimeMessage msg = new MimeMessage(session);

        // 設置發件人
        msg.setFrom(new InternetAddress(sender));

        // 設置收件人
        msg.addRecipient(Message.RecipientType.TO, new InternetAddress(receiver));

        // 設置郵件主題
        msg.setSubject("this is subject");

        // 設置郵件內容
        Multipart multipart = new MimeMultipart();

        MimeBodyPart textPart = new MimeBodyPart();
        textPart.setText("this is the text");
        multipart.addBodyPart(textPart);

        // 添加附件
        MimeBodyPart attachPart = new MimeBodyPart();
        DataSource source = new FileDataSource("C:\\Users\\fanch\\Downloads\\favicon.ico");
        attachPart.setDataHandler(new DataHandler(source));
        attachPart.setFileName("image");
        multipart.addBodyPart(attachPart);

        msg.setContent(multipart);

        Transport transport = session.getTransport();
        // 連接郵件服務器
        transport.connect(sender, password);
        // 發送郵件
        transport.sendMessage(msg, new Address[]{new InternetAddress(receiver)});
        // 關閉連接
        transport.close();
    }catch( Exception e ){
        e.printStackTrace();
    }
}

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章