在javax.mail中发送邮件而不进行身份验证
我正在使用javax.mail用Java发送邮件。 现在,我的项目概念的一部分发生了变化,我不得不在没有身份验证的情况下发送邮件。我必须更改createSession()方法: 很明显,我应该将在javax.mail中发送邮件而不进行身份验证,java,email,authentication,jakarta-mail,Java,Email,Authentication,Jakarta Mail,我正在使用javax.mail用Java发送邮件。 现在,我的项目概念的一部分发生了变化,我不得不在没有身份验证的情况下发送邮件。我必须更改createSession()方法: 很明显,我应该将mail.smtp.auth更改为false,但我还应该更改什么 private void createSession() { properties.put("mail.smtp.auth", "false"); //Put below to false, if no https is
mail.smtp.auth
更改为false
,但我还应该更改什么
private void createSession() {
properties.put("mail.smtp.auth", "false");
//Put below to false, if no https is needed
properties.put("mail.smtp.starttls.enable", "true");
properties.put("mail.smtp.host", server);
properties.put("mail.smtp.port", port);
session = Session.getInstance(properties);
}
我想,这就足够了 当然,这取决于您的服务器是否配置为允许您发送邮件而无需先进行身份验证。这可能在内部网中运行良好,否则它会引发垃圾邮件。仍然表示需要
身份验证。请联系支持部门
身份验证是一项服务器策略。如果服务器需要身份验证-您必须提供它!!put properties.put(“mail.smtp.starttls.enable”、“false”);同样。在这次更改之后,它也起到了作用。如果更改了移动日期,这将不起作用,有人可以帮助我吗。不要将用户
和密码
添加到属性
,并将用户
和密码
传递到连接
请解释您的答案。
private void createSession() {
properties.put("mail.smtp.auth",false);
properties.put("mail.smtp.starttls.enable","true");
properties.put("mail.smtp.port","587");
properties.put("mail.smtp.host","smtp.gmail.com");
properties.put("mail.smtp.username","username(emailid")");
properties.put("mail.smtp.password","password(mail password)");
Session session=Session.getDefaultInstance(properties,null);
}
private void createSession() {
properties.put("mail.smtp.auth",false);
properties.put("mail.smtp.starttls.enable","true");
properties.put("mail.smtp.port","587");
properties.put("mail.smtp.host","smtp.gmail.com");
properties.put("mail.smtp.username","username(emailid")");
properties.put("mail.smtp.password","password(mail password)");
Session session=Session.getDefaultInstance(properties,null);
}