java群發(fā)發(fā)送qq郵件

  

java是常用的編程語言之一,我們可以利用java來做很多事情,甚至可以用于郵件群發(fā),今天一米軟件就來教教大家java群發(fā)發(fā)送qq郵件怎么做。


java群發(fā)發(fā)送qq郵件


1、開啟SMTP服務


在 QQ 郵箱里的 設置->賬戶里開啟 SMTP 服務


注意開啟完之后,QQ 郵箱會生成一個授權碼,在代碼里連接郵箱使用這個授權碼而不是原始的郵箱密碼,這樣可以避免使用明文密碼。


2、下載依賴的 jar 包


官方下載地址 http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-eeplat-419426.html#javamail-1.4.7-oth-JPR。


解壓完之后,通常我們只需要其中的mail.jar,把它加到 工程的依賴包中。


3、完整代碼示例


import java.security.GeneralSecurityException;

import java.util.ArrayList;

import java.util.Date;

import java.util.List;

import java.util.Properties;

import javax.mail.Address;

import javax.mail.Message;

import javax.mail.MessagingException;

import javax.mail.Session;

import javax.mail.Transport;

import javax.mail.internet.InternetAddress;

import javax.mail.internet.MimeMessage;

import com.sun.mail.util.MailSSLSocketFactory;

public class MailTool {

public static void main(String[] args) throws MessagingException, GeneralSecurityException {

Properties props = new Properties();

// 開啟debug調試

props.setProperty("mail.debug", "true");

// 發(fā)送服務器需要身份驗證

props.setProperty("mail.smtp.auth", "true");

// 設置郵件服務器主機名

props.setProperty("mail.host", "smtp.qq.com");

// 發(fā)送郵件協(xié)議名稱

props.setProperty("mail.transport.protocol", "smtp");

//開啟了 SSL 加密

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(" 頁面爬蟲錯誤");

builder.append(" 時間 " + new Date());

msg.setText(builder.toString());

msg.setFrom(new InternetAddress("發(fā)送人的郵箱地址"));//**發(fā)送人的郵箱地址**

Transport transport = session.getTransport();

transport.connect("smtp.qq.com","發(fā)送人的郵箱地址","你的郵箱授權碼");

List list=new ArrayList<>();

//實現(xiàn)群發(fā),下面的方法也是可以實現(xiàn)群發(fā),但是不太理想

transport.sendMessage(msg, InternetAddress.parse("3306907224@qq.com,269056581@qq.com"));

/*transport.sendMessage(msg, new Address[] {

new InternetAddress("3306907224@qq.com"),

new InternetAddress("269056581@qq.com"),

new InternetAddress("zhengmm@gz2000.net")

}

);*/

transport.close();

}

}

相關資訊

推薦軟件