java实现邮箱群发功能

来源:互联网 发布:php培训机构排名 编辑:程序博客网 时间:2024/05/16 05:44

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

下面是代码

邮箱实体

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"); // 设置邮件服务器端口号,默认25mail.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循环是为了群发

原创粉丝点击