diff --git a/examples/basic.rs b/examples/basic.rs index 4f28dfd..fc643a3 100644 --- a/examples/basic.rs +++ b/examples/basic.rs @@ -1,7 +1,7 @@ extern crate imap; extern crate native_tls; -use imap::client::Client; +use imap::client::UnauthenticatedClient; use native_tls::TlsConnector; // To connect to the gmail IMAP server with this you will need to allow unsecure apps access. @@ -12,9 +12,15 @@ fn main() { let port = 993; let socket_addr = (domain, port); let ssl_connector = TlsConnector::builder().build().unwrap(); - let mut imap_socket = Client::secure_connect(socket_addr, domain, &ssl_connector).unwrap(); + let unauth_client = UnauthenticatedClient::secure_connect(socket_addr, domain, &ssl_connector).unwrap(); - imap_socket.login("username", "password").unwrap(); + let mut imap_socket = match unauth_client.login("username", "password") { + Ok(c) => c, + Err((e, _unauth_client)) => { + println!("failed to login: {}", e); + return; + }, + }; match imap_socket.capabilities() { Ok(capabilities) => for capability in capabilities.iter() { diff --git a/examples/gmail_oauth2.rs b/examples/gmail_oauth2.rs index 06ccae6..d334cf7 100644 --- a/examples/gmail_oauth2.rs +++ b/examples/gmail_oauth2.rs @@ -4,7 +4,7 @@ extern crate native_tls; use base64::encode; use imap::authenticator::Authenticator; -use imap::client::Client; +use imap::client::UnauthenticatedClient; use native_tls::TlsConnector; struct GmailOAuth2 { @@ -33,9 +33,15 @@ fn main() { let port = 993; let socket_addr = (domain, port); let ssl_connector = TlsConnector::builder().build().unwrap(); - let mut imap_socket = Client::secure_connect(socket_addr, domain, &ssl_connector).unwrap(); + let unauth_client = UnauthenticatedClient::secure_connect(socket_addr, domain, &ssl_connector).unwrap(); - imap_socket.authenticate("XOAUTH2", gmail_auth).unwrap(); + let mut imap_socket = match unauth_client.authenticate("XOAUTH2", gmail_auth) { + Ok(c) => c, + Err((e, _unauth_client)) => { + println!("error authenticating: {}", e); + return; + } + }; match imap_socket.select("INBOX") { Ok(mailbox) => println!("{}", mailbox),