Apache Commons Email使用“普通gmail”,但不是“Gmail for work”?

时间:2015-12-08 17:28:29

标签: email gmail gmail-api apache-commons-email

您好我正在使用以下代码发送电子邮件:

for (int i = 0; i < eMessageArray.length - 1; i++) { // important: - 1 to omit last index for i
    if (eMessageArray[i+1]!=null){
        temp = stringShuffle(eMessageArray[i], eMessageArray[i+1]);
    } else {
        temp=stringShuffle(eMessageArray[i], "NULL");
    }
    eMessageArray[i]=temp;
}

现在,当我使用“普通”gmail地址调用此函数时,它可以正常工作:

public static void sendEmail(String from, String to, String password) {
    Email email = new SimpleEmail();
    email.setHostName("smtp.googlemail.com");
    email.setSmtpPort(465);
    email.setAuthenticator(new DefaultAuthenticator(from, password));
    email.setSSLOnConnect(true);
    email.setSubject("Plain mail");
    email.setMsg("test");
    email.addTo(to);
    email.send();
}

所以上面的工作。但是当我尝试迁移到Gmail for Business,并创建一个电子邮件地址“me@mycompany.com”(它与Gmail挂钩)时,我收到了身份验证错误:

sendMail("me@gmail.com","friend@gmail.com", "my-password");

给我这个错误:

sendMail("me@mycompany.com","friend@gmail.com", "my-new-password");

我怀疑我需要在我的Google Apps控制台中设置一些内容,但我甚至不确定从哪里开始查找信息。

有人可以帮忙吗? 感谢。

1 个答案:

答案 0 :(得分:0)

这个答案来自类似的问题here

问题是由于允许安全性较低的应用访问您的帐户。单击以下链接https://www.google.com/settings/security/lesssecureapps并禁用安全设置。有关详细信息,请参阅此here

祝你好运!