亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

利用java實現(xiàn)郵箱群發(fā)功能

 更新時間:2017年12月04日 15:34:51   作者:阿遵  
這篇文章主要為大家詳細介紹了利用java實現(xiàn)郵箱群發(fā)功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了java實現(xiàn)郵箱群發(fā)的具體代碼,供大家參考,具體內容如下

近來無事,在網上看了一些大牛文章,其中看到一篇比較好的,分享給大家!

下面是代碼

郵箱實體

import java.io.Serializable;  
/** 
 * 郵件實體類 
 */  
public class Mail implements Serializable {  
 /** 
  * 序列號 
  */ 
 private static final long serialVersionUID = -3562218214168975242L; 
 /** 
  * 郵件編碼s 
  */ 
 public static final String ENCODEING = "UTF-8";  
 /** 
  * 服務器地址 
  */ 
 private String host; 
 /** 
  * 服務器端口號 
  */ 
 private String portNumber;  
 /** 
  * 發(fā)件人的郵箱 
  */ 
 private String sender;  
 /** 
  * 收件人的郵箱 
  */  
 private String receiver;  
 /** 
  * 發(fā)件人昵稱 
  */  
 private String name;  
 /** 
  * 賬號 
  */  
 private String username;  
 /** 
  * 密碼 
  */  
 private String password;  
 /** 
  * 主題 
  */ 
 private String subject; 
 /** 
  * 信息(支持HTML) 
  */ 
 private String message;  
  
 public String getHost() {  
  return host;  
 }  
  
 public void setHost(String host) {  
  this.host = host;  
 }  
  
 public String getSender() {  
  return sender;  
 }  
  
 public String getPortNumber() { 
  return portNumber; 
 } 
 
 public void setPortNumber(String portNumber) { 
  this.portNumber = portNumber; 
 } 
 
 public void setSender(String sender) {  
  this.sender = sender;  
 }  
  
 public String getReceiver() {  
  return receiver;  
 }  
  
 public void setReceiver(String receiver) {  
  this.receiver = receiver;  
 }  
  
 public String getName() {  
  return name;  
 }  
  
 public void setName(String name) {  
  this.name = name;  
 }  
  
 public String getUsername() {  
  return username;  
 }  
  
 public void setUsername(String username) {  
  this.username = username;  
 }  
  
 public String getPassword() {  
  return password;  
 }  
  
 public void setPassword(String password) {  
  this.password = password;  
 }  
  
 public String getSubject() {  
  return subject;  
 }  
  
 public void setSubject(String subject) {  
  this.subject = subject;  
 }  
  
 public String getMessage() {  
  return message;  
 }  
  
 public void setMessage(String message) {  
  this.message = message;  
 }  
  
} 

 工具類

import org.apache.commons.mail.EmailException; 
import org.apache.commons.mail.HtmlEmail; 
 
public class MailUtil {  
  
 public boolean send(Mail mail) {  
  //發(fā)送email對象 
  HtmlEmail email = new HtmlEmail();  
  try {  
   //這里是SMTP發(fā)送服務器的名字 
   email.setHostName(mail.getHost());  
   //端口號不為空時,用戶自定義的端口號為SMTP發(fā)送服務器端口號 
   if (!"".equals(mail.getPortNumber())) { 
    email.setSSLOnConnect(true);  
    email.setSslSmtpPort(mail.getPortNumber()); 
   } 
   //字符編碼集的設置  
   email.setCharset(Mail.ENCODEING);  
   //收件人的郵箱  
   email.addTo(mail.getReceiver());  
   //發(fā)送人的郵箱  
   email.setFrom(mail.getSender(), mail.getName());  
   // 如果需要認證信息的話,設置認證:用戶名-密碼。分別為發(fā)件人在郵件服務器上的注冊名稱和密碼  
   email.setAuthentication(mail.getUsername(), mail.getPassword());  
   // 要發(fā)送的郵件主題  
   email.setSubject(mail.getSubject());  
   // 要發(fā)送的信息,由于使用了HtmlEmail,可以在郵件內容中使用HTML標簽  
   email.setMsg(mail.getMessage());  
   // 發(fā)送  
   email.send();  
   return true;  
  } catch (EmailException e) {  
   e.printStackTrace();  
   return false;  
  }  
 }  
} 

 開始

import java.util.Random; 
 
 
public class SimpleEmailClient { 
 
