美文网首页
第二章:实现邮件得发送多人,抄送多人

第二章:实现邮件得发送多人,抄送多人

作者: 刘书生 | 来源:发表于2019-08-03 15:58 被阅读0次

    相信小伙伴已经体验到了邮件发送成功带来的快感了,最主要的是它不收费!,但是上面只说了发送给一个人得情景,接下来就看看如何发送给多人。

    在正式写代码之前,我们先约定一个规则,多人得邮箱之间用英文逗号隔开,eg:XXXXX@qq.com,XXXXXX@qq.com

     //对收件人,抄送人进行切割
        private static InternetAddress[] getAddress(String email) throws AddressException {
            //不能使用string类型的类型,这样只能发送一个收件人
            List list = new ArrayList();
            //对输入的多个邮件进行逗号分割
            String[] median = email.split(",");
            for (int i = 0; i < median.length; i++) {
                list.add(new InternetAddress(median[i]));
            }
            //将list强制转化为数组
            return (InternetAddress[]) list.toArray(new InternetAddress[list.size()]);
        }
    

    以上得方法就是对多人又将进行切割,将以上代码集成到我们第一章里面去即可,并且我在里还新增了抄送人,完整代码如下:

        public static void sendSimpleMailMessage(MailModel mailModel) throws MessagingException, IOException, TransformerException, ParserConfigurationException {
    
            Properties props = new Properties(){{
                // 设置邮件服务器主机名
                setProperty("spring.mail.host", "smtp.qq.com");
                // 发送邮件协议名称
                setProperty("spring.mail.protocol", "stmp");
            }};
            //根据环境配置设置session
            Session session = Session.getInstance(props);
            //消息发送主体
            MimeMessage message = new MimeMessage(session);
            message.setSubject("我是标题");
            message.setText("我是内容");
            message.setFrom(new InternetAddress("你的邮箱账号"));
            //接收人
            message.setRecipients(Message.RecipientType.TO, getAddress("多人接受邮箱账号"));
            //抄送人
            message.setRecipients(Message.RecipientType.CC, getAddress("多人抄送邮箱账号"));
            message.saveChanges();
            Transport trans = session.getTransport();
            trans.connect(MailModel.getHost(), MailModel.getPort(), MailModel.getUsername(), MailModel.getPassword());
            trans.sendMessage(message, message.getAllRecipients());
            trans.close();
        }
    
        //对收件人,抄送人进行切割
        private static InternetAddress[] getAddress(String email) throws AddressException {
            //不能使用string类型的类型,这样只能发送一个收件人
            List list = new ArrayList();
            //对输入的多个邮件进行逗号分割
            String[] median = email.split(",");
            for (int i = 0; i < median.length; i++) {
                list.add(new InternetAddress(median[i]));
            }
            //将list强制转化为数组
            return (InternetAddress[]) list.toArray(new InternetAddress[list.size()]);
        }
    

    有空再写完

    相关文章

      网友评论

          本文标题:第二章:实现邮件得发送多人,抄送多人

          本文链接:https://www.haomeiwen.com/subject/pjijdctx.html