純java實現郵件發送服務(親測好用)


       今天自己測試了一下用java代碼實現發送有限的服務,非常簡單.直接貼代碼:

       

import com.sun.mail.util.MailSSLSocketFactory;

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

public class Main {

    public static void main(String[] args) throws MessagingException, GeneralSecurityException {
        Properties props = new Properties();

        // 開啟debug調試
        props.setProperty("mail.debug", "true");
        // 發送服務器需要身份驗證
        props.setProperty("mail.smtp.auth", "true");
        // 設置郵件服務器主機名
        props.setProperty("mail.host", "smtp.163.com");
       // props.setProperty("mail.port", "465");
        // 發送郵件協議名稱
        props.setProperty("mail.transport.protocol", "smtp");

        MailSSLSocketFactory sf = new MailSSLSocketFactory();
        sf.setTrustAllHosts(true);
        props.put("mail.smtp.ssl.enable", "true");
        props.put("mail.smtp.ssl.socketFactory", sf);

        Session session = Session.getInstance(props);

        Message msg = new MimeMessage(session);
        msg.setSubject("seenews 錯誤");
        StringBuilder builder = new StringBuilder();
        builder.append("url = " + "http://blog.csdn.net/never_cxb/article/details/50524571");
        builder.append("\n頁面爬蟲錯誤");
        builder.append("\n時間 " + new Date().getTime());
        msg.setText(builder.toString());
        msg.setFrom(new InternetAddress("m15101172298@163.com"));

        Transport transport = session.getTransport();
        transport.connect("smtp.163.com", "m15101172298@163.com", "**你自己的郵箱地址**");

        transport.sendMessage(msg, new Address[] { new InternetAddress("623362984@qq.com") });
        transport.close();
    }
}

這應該就ok了。對了,之前必須要下載相應的jar包:activation.jar和mail.jar。


免責聲明!

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



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