 public static void main(String[] args) throws InterruptedException { 
  Mail mail = new Mail(); 
  mail.setHost("smtp.qq.com"); // 設置郵件服務器,如果不用QQ郵箱的,自己找找看相關的 
  mail.setPortNumber("465"); // 設置郵件服務器端口號,默認25 
  mail.setSender("xxxx@qq.com"); // 發(fā)送人 
  mail.setName("楊大俠"); // 發(fā)送人昵稱 
  mail.setSubject("好吃美味"); //發(fā)送主題 
  mail.setMessage("好吃美味"); //發(fā)送內容 
  mail.setUsername("xxxx@qq.com"); // 登錄賬號,一般都是和郵箱名一樣 
  mail.setPassword("********"); // QQ郵箱登錄第三方客戶端時,密碼框請輸入“授權碼”進行驗證。其他的密碼具體查看郵件服務器的說明 
   
  for (int i = 0; i < 1000; i++) { 
    
   //Thread.sleep(2000); 
    
   int max1 = 99999; 
   int min1 = 10000; 
   Random random = new Random(); 
   int f = random.nextInt(max1)%(max1-min1+1) + min1; 
    
   int max2 = 9999; 
   int min2 = 1000; 
   Random random2 = new Random(); 
   int s = random2.nextInt(max2)%(max2-min2+1) + min2; 
   String account = "" + f + "" + s + "@qq.com"; 
    
   mail.setReceiver(account); // 接收人 
   System.out.println(account); 
   if (new MailUtil().send(mail)) { 
    System.out.println("發(fā)送成功"); 
   } else { 
    System.out.println("發(fā)送失敗"); 
   } 
  } 
   
 } 
} 

for循環(huán)是為了群發(fā)

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • IDEA 非常重要的一些設置項(一連串的問題差點讓我重新用回 Eclipse)

    IDEA 非常重要的一些設置項(一連串的問題差點讓我重新用回 Eclipse)

    這篇文章主要介紹了IDEA 非常重要的一些設置項(一連串的問題差點讓我重新用回 Eclipse),本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-08-08
  • java泛型常用通配符實例解析

    java泛型常用通配符實例解析

    這篇文章主要介紹了java泛型常用通配符實例解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-01-01
  • MyBatis還是JPA?終于有答案了

    MyBatis還是JPA?終于有答案了

    這篇文章主要介紹了MyBatis還是JPA,中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-10-10
  • Java實現(xiàn)簡單登陸界面

    Java實現(xiàn)簡單登陸界面

    這篇文章主要為大家詳細介紹了Java實現(xiàn)簡單登陸界面,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • 零基礎入門學習——Spring Boot注解(一)

    零基礎入門學習——Spring Boot注解(一)

    這篇文章主要介紹了Spring Boot注解學習(一)要點,非常不錯,具有參考借鑒價值,需要的朋友參考下吧
    2017-05-05
  • SpringBoot項目啟動時如何讀取配置以及初始化資源

    SpringBoot項目啟動時如何讀取配置以及初始化資源

    這篇文章主要給大家介紹了關于SpringBoot項目啟動時如何讀取配置以及初始化資源的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者使用SpringBoot具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2020-06-06
  • Spring Boot簡單實現(xiàn)快速搭建圖解

    Spring Boot簡單實現(xiàn)快速搭建圖解

    這篇文章主要介紹了Spring Boot簡單實現(xiàn)快速搭建圖解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-11-11
  • JDK20?+?SpringBoot?3.1.0?+?JdbcTemplate?使用案例詳解

    JDK20?+?SpringBoot?3.1.0?+?JdbcTemplate?使用案例詳解

    通過 JdbcTemplate 直接執(zhí)行 SQL 語句,結合源碼動態(tài)編譯即可方便實現(xiàn)動態(tài)修改代碼邏輯的效果,這篇文章主要介紹了JDK20?+?SpringBoot?3.1.0?+?JdbcTemplate?使用,需要的朋友可以參考下
    2023-09-09
  • 基于SpringBoot和Vue實現(xiàn)分片上傳系統(tǒng)

    基于SpringBoot和Vue實現(xiàn)分片上傳系統(tǒng)

    最近想做一個關于文件上傳的個人小網盤,一開始嘗試使用了OSS的方案,但是該方案對于大文件來說并不友好,所以開始嘗試分片上傳方案的探索,接下來小編給大家詳細的介紹一下如何基于SpringBoot和Vue實現(xiàn)分片上傳系統(tǒng),需要的朋友可以參考下
    2023-12-12
  • Java并發(fā)編程之阻塞隊列詳解

    Java并發(fā)編程之阻塞隊列詳解

    這篇文章主要為大家詳細介紹了Java并發(fā)編程之阻塞隊列,什么是阻塞隊列?主要的阻塞隊列及其方法介紹,感興趣的小伙伴們可以參考一下
    2016-03-03

最新評論