0

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

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 地址调用此函数时,它可以工作:

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

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

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

给我这个错误:

javax.mail.AuthenticationFailedException:
<https://accounts.google.com/ContinueSignIn?sarp=1&scc=1&plt=AKgnsb...ZlTLN2wQG4> 
Please log in via your web browser and then try again.

我怀疑我需要在我的 Google Apps 控制台中进行设置,但我什至不确定从哪里开始查找信息。

有人可以帮忙吗?谢谢。

4

1 回答 1

0

这个答案来自一个类似的 SO question here

问题是由于允许不太安全的应用访问您的帐户。单击以下链接https://www.google.com/settings/security/lesssecureapps并禁用安全设置。有关更多信息,您可以在此处阅读。

祝你好运!

于 2015-12-09T00:37:51.333 回答