无法使用Java Mail API[使用Gmail]发送邮件
我使用了以下代码,该代码在2014年运行良好,但目前不起作用。 此代码中使用的凭据也是正确的无法使用Java Mail API[使用Gmail]发送邮件,java,email,smtp,gmail,Java,Email,Smtp,Gmail,我使用了以下代码,该代码在2014年运行良好,但目前不起作用。 此代码中使用的凭据也是正确的 public class SendMail { public void SendMailToTheUserWhoHaveForgotThePassword(String MailTo,String Password) { String to = MailTo; String from = "chatna06062016@gmail.com";
public class SendMail
{
public void SendMailToTheUserWhoHaveForgotThePassword(String MailTo,String Password)
{
String to = MailTo;
String from = "chatna06062016@gmail.com";
final String username = "chatna06062016";
final String password = "xxxxxxxx";
String host = "smtp.gmail.com";
Properties props = new Properties();
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.starttls.enable", "true");
props.put("mail.smtp.host", host);
props.put("mail.smtp.port", "25");
Session session = Session.getInstance(props,new javax.mail.Authenticator()
{
protected PasswordAuthentication getPasswordAuthentication()
{
return new PasswordAuthentication(username, password);
}
}
);
try
{
Message message = new MimeMessage(session);
message.setFrom(new InternetAddress(from));
message.setRecipients(Message.RecipientType.TO,InternetAddress.parse(to));
message.setSubject("FORGOTTEN PASSWORD");
message.setText("Dear User The Password that you have forgotten is <b>"+Password +"</b>"+
"This email is sended you by using JavaMailAPI "
+ "HAVE A NICE DAY"
+ "DO USE THIS SERVICE WHENEVER YOU NEED IT");
Transport.send(message);
System.out.println("Sent message successfully....");
}
catch (MessagingException e) {
throw new RuntimeException(e);
}
}
}
现在要做什么无法在任何地方找到任何有用的信息。您可能需要在gmail帐户中执行以下设置: 后藤:
myaccount->signIn&security->connected apps&sites->允许不太安全的应用程序:在上,您可能需要在gmail帐户中执行以下设置: 后藤:
myaccount->signIn&security->connected apps&sites->允许不太安全的应用程序:在上,这里的主要问题是您使用用户登录名和密码直接登录SMTP/IMAP邮件服务器。这是不安全的
你应该考虑切换到使用,然后你可以验证你的应用程序,它将不再被认为是不安全的。 XOAUTH2机制允许客户端向服务器发送OAuth2.0访问令牌。该协议使用以下部分所示的编码值
其他人提到的选项编号只是启用不太安全的应用程序。您可以在此处阅读有关它的所有信息以及启用它的相关危险。此处的主要问题是您正在使用用户登录名和密码直接登录SMTP/IMAP邮件服务器。这是不安全的
你应该考虑切换到使用,然后你可以验证你的应用程序,它将不再被认为是不安全的。 XOAUTH2机制允许客户端向服务器发送OAuth2.0访问令牌。该协议使用以下部分所示的编码值
其他人提到的选项编号只是启用不太安全的应用程序。您可以在这里阅读有关它的所有信息以及启用它的相关危险。GMail希望您通过使用SSL/TLS协议获得更高的安全性。Swtich使用端口456或587,并添加必要的属性来设置安全邮件连接。任何@glee8eI示例都假设Google上会有一些。我正在使用智能手机,使用智能手机编码会很麻烦。没问题,buddy@glee8e你的评论对我很有帮助,因为你给了我一个解决这个问题的提示,这对我解决这个问题来说已经足够了。你找到了让gmail工作所需的设置吗?我刚刚遇到了同样的问题…GMail希望您通过使用SSL/TLS协议来获得更高的安全性。Swtich使用端口456或587,并添加必要的属性来设置安全邮件连接。任何@glee8eI示例都假设Google上会有一些。我正在使用智能手机,使用智能手机编码会很麻烦。没问题,buddy@glee8e你的评论对我很有帮助,因为你给了我一个解决这个问题的提示,这对我解决这个问题来说已经足够了。你找到了让gmail工作所需的设置吗?我刚刚遇到了同样的问题…这是可行的,但会降低我的gmail帐户的安全性。不幸的是,这是gmail添加的安全限制。@Harshharma是的,启用不太安全的应用程序会使你的帐户更容易受到攻击。这是可行的,但会降低我的gmail帐户的安全性。不幸的是,这是gmail添加的安全限制gmail。@harshharma是的,启用不太安全的应用程序会使您的帐户更容易受到攻击。
Hi ChatNa,
Someone just tried to sign in to your Google Account chatna06062016@gmail.com from an app that doesn't meet modern security standards.
Details:
Sunday, June 26, 2016 12:57 PM (India Standard Time)
Noida, Uttar Pradesh, India*
We strongly recommend that you use a secure app, like Gmail, to access your account. All apps made by Google meet these security standards. Using a less secure app, on the other hand, could leave your account vulnerable. Learn more.
Google stopped this sign-in attempt, but you should review your recently used devices:
[connection begins]
C: C01 CAPABILITY
S: * CAPABILITY IMAP4rev1 UNSELECT IDLE NAMESPACE QUOTA XLIST
CHILDREN XYZZY SASL-IR AUTH=XOAUTH2 AUTH=XOAUTH
S: C01 OK Completed
C: A01 AUTHENTICATE XOAUTH2 dXNlcj1zb21ldXNlckBleGFtcGxlLmNvb
QFhdXRoPUJlYXJlciB5YTI5LnZGOWRmdDRxbVRjMk52YjNSbGNrQmhkSFJoZG
1semRHRXVZMjl0Q2cBAQ==
S: A01 OK Success
[connection continues...]