【问题标题】:How to send a mail in java to Gmail, when "Allow less secure apps: OFF"当“允许不太安全的应用程序:关闭”时,如何将 Java 中的邮件发送到 Gmail
【发布时间】:2016-06-03 16:02:14
【问题描述】:

当“Allow less secure apps: ON”(您可以找到代码 here)时,我可以用 java 向 gmail 发送邮件。但是当“允许不太安全的应用程序:关闭”时出现错误。请给我正确的步骤来解决这个问题。

错误:

534-5.7.14 <https://accounts.google.com/ContinueSignIn?sarp=1&scc=1&plt=AKgnsbtDY
534-5.7.14 01tH8y-udRciS_SO5d08uqHUrrFPAbG1_XdRaoO-x_gAICwxl_UIsENPSoTXVrNqFs5BcR
534-5.7.14 KXMaVoEIwR9uACjnduELTwJg0SxLrXL5CltztHepubHzUzgC6h-iszlhKrUuckV1-k6FWS
534-5.7.14 jpMrpomFM2k_UcOdDm7SyTde8MadhGyxmYDZ5KZAHcqkRGKjR6hU7oY8hUaTFocikPxquP
534-5.7.14 B2iqPFDd4NLZqv6qGfDNK0q_i17s> Please log in via your web browser and
534-5.7.14 then try again.
534-5.7.14  Learn more at
534 5.7.14  https://support.google.com/mail/answer/78754 ud10sm34016765pab.27 - gsmtp 

我是如何获得令牌的:

第 1 步:我在 Google 开发者控制台中创建了服务帐号。

第 2 步:接下来,通过使用此服务帐户,我获得了令牌。下面,你可以找到代码。

第 3 步:如何使用此令牌向 gmail 发送邮件?请在 adv 中指导 me.thks 我是新手。如果我错了,请指导我

String emailAddress = "XXXX@XXXX.XX.gserviceaccount.com";

JsonFactory JSON_FACTORY = JacksonFactory.getDefaultInstance();
HttpTransport httpTransport;
try {
    httpTransport = GoogleNetHttpTransport.newTrustedTransport();

    GoogleCredential credential = new GoogleCredential.Builder()
    .setTransport(httpTransport)
    .setJsonFactory(JSON_FACTORY)
    .setServiceAccountId(emailAddress)
    .setServiceAccountPrivateKeyFromP12File(new File("XXXX.p12"))
    .setServiceAccountScopes(Collections.singleton(SQLAdminScopes.SQLSERVICE_ADMIN))
    .build();
    System.out.println("success......");
    credential.refreshToken();

    token = credential.getAccessToken(); 

【问题讨论】:

    标签: java email oauth gmail jakarta-mail


    【解决方案1】:

    升级到使用最新安全措施的更安全的应用。

    如何:

    这很简单,您只需完成所有步骤,一切都很好。

    【讨论】:

    • 我得到了令牌。但是如何使用令牌发送邮件
    【解决方案2】:

    如果您没有打开两步验证,那么下面的tutorial 将允许您使用 javax.mail 通过 GMail 发送邮件,几乎没有大惊小怪。它在传输过程中使用 SSL,但在限制较少的端口(587 而不是 465)上,您必须记住确保添加 ("mail.smtp.starttls.enable", "true") 属性,否则您不会正在使用 SSL。值得记住的是,此方法将尝试使用 ssl,但如果服务器没有 ssl 功能,它将以纯文本形式传输。

    【讨论】:

      猜你喜欢
      • 2020-05-30
      • 2017-09-30
      • 2021-06-24
      • 2023-03-24
      • 2022-07-17
      • 2014-10-18
      • 2012-11-25
      • 1970-01-01
      • 2019-01-19
      相关资源
      最近更新 更多