【问题标题】:Apache Commons Email work with "normal gmail", but not "Gmail for work"?Apache Commons 电子邮件可与“普通 gmail”一起使用,但不能与“Gmail for work”一起使用?
【发布时间】:2016-03-13 17:58:23
【问题描述】:

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

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 控制台中进行设置,但我什至不确定从哪里开始查找信息。

有人可以帮忙吗? 谢谢。

【问题讨论】:

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


    【解决方案1】:

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

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

    祝你好运!

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-10-16
    • 2018-07-18
    • 2012-11-11
    • 1970-01-01
    • 2012-07-14
    • 1970-01-01
    • 1970-01-01
    • 2010-12-19
    相关资源
    最近更新 更多