Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将java邮件发送到Gmail,何时;允许不太安全的应用程序:关闭“;_Java_Email_Oauth_Gmail_Jakarta Mail - Fatal编程技术网

如何将java邮件发送到Gmail,何时;允许不太安全的应用程序:关闭“;

如何将java邮件发送到Gmail,何时;允许不太安全的应用程序:关闭“;,java,email,oauth,gmail,jakarta-mail,Java,Email,Oauth,Gmail,Jakarta Mail,当“允许不太安全的应用程序:打开”(你可以找到代码)时,我可以用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_U

当“
允许不太安全的应用程序:打开”
(你可以找到代码)时,我可以用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 

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

如何:

  • 首先读一下这个
    它描述了 为什么和如何工作
  • 这是您需要导入到项目中的库

这很简单,你只需要完成所有的步骤,一切都解释得很清楚。

如果你没有打开两步验证,那么下面的内容将允许你使用javax.mail通过GMail发送邮件,几乎没有什么麻烦。它在传输过程中使用SSL,但在限制性稍低的端口(587而不是465)上,您必须记住确保添加(“mail.smtp.starttls.enable”、“true”)属性,否则将不使用SSL。同样值得记住的是,这种方法将尝试使用ssl,但如果服务器没有ssl功能,它将以纯文本传输。

我得到了令牌。但是如何使用令牌发送邮件呢
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();