java的郵件系統實現


  想要java中郵件發送和接收郵件,首先需要支持SMTP- pop/pop3/IMAP協議,發送的話還需要配置文件,來對程序提供相應的接口,只需要這兩個文件,就可以實現郵件的接收發送,

協議為jar包封裝好的,配置文件為下:

MailUtils.java

import java.util.Properties;

import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMessage.RecipientType;

public class MailUtils {

    public static void sendMail(String email, String emailMsg)
            throws AddressException, MessagingException {
        // 1.創建一個程序與郵件服務器會話對象 Session

        Properties props = new Properties();
        props.setProperty("mail.transport.protocol", "SMTP");
        props.setProperty("mail.host", "smtp.126.com");//發送郵件的服務器地址 使用網易126的郵箱服務器發郵件
        props.setProperty("mail.smtp.auth", "true");// 指定驗證為true

        // 創建驗證器
        Authenticator auth = new Authenticator() {
            public PasswordAuthentication getPasswordAuthentication() {
                return new PasswordAuthentication("發送者郵箱賬號", "郵箱者的密碼/授權碼");//授權碼
            }
        };

        Session session = Session.getInstance(props, auth);

        // 2.創建一個Message,它相當於是郵件內容
        Message message = new MimeMessage(session);

        message.setFrom(new InternetAddress("發送者的郵箱")); // 設置發送者

        message.setRecipient(RecipientType.TO, new InternetAddress(email)); // 設置發送方式與接收者

        message.setSubject("用戶激活");//郵件標題

        message.setContent(emailMsg, "text/html;charset=utf-8");//創建格式,編碼

        // 3.創建 Transport用於將郵件發送

        Transport.send(message);
    }
}

GitHub地址:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM