首页 > 开发 > Java > 正文

利用java实现邮箱群发功能

2024-07-13 10:13:19
字体:
来源:转载
供稿:网友

本文实例为大家分享了java实现邮箱群发的具体代码,供大家参考,具体内容如下

近来无事,在网上看了一些大牛文章,其中看到一篇比较好的,分享给大家!

下面是代码

邮箱实体

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;   /**   * 发件人的邮箱   */  private String sender;   /**   * 收件人的邮箱   */   private String receiver;   /**   * 发件人昵称   */   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) {    //发送email对象   HtmlEmail email = new HtmlEmail();    try {     //这里是SMTP发送服务器的名字    email.setHostName(mail.getHost());     //端口号不为空时,用户自定义的端口号为SMTP发送服务器端口号    if (!"".equals(mail.getPortNumber())) {     email.setSSLOnConnect(true);      email.setSslSmtpPort(mail.getPortNumber());    }    //字符编码集的设置     email.setCharset(Mail.ENCODEING);     //收件人的邮箱     email.addTo(mail.getReceiver());     //发送人的邮箱     email.setFrom(mail.getSender(), mail.getName());     // 如果需要认证信息的话,设置认证:用户名-密码。分别为发件人在邮件服务器上的注册名称和密码     email.setAuthentication(mail.getUsername(), mail.getPassword());     // 要发送的邮件主题     email.setSubject(mail.getSubject());     // 要发送的信息,由于使用了HtmlEmail,可以在邮件内容中使用HTML标签     email.setMsg(mail.getMessage());     // 发送     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"); // 发送人   mail.setName("杨大侠"); // 发送人昵称   mail.setSubject("好吃美味"); //发送主题   mail.setMessage("好吃美味"); //发送内容   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("发送成功");    } else {     System.out.println("发送失败");    }   }     } } 

for循环是为了群发

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持VeVb武林网。


注:相关教程知识阅读请移步到JAVA教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表