为了账号安全,请及时绑定邮箱和手机立即绑定

通过JAVA中的Gmail SMTP服务器发送电子邮件

通过JAVA中的Gmail SMTP服务器发送电子邮件

幕布斯7119047 2019-11-29 14:37:10
此代码有什么问题?不知何故,它进入了线路的无限循环 Transport.send(message);,没有错误消息,没有异常,也许只是无限循环(我不知道,因为我等待的时间不超过5-10分钟)final String username = "<mail_name>";final String password = "<password>";Properties props = new Properties();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", "465");Session session = Session.getInstance(props,        new javax.mail.Authenticator() {            protected PasswordAuthentication getPasswordAuthentication() {                return new PasswordAuthentication(username, password);            }        });try {    Message message = new MimeMessage(session);    message.setFrom(new InternetAddress("<mail_from>@gmail.com"));    message.setRecipients(Message.RecipientType.TO,            InternetAddress.parse("<mail_to>@gmail.com"));    message.setSubject("Test Subject");    message.setText("Test");    Transport.send(message);    System.out.println("Done");} catch (MessagingException e) {    throw new RuntimeException(e);}
查看完整描述

3 回答

?
千巷猫影

TA贡献1829条经验 获得超7个赞

好。这比我第一次艰难一点……总结一下我得到了什么:


有一个非常有用的命令:session.setDebug(true);。如果将其设置为true,则每个重要进程都将调试到控制台。我建议使用它。

第二台计算机只能使用安全选项,您可以使用以下选项进行切换:Transport transport = session.getTransport("smtps");而不是不安全的smtp ... JavaMail API Transport对象还将处理端口(分别是smtp:587,smtps:465)

您还可以使用Transport类的静态方法来发送消息和(保存之前,非静态sendMessage方法将不保存消息),但是这次您需要在会话创建时使用javax.mail.Authenticator,像这样:


Session session = Session.getInstance(props,         new javax.mail.Authenticator() {

    protected PasswordAuthentication getPasswordAuthentication() {

        return new PasswordAuthentication("login", "password");

    }

});


1.4.2 JavaMailApi除了此版本1.4.7之外,还存在另一个异常...


如果不使用它,则无法使用静态方法进行身份验证。如果使用实例方法,则可以。


一台计算机拥有Maven并获得了JavaMail API的1.4.2版本。第二台计算机有一个下载的库,版本为1.4.7,我想这也弄乱了东西

第一个组件是Netbeans,第二个组件是Intellij ... +1)互联网上有很多旧的,不好的示例代码,这使得正确使用此API变得更加困难。

太混乱了,但是有一些基本概念应该重点关注...


查看完整回答
反对 回复 2019-11-29
  • 3 回答
  • 0 关注
  • 1310 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信