利用java实现邮箱群发功能

网友投稿 457 2023-03-09


利用java实现邮箱群发功能

本文实例为大家分享了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循环是为了群发


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:api接口文档有用么(api接口文档有用么知乎)
下一篇:关于如何设计通用接口测试用例的信息
相关文章

 发表评论

暂时没有评论,来抢沙发吧~