当前位置: 首页 > 面试题库 >

必须先发出STARTTLS命令

魏鹤轩
2023-03-14
问题内容

我正在使用我的Gmail帐户运行此简单示例,但该示例无法正常工作并给出以下错误:

      send failed, exception: com.sun.mail.smtp.SMTPSendFailedException: 530 5.7.0 Must issue a STARTTLS command first. nv2sm4478384pbb.6

这是我的代码

   public class Email
{
   public static void main(String [] args)
   {

       Properties props = new Properties();
        props.put("mail.smtp.host", "smtp.googlemail.com");
        props.put("mail.from", "myemail@gmail.com");
          Session session = Session.getInstance(props, null);

        try {
            MimeMessage msg = new MimeMessage(session);
            msg.setFrom();
            msg.setRecipients(Message.RecipientType.TO,
                              "myemail@hotmail.com");
            msg.setSubject("JavaMail hello world example");
            msg.setSentDate(new Date());
            msg.setText("Hello, world!\n");
            Transport.send(msg);
        } catch (MessagingException mex) {
            System.out.println("send failed, exception: " + mex);
        }
   }
}

问题答案:

您可能正在尝试使用端口25上的Gmail服务器通过未经身份验证的连接将邮件传递给第三方。Gmail不允许您这样做,因为这样 任何人
都可以使用Gmail的服务器将邮件发送给其他任何人。这称为 开放中继 ,在早期是垃圾邮件的常见促成因素。Internet上不再接受开放中继。

您将需要让SMTP客户端使用经过身份验证的连接(可能在端口587上)连接到Gmail



 类似资料:
  • 问题内容: 我正在创建一个应用程序并尝试向其中添加电子邮件功能,为此我在build.sbt文件中添加了依赖项,但下面解释了一个异常 我的密码 application.conf中包含的代码 但我有一个例外 我怎么解决这个问题? 问题答案: 我认为您必须先指定要发送TLS电子邮件,然后再发送电子邮件。 我不确定100%,但是我认为它可以解决问题。 另外,有关更多信息,您可以参考此用户指南:https

  • 问题内容: SMTP服务器响应:530 5.7.0必须首先发出STARTTLS命令 我在php脚本文件中使用mail()函数时收到此错误消息… 我正在使用gmail SMTP服务器和gmail使用STARTTLS(这是安全SSL),并且我已经在我的contact.php文件中使用了这些命令 所以我可以使用什么命令来启用STARTTLS或在php,ini文件中进行配置? 问题答案: 首先,确保您的P

  • 在发帖之前,我已经在网上读了很多东西和建议的问题,但是没有找到任何适合我的东西。 关于使用Gmail的JavaMail常见问题 堆栈溢出问题 JavaMail教程 谷歌搜索的任何其他结果 在过去的5天里,我一直在寻找一个解决办法,但就是找不到。 相关代码: 邮件调试日志文件: 调试:JavaMail版本1.4.1.....debug:!anyloaded 调试:未加载资源:/meta-inf/ja

  • 我试图发送电子邮件从php到一个gmail帐户。我的笔记本电脑上有以下设置: Windows 8 Internet连接 XAMPP 1.7.4,PHP版本5.3.5, 我有以下php.ini设置 [邮件功能];仅适用于Win32。;http://php.net/SMTP SMTP=SMTP.gmail.com;http://php.net/smtp-端口 smtp_port=:465 ;仅适用于W

  • 问题内容: 假设你创建一个使用生成器模式的人一个类名,并假设生成器类包含的方法,,当然,你考虑的方法,并为这个类的用户必须的。 如果可能的话,我们希望以某种方式标记这些方法为强制性的。如果此类的用户尝试构建Person实例但忘记调用这些方法中的任何一个,我们希望得到某种警告- 从Java编译器,或者从Eclipse或Maven,我们用来构建我们的警告。项目-他们中的任何一个都可以。 有可能吗?您会

  • >美国东部时间2014年11月12日06:53:47