繁体   English   中英

取消循环以465连接smtp.gmail.com

[英]unalbe to connect smtp.gmail.com at 465 in a loop

我正在使用端口465通过gmail coount发送邮件。我正在循环发送邮件。(收件人在列表中)

我能够成功发送第一封邮件,但是一旦第二封邮件发出

我在465连接到smtp.gmail.com时收到错误提示。

enter code here props.put(“ mail.smtp.host”,smtp_host); props.put(“ mail.smtp.port”,smtp_port); props.put(“ mail.smtp.user”,smtp_user);

         props.put("mail.smtp.auth", AUTH);
         props.put("mail.smtp.starttls.enable", STARTTLS);
         props.put("mail.smtp.debug", DEBUG);

         props.put("mail.smtp.socketFactory.port", smtp_port);
         props.put("mail.smtp.socketFactory.class", socket_factory));
         props.put("mail.smtp.socketFactory.fallback", "false");

尝试{

             //Obtain the default mail session
             Session session = Session.getDefaultInstance(props, null);
             session.setDebug(true);

             //Construct the mail message
             MimeMessage message = new MimeMessage(session);
             message.setFrom(new InternetAddress(from));
             message.setRecipient(Message.RecipientType.TO, new InternetAddress(to));


             message.setRecipient(Message.RecipientType.CC, new InternetAddress(cc));
                              message.setSubject(subject);

             message.setContent(messageText, "text/html");
             message.setHeader("Content-Type" , "text/html" );
             message.saveChanges();

             //Use Transport to deliver the message
             Transport transport = session.getTransport("smtp");
             transport.connect(HOST, USER, PASSWORD);
             transport.sendMessage(message, message.getAllRecipients());
             transport.close();

         } catch (Exception e) {
             e.printStackTrace();
         }

使用端口587进行TLS / STARTTLS。 并且仅当您使用TLS / STARTTLS时才遵循以下属性

props.put("mail.smtp.auth", "true");
props.put("mail.smtp.starttls.enable", "true");
props.put("mail.smtp.host", "smtp.gmail.com");
props.put("mail.smtp.port", "587");

并且,如果您尝试通过SSL连接。 试试这个-

props.put("mail.smtp.host", "smtp.gmail.com");
props.put("mail.smtp.socketFactory.port", "465");
props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.port", "465");

...

Session session = Session.getDefaultInstance(props, null);

更改-

Session session = Session.getInstance(props,
      new javax.mail.Authenticator() {
        protected PasswordAuthentication getPasswordAuthentication() {
            return new PasswordAuthentication("username@gmail.com", "password");
        }
      });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM