Android 如何使用JavaMail验证登录?
我正在尝试为android创建一个应用程序,我正在使用javamail,但我遇到了一些问题:如何检查电子邮件和密码是否正确? 如果有人在发送电子邮件之前输入了密码不正确的电子邮件,是否可以显示“电子邮件或密码不正确”?Android 如何使用JavaMail验证登录?,android,email,exception,login,jakarta-mail,Android,Email,Exception,Login,Jakarta Mail,我正在尝试为android创建一个应用程序,我正在使用javamail,但我遇到了一些问题:如何检查电子邮件和密码是否正确? 如果有人在发送电子邮件之前输入了密码不正确的电子邮件,是否可以显示“电子邮件或密码不正确”? 我看到的所有例子都不能做到这一点,我也没有找到一种方法来获得异常。。。谢谢大家! 我有一个登录类,用户在其中键入登录名和密码。。。然后他们按下登录按钮 我还得到了一个名为ReadMails的类,我在其中创建了一个名为checkForErrors的方法(当按下登录按钮时调用此方法)
我看到的所有例子都不能做到这一点,我也没有找到一种方法来获得异常。。。谢谢大家! 我有一个登录类,用户在其中键入登录名和密码。。。然后他们按下登录按钮 我还得到了一个名为ReadMails的类,我在其中创建了一个名为checkForErrors的方法(当按下登录按钮时调用此方法) 我在login类中调用这个方法,如果它返回0,我知道一切正常。。。 如果它返回1,将抛出“AuthenticationFailedException”,这样我就知道用户输入了错误的密码或登录名。。。等等
另外,你可能对这个主题感兴趣…我有一个登录类,用户在其中键入登录名和密码。。。然后他们按下登录按钮 我还得到了一个名为ReadMails的类,我在其中创建了一个名为checkForErrors的方法(当按下登录按钮时调用此方法) 我在login类中调用这个方法,如果它返回0,我知道一切正常。。。 如果它返回1,将抛出“AuthenticationFailedException”,这样我就知道用户输入了错误的密码或登录名。。。等等
此外,您可能对这个主题感兴趣…这部分代码是检查电子邮件所必需的:inbox=store.getFolder(“inbox”);收件箱。打开(文件夹。读写);Message[]result=inbox.getMessages();而且我也在使用smtps,我应该把“imaps”改成“smtp”吗?不,没有必要。。。是的,如果你正在使用smpt,你必须将其更改为smpt,但是如果你还没有创建自己的smpt会话,那么首先你必须创建自己的smpt会话……我使用的是我的会话,而不是我的主机(gmail)“mailServer”,但现在我收到一个异常(NoSuchProviderException),你说的“我的会话”是什么意思?除非您正在编写JavaMail提供程序,否则您不能只提供自己的会话类。只需使用Transport.connect查看是否成功,然后使用Transport.close。您不需要发送消息来测试登录信息是否正确。检查电子邮件时需要这部分代码:inbox=store.getFolder(“inbox”);收件箱。打开(文件夹。读写);Message[]result=inbox.getMessages();而且我也在使用smtps,我应该把“imaps”改成“smtp”吗?不,没有必要。。。是的,如果你正在使用smpt,你必须将其更改为smpt,但是如果你还没有创建自己的smpt会话,那么首先你必须创建自己的smpt会话……我使用的是我的会话,而不是我的主机(gmail)“mailServer”,但现在我收到一个异常(NoSuchProviderException),你说的“我的会话”是什么意思?除非您正在编写JavaMail提供程序,否则您不能只提供自己的会话类。只需使用Transport.connect查看是否成功,然后使用Transport.close。您不需要发送消息来测试登录信息是否正确。
public int checkForErrors() {
try {
store = imapSession.getStore("imaps");
store.connect(mailServer, username, password);
inbox = store.getFolder("Inbox");
inbox.open(Folder.READ_WRITE);
Message[] result = inbox.getMessages();
return 0;
} catch (AuthenticationFailedException e) {
e.printStackTrace();
return 1;
} catch (MessagingException e) {
e.printStackTrace();
return 2;
}
}