pub struct MailProvider {
pub auth_url: String,
pub token_url: String,
pub client_id: String,
pub imap_scopes: Vec<String>,
pub smtp_scopes: Vec<String>,
pub extra_scopes: Vec<String>,
}Expand description
Mail provider endpoints and XOAUTH2 scope sets.
Fields§
§auth_url: StringAuthorization endpoint.
token_url: StringToken endpoint.
client_id: StringOAuth2 client id (the desktop app’s registered client).
imap_scopes: Vec<String>Scopes required for IMAP XOAUTH2.
smtp_scopes: Vec<String>Scopes required for SMTP XOAUTH2.
extra_scopes: Vec<String>Extra scopes included in the authorization request
(openid, offline_access, …).
Implementations§
Source§impl MailProvider
impl MailProvider
Sourcepub fn gmail(client_id: &str) -> Self
pub fn gmail(client_id: &str) -> Self
Gmail preset. The single https://mail.google.com/ scope covers
both IMAP and SMTP XOAUTH2.
Sourcepub fn outlook(client_id: &str, tenant: &str) -> Self
pub fn outlook(client_id: &str, tenant: &str) -> Self
Microsoft 365 / Outlook preset. tenant is the directory tenant
path segment (e.g. common, consumers, or a tenant id).
Sourcepub fn fastmail(client_id: &str) -> Self
pub fn fastmail(client_id: &str) -> Self
Fastmail preset with dedicated IMAP and SMTP protocol scopes.
The scope list to send in the authorization request: the union of IMAP, SMTP, and extra scopes, de-duplicated preserving order.
Trait Implementations§
Source§impl Clone for MailProvider
impl Clone for MailProvider
Source§impl Debug for MailProvider
impl Debug for MailProvider
Source§impl<'de> Deserialize<'de> for MailProvider
impl<'de> Deserialize<'de> for MailProvider
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for MailProvider
Source§impl PartialEq for MailProvider
impl PartialEq for MailProvider
Source§impl Serialize for MailProvider
impl Serialize for MailProvider
impl StructuralPartialEq for MailProvider
Auto Trait Implementations§
impl Freeze for MailProvider
impl RefUnwindSafe for MailProvider
impl Send for MailProvider
impl Sync for MailProvider
impl Unpin for MailProvider
impl UnsafeUnpin for MailProvider
impl UnwindSafe for MailProvider
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more