当“允许不太安全的应用程序:关闭”时,如何将邮件发送到Gmail
我可以用java发送邮件到gmail,当“ Allow less secure apps: ON
”时(你可以在这里找到代码)。但是当“允许安全性较低的应用程序:关闭”时出现错误。 请给我适当的步骤来解决这个问题。
错误:
534-5.7.14 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? 请指导我。请知道我是新手。 指导我,如果我错了
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();
升级到使用最新安全措施的更安全的应用程序。
怎么样:
- 先读这个
https://developers.google.com/identity/protocols/OAuth2它描述了原因和工作原理 - 这是您需要导入项目的库
https://developers.google.com/api-client-library/java/google-api-java-client/oauth2
它很简单,你只需要完成所有步骤,一切都很好解释。
如果您没有打开2步validation,那么以下教程将允许您使用javax.mail通过GMail发送邮件,几乎没有大惊小怪。 它在传输过程中使用SSL,但在限制较少的端口(587而不是465)上,您必须记住确保添加(“mail.smtp.starttls.enable”,“true”)属性,否则您将不会使用SSL。 值得记住的是,这种方法会尝试使用ssl,但如果服务器没有sslfunction,它将以纯文本forms传输。