一尘不染

使用Apache Commons电子邮件库以Java发送电子邮件

java

我正在使用Apache Commons电子邮件库发送电子邮件,但无法通过GMail SMTP服务器发送电子邮件。
任何人都可以提供适用于GMail SMTP服务器和其他服务器的示例代码吗?

我正在使用以下无效的代码:

String[] recipients = {"receiver@gmail.com"};

SimpleEmail email = new SimpleEmail();
email.setHostName("smtp.gmail.com");
email.setAuthentication("sender@gmail.com", "mypasswd");
email.setDebug(true);
email.setSmtpPort(465);

for (int i = 0; i < recipients.length; i++)
{
    email.addTo(recipients[i]);
}

email.setFrom("sender@gmail.com", "Me");
email.setSubject("Test message");
email.setMsg("This is a simple test of commons-email");
email.send();

阅读 223

收藏
2020-12-03

共1个答案

一尘不染

将电子邮件发送到GMail SMTP服务器需要身份验证和SSL。用户名和密码非常简单。确保设置了以下属性以启用身份验证和SSL,并且该属性应该可以正常工作。

mail.smtp.auth=true
mail.smtp.starttls.enable=true

在示例代码中,将以下内容添加到已启用的TLS。

对于<1.3版本的API版本,请使用:
email.setTSL(true);
对于版本=> 1.3,该方法已弃用,而应使用:email.setStartTLSEnabled(true);

2020-12-03