天天看點

Java:javax.mail通過163伺服器發送郵件

依賴

<dependency>
    <groupId>javax.mail</groupId>
    <artifactId>mail</artifactId>
    <version>1.4.7</version>
</dependency>      

代碼示例

package com.example.demo;

import javax.mail.*;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import java.util.Properties;

public class SendEmail {

    public static Properties getProperties(){

        Properties properties = new Properties();

        // 開啟debug調試
        properties.setProperty("mail.debug", "true");
        // 郵件伺服器
        properties.setProperty("mail.smtp.host", "smtp.163.com");
        // 端口号
        properties.setProperty("mail.smtp.port", "25");
        // 需要身份驗證
        properties.setProperty("mail.smtp.auth", "true");

        // 發送郵件協定
        properties.setProperty("mail.transport.protocol", "smtp");

        return properties;

    }

    public static void main(String[] args) {

        // 發件人
        String fromUser = "[email protected]";
        // 用戶端授權碼
        String password = "xxx";
        // 收件人
        String toUser = "[email protected]";

        // 擷取預設session對象
        Session session = Session.getInstance(getProperties());

        try {
            // 建立預設的 MimeMessage 對象
            MimeMessage message = new MimeMessage(session);

            // 發送人
            message.setFrom(new InternetAddress(fromUser));

            // 接收人
            message.addRecipient(Message.RecipientType.TO,
                    new InternetAddress(toUser));

            // 标題
            message.setSubject("This is the Subject Line!");

            // 消息體
            message.setText("This is actual message");

            // 發送消息
            Transport transport = session.getTransport();
            transport.connect(fromUser, password);
            transport.sendMessage(message, new Address[]{new InternetAddress(toUser)});
            transport.close();

            System.out.println("Sent message successfully....");
        } catch (MessagingException e) {
            e.printStackTrace();
        }
    }
}      

參考

java 發送郵件 maven