Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/203.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
Android 如何使用JavaMail验证登录?_Android_Email_Exception_Login_Jakarta Mail - Fatal编程技术网

Android 如何使用JavaMail验证登录?

Android 如何使用JavaMail验证登录?,android,email,exception,login,jakarta-mail,Android,Email,Exception,Login,Jakarta Mail,我正在尝试为android创建一个应用程序,我正在使用javamail,但我遇到了一些问题:如何检查电子邮件和密码是否正确? 如果有人在发送电子邮件之前输入了密码不正确的电子邮件,是否可以显示“电子邮件或密码不正确”? 我看到的所有例子都不能做到这一点,我也没有找到一种方法来获得异常。。。谢谢大家! 我有一个登录类,用户在其中键入登录名和密码。。。然后他们按下登录按钮 我还得到了一个名为ReadMails的类,我在其中创建了一个名为checkForErrors的方法(当按下登录按钮时调用此方法)

我正在尝试为android创建一个应用程序,我正在使用javamail,但我遇到了一些问题:如何检查电子邮件和密码是否正确? 如果有人在发送电子邮件之前输入了密码不正确的电子邮件,是否可以显示“电子邮件或密码不正确”?
我看到的所有例子都不能做到这一点,我也没有找到一种方法来获得异常。。。谢谢大家!

我有一个登录类,用户在其中键入登录名和密码。。。然后他们按下登录按钮

我还得到了一个名为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;
    }
}