当前位置: 首页 > 知识库问答 >
问题:

unalbe以循环方式在465处连接smtp.gmail.com

阎成天
2023-03-14
         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();
         }

共有1个答案

严亦
2023-03-14

对TLS/STARTTLS使用端口587。和以下属性时使用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");
        }
      });
 类似资料:
  • 问题内容: 我是Java中的多线程和同步的新手。我正在尝试实现一项任务,其中给了我5个文件,每个文件将由一个特定线程读取。每个线程应从文件读取一行,然后将执行转发到下一个线程,依此类推。当所有5个线程都读取第一行时,然后再次从线程1运行行号开始。文件1中的2,依此类推。 并且在ReadFile(在run方法中实现Runnable的情况下,我正在尝试在bufferreader对象上进行同步。 需要帮

  • 我是java多线程和同步的新手。我试图实现一个任务,其中我给了5个文件,每个文件将由一个特定的线程读取。每个线程应该从文件中读取一行,然后将执行转发给下一个线程,依此类推。当所有5个线程读取第一行时,再次从线程1开始运行文件1的第2行,依此类推。 并且在ReadFile(实现Runnable的,在run方法中,我正在尝试在缓冲区读取器对象上同步。 需要帮助

  • 问题内容: 我有一个具有1 2 3 4 5值的数组。 现在我想以循环方式遍历它。像我想打印2 3 4 5 1或3 4 5 1 2或5 1 2 3 4等等。有什么 算法 吗? 编辑: 我想以循环方式打印所有组合。我不想在初始阶段说明起点。 问题答案: (如果要从向下迭代数组,请在数组下标表达式中更改为。) 我应该注意,就执行速度而言,这可能不是表达循环的最有效方法。但是,差异很小,并且 很可能无关紧

  • 问题内容: 问题很容易,我想遍历列表的每个元素和成对的下一个(将最后一个与第一个包裹在一起)。 我考虑过两种非Python的方法: 和: 预期输出: 关于这样做的更pythonic方式的任何建议?也许有一个我没有听说过的预定义功能? 同样,更一般的n折(三重奏,四重奏等代替对子)也可能很有趣。 问题答案: 我已经编写了元组通用版本的代码,我喜欢第一个版本,因为它非常简洁,我看的越多,对我的感觉就越

  • 这是我用来发送电子邮件的代码: javax.mail.MessagingException:无法连接到SMTP主机:SMTP.gmail.com,端口:465; 嵌套异常为: java.net.connectException:连接被拒绝 在com.sun.mail.SMTP.smtpransport.openserver(smtpransport.java:1961) 在com.sun.mail

  • 在连接上创建infinte循环!很奇怪,直到现在才发生。我不知道出了什么问题。我试图重建包,我复制一些代码从旧的源代码和相同的结果...