登录
### 描述:
> 1. 邮箱登录和普通的登录并不一样,主要用于`校验用户信息`以及`服务器配置信息`的正确性。
> 2. 需要注意的是,`加密方式`不同,`端口号`也会有所变化
### IMAP登录示例
```java
private void startLogin(){
IMAPSession session = new IMAPSession();
//设置账号信息
session.setUsername("***@wo.cn");
//设置密码/授权码, 部分邮箱需要使用授权码登录
session.setPassword("*****");
//服务器地址
session.setHostname("imap.wo.cn");
//服务器端口
session.setPort(143);
//链接时的加密方式,对应不同的端口
session.setConnectionType(ConnectionType.ConnectionTypeTLS);
//验证账号信息
final IMAPOperation operation = session.checkAccountOperation();
operation.start(new OperationCallback() {
@Override
public void succeeded() {
//连接成功
}
@Override
public void failed(MailException e) {
//错误代码
e.getMessage();
}
});
}
```
>w 账号改变后,需要重新创建IMAPSession
>d 密码错误
Unable to authenticate with the current session's credentials.
>dHostName错误
A stable connection to the server could not be established.
>d账号错误 - 前面多几个字母
Unable to authenticate with the current session's credentials.
>d端口错误
A stable connection to the server could not be established.
### POP登录
```java
private void startPopLogin(Account mAccount){
POPSession session = new POPSession();
//设置账号、密码、服务器地址、端口号、加密方式
session.setUsername(mAccount.username);
session.setPassword(mAccount.password);
session.setHostname(mAccount.hostname);
session.setPort(mAccount.port);
if (checkBox.isChecked()) {
session.setConnectionType(ConnectionType.ConnectionTypeTLS);
}else{
session.setConnectionType(ConnectionType.ConnectionTypeClear);
}
//session.setAuthType(AuthType.AuthTypeSASLPlain);
//session.setCheckCertificateEnabled(false);
POPOperation operation = session.checkAccountOperation();
LogHelper.showLog("Login pop starting");
operation.start(new OperationCallback() {
@Override
public void succeeded() {
LogHelper.showLog("Login pop Successed");
}
@Override
public void failed(MailException e) {
LogHelper.showLog("Login pop failed:"+e.getMessage());
}
});
}
```