java - 使用gmail smtp服务器和javamail在java中发送电子邮件而不进行身份验证

标签 java email jakarta-mail

我正在使用Javamail api和gmail smtp服务器在java中发送邮件而无需提供密码。我已经使用下面的代码。这里我使用 javax.mail jar 文件

     Properties props= new Properties();

     props.put("mail.smtp.host", "smtp.gmail.com");
     props.put("mail.smtp.port", 587);
     props.put("mail.transport.protocal", "smtps");
     //Put below to false, if no https is needed
     props.put("mail.smtp.STARTTLS.enable", "false");
     props.put("mail.smtp.auth", "false");

     Session session = Session.getInstance(props);

我收到以下错误

      Must issue a STARTTLS command first. b4sm3005855pdh.2 - gsmtp

代码的实现有什么错误吗?是否可以在没有密码的情况下实现?请任何人帮助我解决这个问题

最佳答案

首先,属性的名称是“mail.smtp.starttls.enable”。

其次,不可以,如果不先进行身份验证(例如使用密码),您就无法通过 Gmail 发送邮件。

关于java - 使用gmail smtp服务器和javamail在java中发送电子邮件而不进行身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26300755/

相关文章:

java - GAE - Javamail API 获取空内容邮件

sql-server - 从SQL Server触发器调用Powershell脚本

用于计算股票指数的 Java 类

java - 如何避免 LinearLayout 上的按钮重叠?

java - 如何使 JList 中的一项变为粗体?

java - 从 java 代码发送邮件 - 可靠的方式

laravel - 如何在 Laravel 中转发电子邮件?

java - 安装 Avast Anti Virus 后 javax.mail 中的邮件同步失败

java - 发送电子邮件之前将文件附件压缩到内存中

java - Spring 集成 : Calling event once certain sets of events have performed their task successfully.