文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

使用java怎么实现一个邮箱群发功能

2023-05-30 19:36

关注

使用java怎么实现一个邮箱群发功能?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

邮箱实体

import java.io.Serializable;    public class Mail implements Serializable {     private static final long serialVersionUID = -3562218214168975242L;    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;    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("发送失败");    }   }     } }

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注编程网行业资讯频道,感谢您对编程网的支持。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