| |
|
|
| use crate::provider::Protocol::*; |
| use crate::provider::Socket::*; |
| use crate::provider::UsernamePattern::*; |
| use crate::provider::{ |
| Config, ConfigDefault, Oauth2Authorizer, Provider, ProviderOptions, Server, Status, |
| }; |
| use std::collections::HashMap; |
|
|
| use std::sync::LazyLock; |
|
|
| |
| static P_163: Provider = Provider { |
| id: "163", |
| status: Status::Preparation, |
| before_login_hint: "Enable \"POP3/SMTP/IMAP\" on the website, add a third-party auth code and use that as the login password", |
| after_login_hint: "", |
| overview_page: "https://providers.delta.chat/163", |
| server: &[ |
| Server { |
| protocol: Imap, |
| socket: Ssl, |
| hostname: "imap.163.com", |
| port: 993, |
| username_pattern: Email, |
| }, |
| Server { |
| protocol: Smtp, |
| socket: Ssl, |
| hostname: "smtp.163.com", |
| port: 465, |
| username_pattern: Email, |
| }, |
| ], |
| opt: ProviderOptions::new(), |
| config_defaults: None, |
| oauth2_authorizer: None, |
| }; |
|
|
| |
| static P_AKTIVIX_ORG: Provider = Provider { |
| id: "aktivix.org", |
| status: Status::Ok, |
| before_login_hint: "", |
| after_login_hint: "", |
| overview_page: "https://providers.delta.chat/aktivix-org", |
| server: &[ |
| Server { |
| protocol: Imap, |
| socket: Starttls, |
| hostname: "newyear.aktivix.org", |
| port: 143, |
| username_pattern: Email, |
| }, |
| Server { |
| protocol: Smtp, |
| socket: Starttls, |
| hostname: "newyear.aktivix.org", |
| port: 587, |
| username_pattern: Email, |
| }, |
| ], |
| opt: ProviderOptions::new(), |
| config_defaults: None, |
| oauth2_authorizer: None, |
| }; |
|
|
| |
| static P_ALIYUN: Provider = Provider { |
| id: "aliyun", |
| status: Status::Ok, |
| before_login_hint: "", |
| after_login_hint: "", |
| overview_page: "https://providers.delta.chat/aliyun", |
| server: &[ |
| Server { |
| protocol: Imap, |
| socket: Ssl, |
| hostname: "imap.aliyun.com", |
| port: 993, |
| username_pattern: Email, |
| }, |
| Server { |
| protocol: Smtp, |
| socket: Ssl, |
| hostname: "smtp.aliyun.com", |
| port: 465, |
| username_pattern: Email, |
| }, |
| ], |
| opt: ProviderOptions::new(), |
| config_defaults: None, |
| oauth2_authorizer: None, |
| }; |
|
|
| |
| static P_AOL: Provider = Provider { |
| id: "aol", |
| status: Status::Preparation, |
| before_login_hint: "To log in to AOL, you need to set up an app password in the AOL web interface.", |
| after_login_hint: "", |
| overview_page: "https://providers.delta.chat/aol", |
| server: &[ |
| Server { |
| protocol: Imap, |
| socket: Ssl, |
| hostname: "imap.aol.com", |
| port: 993, |
| username_pattern: Email, |
| }, |
| Server { |
| protocol: Smtp, |
| socket: Ssl, |
| hostname: "smtp.aol.com", |
| port: 465, |
| username_pattern: Email, |
| }, |
| ], |
| opt: ProviderOptions::new(), |
| config_defaults: None, |
| oauth2_authorizer: None, |
| }; |
|
|
| |
| static P_ARCOR_DE: Provider = Provider { |
| id: "arcor.de", |
| status: Status::Ok, |
| before_login_hint: "", |
| after_login_hint: "", |
| overview_page: "https://providers.delta.chat/arcor-de", |
| server: &[ |
| Server { |
| protocol: Imap, |
| socket: Ssl, |
| hostname: "imap.arcor.de", |
| port: 993, |
| username_pattern: Email, |
| }, |
| Server { |
| protocol: Smtp, |
| socket: Ssl, |
| hostname: "mail.arcor.de", |
| port: 465, |
| username_pattern: Email, |
| }, |
| ], |
| opt: ProviderOptions::new(), |
| config_defaults: None, |
| oauth2_authorizer: None, |
| }; |
|
|
| |
| static P_AUTISTICI_ORG: Provider = Provider { |
| id: "autistici.org", |
| status: Status::Ok, |
| before_login_hint: "", |
| after_login_hint: "", |
| overview_page: "https://providers.delta.chat/autistici-org", |
| server: &[ |
| Server { |
| protocol: Imap, |
| socket: Ssl, |
| hostname: "mail.autistici.org", |
| port: 993, |
| username_pattern: Email, |
| }, |
| Server { |
| protocol: Smtp, |
| socket: Ssl, |
| hostname: "smtp.autistici.org", |
| port: 465, |
| username_pattern: Email, |
| }, |
| ], |
| opt: ProviderOptions::new(), |
| config_defaults: None, |
| oauth2_authorizer: None, |
| }; |
|
|
| |
| static P_BLINDZELN_ORG: Provider = Provider { |
| id: "blindzeln.org", |
| status: Status::Ok, |
| before_login_hint: "", |
| after_login_hint: "", |
| overview_page: "https://providers.delta.chat/blindzeln-org", |
| server: &[ |
| Server { |
| protocol: Imap, |
| socket: Ssl, |
| hostname: "webbox222.server-home.org", |
| port: 993, |
| username_pattern: Email, |
| }, |
| Server { |
| protocol: Smtp, |
| socket: Ssl, |
| hostname: "webbox222.server-home.org", |
| port: 465, |
| username_pattern: Email, |
| }, |
| ], |
| opt: ProviderOptions::new(), |
| config_defaults: None, |
| oauth2_authorizer: None, |
| }; |
|
|
| |
| static P_BLUEWIN_CH: Provider = Provider { |
| id: "bluewin.ch", |
| status: Status::Ok, |
| before_login_hint: "", |
| after_login_hint: "", |
| overview_page: "https://providers.delta.chat/bluewin-ch", |
| server: &[ |
| Server { |
| protocol: Imap, |
| socket: Ssl, |
| hostname: "imaps.bluewin.ch", |
| port: 993, |
| username_pattern: Email, |
| }, |
| Server { |
| protocol: Smtp, |
| socket: Ssl, |
| hostname: "smtpauths.bluewin.ch", |
| port: 465, |
| username_pattern: Email, |
| }, |
| ], |
| opt: ProviderOptions::new(), |
| config_defaults: None, |
| oauth2_authorizer: None, |
| }; |
|
|
| |
| static P_BUZON_UY: Provider = Provider { |
| id: "buzon.uy", |
| status: Status::Ok, |
| before_login_hint: "", |
| after_login_hint: "", |
| overview_page: "https://providers.delta.chat/buzon-uy", |
| server: &[ |
| Server { |
| protocol: Imap, |
| socket: Starttls, |
| hostname: "mail.buzon.uy", |
| port: 143, |
| username_pattern: Email, |
| }, |
| Server { |
| protocol: Smtp, |
| socket: Starttls, |
| hostname: "mail.buzon.uy", |
| port: 587, |
| username_pattern: Email, |
| }, |
| ], |
| opt: ProviderOptions::new(), |
| config_defaults: None, |
| oauth2_authorizer: None, |
| }; |
|
|
| |
| static P_CHELLO_AT: Provider = Provider { |
| id: "chello.at", |
| status: Status::Ok, |
| before_login_hint: "", |
| after_login_hint: "", |
| overview_page: "https://providers.delta.chat/chello-at", |
| server: &[ |
| Server { |
| protocol: Imap, |
| socket: Ssl, |
| hostname: "mail.mymagenta.at", |
| port: 993, |
| username_pattern: Email, |
| }, |
| Server { |
| protocol: Smtp, |
| socket: Ssl, |
| hostname: "mail.mymagenta.at", |
| port: 465, |
| username_pattern: Email, |
| }, |
| ], |
| opt: ProviderOptions::new(), |
| config_defaults: None, |
| oauth2_authorizer: None, |
| }; |
|
|
| |
| static P_COMCAST: Provider = Provider { |
| id: "comcast", |
| status: Status::Ok, |
| before_login_hint: "", |
| after_login_hint: "", |
| overview_page: "https://providers.delta.chat/comcast", |
| server: &[], |
| opt: ProviderOptions::new(), |
| config_defaults: None, |
| oauth2_authorizer: None, |
| }; |
|
|
| |
| static P_DALETH_CAFE: Provider = Provider { |
| id: "daleth.cafe", |
| status: Status::Ok, |
| before_login_hint: "", |
| after_login_hint: "", |
| overview_page: "https://providers.delta.chat/daleth-cafe", |
| server: &[ |
| Server { |
| protocol: Imap, |
| socket: Ssl, |
| hostname: "daleth.cafe", |
| port: 993, |
| username_pattern: Email, |
| }, |
| Server { |
| protocol: Smtp, |
| socket: Ssl, |
| hostname: "daleth.cafe", |
| port: 465, |
| username_pattern: Email, |
| }, |
| Server { |
| protocol: Imap, |
| socket: Starttls, |
| hostname: "daleth.cafe", |
| port: 143, |
| username_pattern: Email, |
| }, |
| Server { |
| protocol: Smtp, |
| socket: Starttls, |
| hostname: "daleth.cafe", |
| port: 587, |
| username_pattern: Email, |
| }, |
| ], |
| opt: ProviderOptions::new(), |
| config_defaults: None, |
| oauth2_authorizer: None, |
| }; |
|
|
| |
| static P_DISMAIL_DE: Provider = Provider { |
| id: "dismail.de", |
| status: Status::Ok, |
| before_login_hint: "", |
| after_login_hint: "", |
| overview_page: "https://providers.delta.chat/dismail-de", |
| server: &[], |
| opt: ProviderOptions::new(), |
| config_defaults: None, |
| oauth2_authorizer: None, |
| }; |
|
|
| |
| static P_DISROOT: Provider = Provider { |
| id: "disroot", |
| status: Status::Ok, |
| before_login_hint: "", |
| after_login_hint: "", |
| overview_page: "https://providers.delta.chat/disroot", |
| server: &[ |
| Server { |
| protocol: Imap, |
| socket: Ssl, |
| hostname: "disroot.org", |
| port: 993, |
| username_pattern: Emaillocalpart, |
| }, |
| Server { |
| protocol: Smtp, |
| socket: Starttls, |
| hostname: "disroot.org", |
| port: 587, |
| username_pattern: Emaillocalpart, |
| }, |
| ], |
| opt: ProviderOptions::new(), |
| config_defaults: None, |
| oauth2_authorizer: None, |
| }; |
|
|
| |
| static P_E_EMAIL: Provider = Provider { |
| id: "e.email", |
| status: Status::Ok, |
| before_login_hint: "", |
| after_login_hint: "", |
| overview_page: "https://providers.delta.chat/e-email", |
| server: &[ |
| Server { |
| protocol: Imap, |
| socket: Ssl, |
| hostname: "mail.ecloud.global", |
| port: 993, |
| username_pattern: Email, |
| }, |
| Server { |
| protocol: Smtp, |
| socket: Starttls, |
| hostname: "mail.ecloud.global", |
| port: 587, |
| username_pattern: Email, |
| }, |
| ], |
| opt: ProviderOptions::new(), |
| config_defaults: None, |
| oauth2_authorizer: None, |
| }; |
|
|
| |
| static P_ESPIV_NET: Provider = Provider { |
| id: "espiv.net", |
| status: Status::Ok, |
| before_login_hint: "", |
| after_login_hint: "", |
| overview_page: "https://providers.delta.chat/espiv-net", |
| server: &[], |
| opt: ProviderOptions::new(), |
| config_defaults: None, |
| oauth2_authorizer: None, |
| }; |
|
|
| |
| static P_EXAMPLE_COM: Provider = Provider { |
| id: "example.com", |
| status: Status::Broken, |
| before_login_hint: "Hush this provider doesn't exist!", |
| after_login_hint: "This provider doesn't really exist, so you can't use it :/ If you need an email provider, take a look at providers.delta.chat!", |
| overview_page: "https://providers.delta.chat/example-com", |
| server: &[ |
| Server { |
| protocol: Imap, |
| socket: Ssl, |
| hostname: "imap.example.com", |
| port: 1337, |
| username_pattern: Emaillocalpart, |
| }, |
| Server { |
| protocol: Smtp, |
| socket: Starttls, |
| hostname: "smtp.example.com", |
| port: 1337, |
| username_pattern: Email, |
| }, |
| ], |
| opt: ProviderOptions::new(), |
| config_defaults: None, |
| oauth2_authorizer: None, |
| }; |
|
|
| |
| static P_FASTMAIL: Provider = Provider { |
| id: "fastmail", |
| status: Status::Preparation, |
| before_login_hint: "You must create an app-specific password before you can log in.", |
| after_login_hint: "", |
| overview_page: "https://providers.delta.chat/fastmail", |
| server: &[ |
| Server { |
| protocol: Imap, |
| socket: Ssl, |
| hostname: "imap.fastmail.com", |
| port: 993, |
| username_pattern: Email, |
| }, |
| Server { |
| protocol: Smtp, |
| socket: Ssl, |
| hostname: "smtp.fastmail.com", |
| port: 465, |
| username_pattern: Email, |
| }, |
| ], |
| opt: ProviderOptions::new(), |
| config_defaults: None, |
| oauth2_authorizer: None, |
| }; |
|
|
| |
| static P_FIREMAIL_DE: Provider = Provider { |
| id: "firemail.de", |
| status: Status::Preparation, |
| before_login_hint: "Firemail erlaubt nur bei bezahlten Accounts den vollen Zugriff auf das E-Mail-Protokoll. Wenn Sie nicht für Firemail bezahlen, verwenden Sie bitte einen anderen E-Mail-Anbieter.", |
| after_login_hint: "Leider schränkt Firemail die maximale Gruppengröße ein. Je nach Bezahlmodell sind nur 5 bis 30 Gruppenmitglieder erlaubt.", |
| overview_page: "https://providers.delta.chat/firemail-de", |
| server: &[], |
| opt: ProviderOptions::new(), |
| config_defaults: None, |
| oauth2_authorizer: None, |
| }; |
|
|
| |
| static P_FIVE_CHAT: Provider = Provider { |
| id: "five.chat", |
| status: Status::Ok, |
| before_login_hint: "", |
| after_login_hint: "", |
| overview_page: "https://providers.delta.chat/five-chat", |
| server: &[], |
| opt: ProviderOptions::new(), |
| config_defaults: Some(&[ |
| ConfigDefault { |
| key: Config::BccSelf, |
| value: "1", |
| }, |
| ConfigDefault { |
| key: Config::MvboxMove, |
| value: "0", |
| }, |
| ]), |
| oauth2_authorizer: None, |
| }; |
|
|
| |
| static P_FREENET_DE: Provider = Provider { |
| id: "freenet.de", |
| status: Status::Preparation, |
| before_login_hint: "Um deine freenet.de E-Mail-Adresse zu benutzen, musst du erst auf der freenet.de-Webseite \"POP3/IMAP/SMTP\" aktivieren.", |
| after_login_hint: "", |
| overview_page: "https://providers.delta.chat/freenet-de", |
| server: &[ |
| Server { |
| protocol: Imap, |
| socket: Ssl, |
| hostname: "mx.freenet.de", |
| port: 993, |
| username_pattern: Email, |
| }, |
| Server { |
| protocol: Imap, |
| socket: Starttls, |
| hostname: "mx.freenet.de", |
| port: 143, |
| username_pattern: Email, |
| }, |
| Server { |
| protocol: Smtp, |
| socket: Ssl, |
| hostname: "mx.freenet.de", |
| port: 465, |
| username_pattern: Email, |
| }, |
| Server { |
| protocol: Smtp, |
| socket: Starttls, |
| hostname: "mx.freenet.de", |
| port: 587, |
| username_pattern: Email, |
| }, |
| ], |
| opt: ProviderOptions::new(), |
| config_defaults: None, |
| oauth2_authorizer: None, |
| }; |
|
|
| |
| static P_GMAIL: Provider = Provider { |
| id: "gmail", |
| status: Status::Preparation, |
| before_login_hint: "For Gmail accounts, you need to have \"2-Step Verification\" enabled and create an app-password.", |
| after_login_hint: "", |
| overview_page: "https://providers.delta.chat/gmail", |
| server: &[ |
| Server { |
| protocol: Imap, |
| socket: Ssl, |
| hostname: "imap.gmail.com", |
| port: 993, |
| username_pattern: Email, |
| }, |
| Server { |
| protocol: Smtp, |
| socket: Ssl, |
| hostname: "smtp.gmail.com", |
| port: 465, |
| username_pattern: Email, |
| }, |
| ], |
| opt: ProviderOptions { |
| delete_to_trash: true, |
| ..ProviderOptions::new() |
| }, |
| config_defaults: None, |
| oauth2_authorizer: None, |
| }; |
|
|
| |
| static P_GMX_NET: Provider = Provider { |
| id: "gmx.net", |
| status: Status::Preparation, |
| before_login_hint: "You must allow IMAP access to your account before you can login.", |
| after_login_hint: "", |
| overview_page: "https://providers.delta.chat/gmx-net", |
| server: &[ |
| Server { |
| protocol: Imap, |
| socket: Ssl, |
| hostname: "imap.gmx.net", |
| port: 993, |
| username_pattern: Email, |
| }, |
| Server { |
| protocol: Smtp, |
| socket: Ssl, |
| hostname: "mail.gmx.net", |
| port: 465, |
| username_pattern: Email, |
| }, |
| Server { |
| protocol: Smtp, |
| socket: Starttls, |
| hostname: "mail.gmx.net", |
| port: 587, |
| username_pattern: Email, |
| }, |
| ], |
| opt: ProviderOptions::new(), |
| config_defaults: None, |
| oauth2_authorizer: None, |
| }; |
|
|
| |
| static P_HERMES_RADIO: Provider = Provider { |
| id: "hermes.radio", |
| status: Status::Ok, |
| before_login_hint: "", |
| after_login_hint: "", |
| overview_page: "https://providers.delta.chat/hermes-radio", |
| server: &[], |
| opt: ProviderOptions { |
| strict_tls: false, |
| ..ProviderOptions::new() |
| }, |
| config_defaults: Some(&[ |
| ConfigDefault { |
| key: Config::MdnsEnabled, |
| value: "0", |
| }, |
| ConfigDefault { |
| key: Config::ShowEmails, |
| value: "2", |
| }, |
| ]), |
| oauth2_authorizer: None, |
| }; |
|
|
| |
| static P_HEY_COM: Provider = Provider { |
| id: "hey.com", |
| status: Status::Broken, |
| before_login_hint: "hey.com does not offer the standard IMAP e-mail protocol, so you cannot log in to hey.com.", |
| after_login_hint: "", |
| overview_page: "https://providers.delta.chat/hey-com", |
| server: &[], |
| opt: ProviderOptions::new(), |
| config_defaults: None, |
| oauth2_authorizer: None, |
| }; |
|
|
| |
| static P_I_UA: Provider = Provider { |
| id: "i.ua", |
| status: Status::Broken, |
| before_login_hint: "Протокол IMAP не предоставляется и не планируется.", |
| after_login_hint: "", |
| overview_page: "https://providers.delta.chat/i-ua", |
| server: &[], |
| opt: ProviderOptions::new(), |
| config_defaults: None, |
| oauth2_authorizer: None, |
| }; |
|
|
| |
| static P_I3_NET: Provider = Provider { |
| id: "i3.net", |
| status: Status::Ok, |
| before_login_hint: "", |
| after_login_hint: "", |
| overview_page: "https://providers.delta.chat/i3-net", |
| server: &[], |
| opt: ProviderOptions::new(), |
| config_defaults: None, |
| oauth2_authorizer: None, |
| }; |
|
|
| |
| static P_ICLOUD: Provider = Provider { |
| id: "icloud", |
| status: Status::Preparation, |
| before_login_hint: "You must create an app-specific password before login.", |
| after_login_hint: "", |
| overview_page: "https://providers.delta.chat/icloud", |
| server: &[ |
| Server { |
| protocol: Imap, |
| socket: Ssl, |
| hostname: "imap.mail.me.com", |
| port: 993, |
| username_pattern: Emaillocalpart, |
| }, |
| Server { |
| protocol: Smtp, |
| socket: Starttls, |
| hostname: "smtp.mail.me.com", |
| port: 587, |
| username_pattern: Email, |
| }, |
| ], |
| opt: ProviderOptions::new(), |
| config_defaults: None, |
| oauth2_authorizer: None, |
| }; |
|
|
| |
| static P_INFOMANIAK_COM: Provider = Provider { |
| id: "infomaniak.com", |
| status: Status::Ok, |
| before_login_hint: "", |
| after_login_hint: "", |
| overview_page: "https://providers.delta.chat/infomaniak-com", |
| server: &[ |
| Server { |
| protocol: Imap, |
| socket: Ssl, |
| hostname: "mail.infomaniak.com", |
| port: 993, |
| username_pattern: Email, |
| }, |
| Server { |
| protocol: Smtp, |
| socket: Ssl, |
| hostname: "mail.infomaniak.com", |
| port: 465, |
| username_pattern: Email, |
| }, |
| ], |
| opt: ProviderOptions { |
| max_smtp_rcpt_to: Some(10), |
| ..ProviderOptions::new() |
| }, |
| config_defaults: None, |
| oauth2_authorizer: None, |
| }; |
|
|
| |
| static P_KOLST_COM: Provider = Provider { |
| id: "kolst.com", |
| status: Status::Ok, |
| before_login_hint: "", |
| after_login_hint: "", |
| overview_page: "https://providers.delta.chat/kolst-com", |
| server: &[], |
| opt: ProviderOptions::new(), |
| config_defaults: None, |
| oauth2_authorizer: None, |
| }; |
|
|
| |
| static P_KONTENT_COM: Provider = Provider { |
| id: "kontent.com", |
| status: Status::Ok, |
| before_login_hint: "", |
| after_login_hint: "", |
| overview_page: "https://providers.delta.chat/kontent-com", |
| server: &[], |
| opt: ProviderOptions::new(), |
| config_defaults: None, |
| oauth2_authorizer: None, |
| }; |
|
|
| |
| static P_MAIL_COM: Provider = Provider { |
| id: "mail.com", |
| status: Status::Preparation, |
| before_login_hint: "To log in, you first need to activate POP3/IMAP in your mail.com settings. Note that this is a mail.com Premium feature only.", |
| after_login_hint: "", |
| overview_page: "https://providers.delta.chat/mail-com", |
| server: &[], |
| opt: ProviderOptions::new(), |
| config_defaults: None, |
| oauth2_authorizer: None, |
| }; |
|
|
| |
| static P_MAIL_DE: Provider = Provider { |
| id: "mail.de", |
| status: Status::Ok, |
| before_login_hint: "", |
| after_login_hint: "", |
| overview_page: "https://providers.delta.chat/mail-de", |
| server: &[ |
| Server { |
| protocol: Imap, |
| socket: Ssl, |
| hostname: "imap.mail.de", |
| port: 993, |
| username_pattern: Email, |
| }, |
| Server { |
| protocol: Smtp, |
| socket: Ssl, |
| hostname: "smtp.mail.de", |
| port: 465, |
| username_pattern: Email, |
| }, |
| ], |
| opt: ProviderOptions::new(), |
| config_defaults: None, |
| oauth2_authorizer: None, |
| }; |
|
|
| |
| static P_MAIL_RU: Provider = Provider { |
| id: "mail.ru", |
| status: Status::Preparation, |
| before_login_hint: "Вам необходимо сгенерировать \"пароль для внешнего приложения\" в веб-интерфейсе mail.ru, чтобы mail.ru работал с chatmail.", |
| after_login_hint: "", |
| overview_page: "https://providers.delta.chat/mail-ru", |
| server: &[ |
| Server { |
| protocol: Imap, |
| socket: Ssl, |
| hostname: "imap.mail.ru", |
| port: 993, |
| username_pattern: Email, |
| }, |
| Server { |
| protocol: Smtp, |
| socket: Ssl, |
| hostname: "smtp.mail.ru", |
| port: 465, |
| username_pattern: Email, |
| }, |
| ], |
| opt: ProviderOptions::new(), |
| config_defaults: None, |
| oauth2_authorizer: None, |
| }; |
|
|
| |
| static P_MAIL2TOR: Provider = Provider { |
| id: "mail2tor", |
| status: Status::Preparation, |
| before_login_hint: "Tor is needed to connect to the email servers.", |
| after_login_hint: "", |
| overview_page: "https://providers.delta.chat/mail2tor", |
| server: &[ |
| Server { |
| protocol: Imap, |
| socket: Plain, |
| hostname: "g77kjrad6bafzzyldqvffq6kxlsgphcygptxhnn4xlnktfgaqshilmyd.onion", |
| port: 143, |
| username_pattern: Email, |
| }, |
| Server { |
| protocol: Smtp, |
| socket: Plain, |
| hostname: "xc7tgk2c5onxni2wsy76jslfsitxjbbptejnqhw6gy2ft7khpevhc7ad.onion", |
| port: 25, |
| username_pattern: Email, |
| }, |
| ], |
| opt: ProviderOptions::new(), |
| config_defaults: None, |
| oauth2_authorizer: None, |
| }; |
|
|
| |
| static P_MAILBOX_ORG: Provider = Provider { |
| id: "mailbox.org", |
| status: Status::Ok, |
| before_login_hint: "", |
| after_login_hint: "", |
| overview_page: "https://providers.delta.chat/mailbox-org", |
| server: &[ |
| Server { |
| protocol: Imap, |
| socket: Ssl, |
| hostname: "imap.mailbox.org", |
| port: 993, |
| username_pattern: Email, |
| }, |
| Server { |
| protocol: Smtp, |
| socket: Ssl, |
| hostname: "smtp.mailbox.org", |
| port: 465, |
| username_pattern: Email, |
| }, |
| ], |
| opt: ProviderOptions::new(), |
| config_defaults: None, |
| oauth2_authorizer: None, |
| }; |
|
|
| |
| static P_MAILO_COM: Provider = Provider { |
| id: "mailo.com", |
| status: Status::Ok, |
| before_login_hint: "", |
| after_login_hint: "", |
| overview_page: "https://providers.delta.chat/mailo-com", |
| server: &[ |
| Server { |
| protocol: Imap, |
| socket: Ssl, |
| hostname: "imap.mailo.com", |
| port: 993, |
| username_pattern: Email, |
| }, |
| Server { |
| protocol: Smtp, |
| socket: Ssl, |
| hostname: "smtp.mailo.com", |
| port: 465, |
| username_pattern: Email, |
| }, |
| ], |
| opt: ProviderOptions::new(), |
| config_defaults: None, |
| oauth2_authorizer: None, |
| }; |
|
|
| |
| static P_MEHL_CLOUD: Provider = Provider { |
| id: "mehl.cloud", |
| status: Status::Ok, |
| before_login_hint: "", |
| after_login_hint: "", |
| overview_page: "https://providers.delta.chat/mehl-cloud", |
| server: &[ |
| Server { |
| protocol: Imap, |
| socket: Ssl, |
| hostname: "mehl.cloud", |
| port: 443, |
| username_pattern: Email, |
| }, |
| Server { |
| protocol: Smtp, |
| socket: Ssl, |
| hostname: "mehl.cloud", |
| port: 443, |
| username_pattern: Email, |
| }, |
| Server { |
| protocol: Imap, |
| socket: Ssl, |
| hostname: "mehl.cloud", |
| port: 993, |
| username_pattern: Email, |
| }, |
| Server { |
| protocol: Smtp, |
| socket: Ssl, |
| hostname: "mehl.cloud", |
| port: 465, |
| username_pattern: Email, |
| }, |
| Server { |
| protocol: Imap, |
| socket: Starttls, |
| hostname: "mehl.cloud", |
| port: 143, |
| username_pattern: Email, |
| }, |
| Server { |
| protocol: Smtp, |
| socket: Starttls, |
| hostname: "mehl.cloud", |
| port: 587, |
| username_pattern: Email, |
| }, |
| ], |
| opt: ProviderOptions::new(), |
| config_defaults: None, |
| oauth2_authorizer: None, |
| }; |
|
|
| |
| static P_MEHL_STORE: Provider = Provider { |
| id: "mehl.store", |
| status: Status::Ok, |
| before_login_hint: "", |
| after_login_hint: "This account provides 3GB storage for eMails and the possibility to access a NEXTCLOUD-instance by using the email-credits!", |
| overview_page: "https://providers.delta.chat/mehl-store", |
| server: &[ |
| Server { |
| protocol: Imap, |
| socket: Ssl, |
| hostname: "mail.ende.in.net", |
| port: 993, |
| username_pattern: Email, |
| }, |
| Server { |
| protocol: Smtp, |
| socket: Starttls, |
| hostname: "mail.ende.in.net", |
| port: 587, |
| username_pattern: Email, |
| }, |
| ], |
| opt: ProviderOptions::new(), |
| config_defaults: None, |
| oauth2_authorizer: None, |
| }; |
|
|
| |
| static P_MIGADU: Provider = Provider { |
| id: "migadu", |
| status: Status::Ok, |
| before_login_hint: "", |
| after_login_hint: "", |
| overview_page: "https://providers.delta.chat/migadu", |
| server: &[ |
| Server { |
| protocol: Imap, |
| socket: Ssl, |
| hostname: "imap.migadu.com", |
| port: 993, |
| username_pattern: Email, |
| }, |
| Server { |
| protocol: Smtp, |
| socket: Ssl, |
| hostname: "smtp.migadu.com", |
| port: 465, |
| username_pattern: Email, |
| }, |
| Server { |
| protocol: Smtp, |
| socket: Starttls, |
| hostname: "smtp.migadu.com", |
| port: 587, |
| username_pattern: Email, |
| }, |
| ], |
| opt: ProviderOptions::new(), |
| config_defaults: None, |
| oauth2_authorizer: None, |
| }; |
|
|
| |
| static P_NAUTA_CU: Provider = Provider { |
| id: "nauta.cu", |
| status: Status::Ok, |
| before_login_hint: "", |
| after_login_hint: "", |
| overview_page: "https://providers.delta.chat/nauta-cu", |
| server: &[ |
| Server { |
| protocol: Imap, |
| socket: Starttls, |
| hostname: "imap.nauta.cu", |
| port: 143, |
| username_pattern: Email, |
| }, |
| Server { |
| protocol: Smtp, |
| socket: Starttls, |
| hostname: "smtp.nauta.cu", |
| port: 25, |
| username_pattern: Email, |
| }, |
| ], |
| opt: ProviderOptions { |
| max_smtp_rcpt_to: Some(20), |
| strict_tls: false, |
| ..ProviderOptions::new() |
| }, |
| config_defaults: Some(&[ |
| ConfigDefault { |
| key: Config::DeleteServerAfter, |
| value: "1", |
| }, |
| ConfigDefault { |
| key: Config::MvboxMove, |
| value: "0", |
| }, |
| ConfigDefault { |
| key: Config::MediaQuality, |
| value: "1", |
| }, |
| ]), |
| oauth2_authorizer: None, |
| }; |
|
|
| |
| static P_NAVER: Provider = Provider { |
| id: "naver", |
| status: Status::Preparation, |
| before_login_hint: "Manually enabling IMAP/SMTP is required.", |
| after_login_hint: "", |
| overview_page: "https://providers.delta.chat/naver", |
| server: &[ |
| Server { |
| protocol: Imap, |
| socket: Ssl, |
| hostname: "imap.naver.com", |
| port: 993, |
| username_pattern: Emaillocalpart, |
| }, |
| Server { |
| protocol: Smtp, |
| socket: Starttls, |
| hostname: "smtp.naver.com", |
| port: 587, |
| username_pattern: Email, |
| }, |
| ], |
| opt: ProviderOptions::new(), |
| config_defaults: None, |
| oauth2_authorizer: None, |
| }; |
|
|
| |
| static P_NINE_TESTRUN_ORG: Provider = Provider { |
| id: "nine.testrun.org", |
| status: Status::Ok, |
| before_login_hint: "", |
| after_login_hint: "", |
| overview_page: "https://providers.delta.chat/nine-testrun-org", |
| server: &[ |
| Server { |
| protocol: Imap, |
| socket: Ssl, |
| hostname: "nine.testrun.org", |
| port: 443, |
| username_pattern: Email, |
| }, |
| Server { |
| protocol: Smtp, |
| socket: Ssl, |
| hostname: "nine.testrun.org", |
| port: 443, |
| username_pattern: Email, |
| }, |
| Server { |
| protocol: Imap, |
| socket: Ssl, |
| hostname: "nine.testrun.org", |
| port: 993, |
| username_pattern: Email, |
| }, |
| Server { |
| protocol: Smtp, |
| socket: Ssl, |
| hostname: "nine.testrun.org", |
| port: 465, |
| username_pattern: Email, |
| }, |
| Server { |
| protocol: Imap, |
| socket: Starttls, |
| hostname: "nine.testrun.org", |
| port: 143, |
| username_pattern: Email, |
| }, |
| Server { |
| protocol: Smtp, |
| socket: Starttls, |
| hostname: "nine.testrun.org", |
| port: 587, |
| username_pattern: Email, |
| }, |
| ], |
| opt: ProviderOptions::new(), |
| config_defaults: Some(&[ConfigDefault { |
| key: Config::MvboxMove, |
| value: "0", |
| }]), |
| oauth2_authorizer: None, |
| }; |
|
|
| |
| static P_NUBO_COOP: Provider = Provider { |
| id: "nubo.coop", |
| status: Status::Ok, |
| before_login_hint: "", |
| after_login_hint: "", |
| overview_page: "https://providers.delta.chat/nubo-coop", |
| server: &[ |
| Server { |
| protocol: Imap, |
| socket: Ssl, |
| hostname: "mail.nubo.coop", |
| port: 993, |
| username_pattern: Email, |
| }, |
| Server { |
| protocol: Smtp, |
| socket: Ssl, |
| hostname: "mail.nubo.coop", |
| port: 465, |
| username_pattern: Email, |
| }, |
| ], |
| opt: ProviderOptions::new(), |
| config_defaults: None, |
| oauth2_authorizer: None, |
| }; |
|
|
| |
| static P_OUTLOOK_COM: Provider = Provider { |
| id: "outlook.com", |
| status: Status::Broken, |
| before_login_hint: "Unfortunately, Outlook does not allow using passwords anymore, per-app-passwords are currently not working.", |
| after_login_hint: "", |
| overview_page: "https://providers.delta.chat/outlook-com", |
| server: &[ |
| Server { |
| protocol: Imap, |
| socket: Ssl, |
| hostname: "outlook.office365.com", |
| port: 993, |
| username_pattern: Email, |
| }, |
| Server { |
| protocol: Smtp, |
| socket: Starttls, |
| hostname: "smtp.office365.com", |
| port: 587, |
| username_pattern: Email, |
| }, |
| ], |
| opt: ProviderOptions::new(), |
| config_defaults: None, |
| oauth2_authorizer: None, |
| }; |
|
|
| |
| static P_OUVATON_COOP: Provider = Provider { |
| id: "ouvaton.coop", |
| status: Status::Ok, |
| before_login_hint: "", |
| after_login_hint: "", |
| overview_page: "https://providers.delta.chat/ouvaton-coop", |
| server: &[ |
| Server { |
| protocol: Imap, |
| socket: Ssl, |
| hostname: "imap.ouvaton.coop", |
| port: 993, |
| username_pattern: Email, |
| }, |
| Server { |
| protocol: Smtp, |
| socket: Ssl, |
| hostname: "smtp.ouvaton.coop", |
| port: 465, |
| username_pattern: Email, |
| }, |
| ], |
| opt: ProviderOptions::new(), |
| config_defaults: None, |
| oauth2_authorizer: None, |
| }; |
|
|
| |
| static P_POSTEO: Provider = Provider { |
| id: "posteo", |
| status: Status::Ok, |
| before_login_hint: "", |
| after_login_hint: "", |
| overview_page: "https://providers.delta.chat/posteo", |
| server: &[ |
| Server { |
| protocol: Imap, |
| socket: Ssl, |
| hostname: "posteo.de", |
| port: 993, |
| username_pattern: Email, |
| }, |
| Server { |
| protocol: Imap, |
| socket: Starttls, |
| hostname: "posteo.de", |
| port: 143, |
| username_pattern: Email, |
| }, |
| Server { |
| protocol: Smtp, |
| socket: Ssl, |
| hostname: "posteo.de", |
| port: 465, |
| username_pattern: Email, |
| }, |
| Server { |
| protocol: Smtp, |
| socket: Starttls, |
| hostname: "posteo.de", |
| port: 587, |
| username_pattern: Email, |
| }, |
| ], |
| opt: ProviderOptions::new(), |
| config_defaults: None, |
| oauth2_authorizer: None, |
| }; |
|
|
| |
| static P_PROTONMAIL: Provider = Provider { |
| id: "protonmail", |
| status: Status::Broken, |
| before_login_hint: "Protonmail does not offer the standard IMAP e-mail protocol, so you cannot log in with to Protonmail.", |
| after_login_hint: "To use Protonmail, the IMAP bridge must be running in the background. If you have connectivity issues, double check whether it works as expected.", |
| overview_page: "https://providers.delta.chat/protonmail", |
| server: &[], |
| opt: ProviderOptions::new(), |
| config_defaults: None, |
| oauth2_authorizer: None, |
| }; |
|
|
| |
| static P_PURELYMAIL_COM: Provider = Provider { |
| id: "purelymail.com", |
| status: Status::Ok, |
| before_login_hint: "", |
| after_login_hint: "", |
| overview_page: "https://providers.delta.chat/purelymail-com", |
| server: &[ |
| Server { |
| protocol: Imap, |
| socket: Ssl, |
| hostname: "imap.purelymail.com", |
| port: 993, |
| username_pattern: Email, |
| }, |
| Server { |
| protocol: Smtp, |
| socket: Ssl, |
| hostname: "smtp.purelymail.com", |
| port: 465, |
| username_pattern: Email, |
| }, |
| ], |
| opt: ProviderOptions::new(), |
| config_defaults: None, |
| oauth2_authorizer: None, |
| }; |
|
|
| |
| static P_QQ: Provider = Provider { |
| id: "qq", |
| status: Status::Preparation, |
| before_login_hint: "Manually enabling IMAP/SMTP and creating an app-specific password are required.", |
| after_login_hint: "", |
| overview_page: "https://providers.delta.chat/qq", |
| server: &[ |
| Server { |
| protocol: Imap, |
| socket: Ssl, |
| hostname: "imap.qq.com", |
| port: 993, |
| username_pattern: Emaillocalpart, |
| }, |
| Server { |
| protocol: Smtp, |
| socket: Ssl, |
| hostname: "smtp.qq.com", |
| port: 465, |
| username_pattern: Email, |
| }, |
| ], |
| opt: ProviderOptions::new(), |
| config_defaults: None, |
| oauth2_authorizer: None, |
| }; |
|
|
| |
| static P_RAMBLER_RU: Provider = Provider { |
| id: "rambler.ru", |
| status: Status::Preparation, |
| before_login_hint: "Чтобы войти в Рамблер/почта, необходимо предварительно включить доступ с помощью почтовых клиентов на сайте mail.rambler.ru", |
| after_login_hint: "", |
| overview_page: "https://providers.delta.chat/rambler-ru", |
| server: &[ |
| Server { |
| protocol: Imap, |
| socket: Ssl, |
| hostname: "imap.rambler.ru", |
| port: 993, |
| username_pattern: Email, |
| }, |
| Server { |
| protocol: Smtp, |
| socket: Ssl, |
| hostname: "smtp.rambler.ru", |
| port: 465, |
| username_pattern: Email, |
| }, |
| Server { |
| protocol: Imap, |
| socket: Starttls, |
| hostname: "imap.rambler.ru", |
| port: 143, |
| username_pattern: Email, |
| }, |
| ], |
| opt: ProviderOptions::new(), |
| config_defaults: None, |
| oauth2_authorizer: None, |
| }; |
|
|
| |
| static P_RISEUP_NET: Provider = Provider { |
| id: "riseup.net", |
| status: Status::Ok, |
| before_login_hint: "", |
| after_login_hint: "", |
| overview_page: "https://providers.delta.chat/riseup-net", |
| server: &[ |
| Server { |
| protocol: Imap, |
| socket: Ssl, |
| hostname: "mail.riseup.net", |
| port: 993, |
| username_pattern: Email, |
| }, |
| Server { |
| protocol: Smtp, |
| socket: Ssl, |
| hostname: "mail.riseup.net", |
| port: 465, |
| username_pattern: Email, |
| }, |
| ], |
| opt: ProviderOptions::new(), |
| config_defaults: None, |
| oauth2_authorizer: None, |
| }; |
|
|
| |
| static P_ROGERS_COM: Provider = Provider { |
| id: "rogers.com", |
| status: Status::Ok, |
| before_login_hint: "", |
| after_login_hint: "", |
| overview_page: "https://providers.delta.chat/rogers-com", |
| server: &[], |
| opt: ProviderOptions::new(), |
| config_defaults: None, |
| oauth2_authorizer: None, |
| }; |
|
|
| |
| static P_SONIC: Provider = Provider { |
| id: "sonic", |
| status: Status::Ok, |
| before_login_hint: "", |
| after_login_hint: "", |
| overview_page: "https://providers.delta.chat/sonic", |
| server: &[], |
| opt: ProviderOptions::new(), |
| config_defaults: None, |
| oauth2_authorizer: None, |
| }; |
|
|
| |
| static P_STINPRIZA_NET: Provider = Provider { |
| id: "stinpriza.net", |
| status: Status::Ok, |
| before_login_hint: "", |
| after_login_hint: "", |
| overview_page: "https://providers.delta.chat/stinpriza-net", |
| server: &[ |
| Server { |
| protocol: Imap, |
| socket: Starttls, |
| hostname: "stinpriza.net", |
| port: 143, |
| username_pattern: Email, |
| }, |
| Server { |
| protocol: Smtp, |
| socket: Starttls, |
| hostname: "stinpriza.net", |
| port: 587, |
| username_pattern: Email, |
| }, |
| ], |
| opt: ProviderOptions { |
| strict_tls: true, |
| ..ProviderOptions::new() |
| }, |
| config_defaults: None, |
| oauth2_authorizer: None, |
| }; |
|
|
| |
| static P_SYSTEMAUSFALL_ORG: Provider = Provider { |
| id: "systemausfall.org", |
| status: Status::Ok, |
| before_login_hint: "", |
| after_login_hint: "", |
| overview_page: "https://providers.delta.chat/systemausfall-org", |
| server: &[ |
| Server { |
| protocol: Imap, |
| socket: Ssl, |
| hostname: "mail.systemausfall.org", |
| port: 993, |
| username_pattern: Email, |
| }, |
| Server { |
| protocol: Smtp, |
| socket: Ssl, |
| hostname: "mail.systemausfall.org", |
| port: 465, |
| username_pattern: Email, |
| }, |
| ], |
| opt: ProviderOptions::new(), |
| config_defaults: None, |
| oauth2_authorizer: None, |
| }; |
|
|
| |
| static P_SYSTEMLI_ORG: Provider = Provider { |
| id: "systemli.org", |
| status: Status::Ok, |
| before_login_hint: "", |
| after_login_hint: "", |
| overview_page: "https://providers.delta.chat/systemli-org", |
| server: &[ |
| Server { |
| protocol: Imap, |
| socket: Ssl, |
| hostname: "mail.systemli.org", |
| port: 993, |
| username_pattern: Email, |
| }, |
| Server { |
| protocol: Smtp, |
| socket: Ssl, |
| hostname: "mail.systemli.org", |
| port: 465, |
| username_pattern: Email, |
| }, |
| ], |
| opt: ProviderOptions::new(), |
| config_defaults: None, |
| oauth2_authorizer: None, |
| }; |
|
|
| |
| static P_T_ONLINE: Provider = Provider { |
| id: "t-online", |
| status: Status::Preparation, |
| before_login_hint: "To use a T-Online email address, you need to create an app password in the web interface.", |
| after_login_hint: "", |
| overview_page: "https://providers.delta.chat/t-online", |
| server: &[ |
| Server { |
| protocol: Imap, |
| socket: Ssl, |
| hostname: "secureimap.t-online.de", |
| port: 993, |
| username_pattern: Email, |
| }, |
| Server { |
| protocol: Smtp, |
| socket: Ssl, |
| hostname: "securesmtp.t-online.de", |
| port: 465, |
| username_pattern: Email, |
| }, |
| ], |
| opt: ProviderOptions::new(), |
| config_defaults: None, |
| oauth2_authorizer: None, |
| }; |
|
|
| |
| static P_TESTRUN: Provider = Provider { |
| id: "testrun", |
| status: Status::Ok, |
| before_login_hint: "", |
| after_login_hint: "", |
| overview_page: "https://providers.delta.chat/testrun", |
| server: &[ |
| Server { |
| protocol: Imap, |
| socket: Ssl, |
| hostname: "testrun.org", |
| port: 993, |
| username_pattern: Email, |
| }, |
| Server { |
| protocol: Smtp, |
| socket: Ssl, |
| hostname: "testrun.org", |
| port: 465, |
| username_pattern: Email, |
| }, |
| Server { |
| protocol: Imap, |
| socket: Starttls, |
| hostname: "testrun.org", |
| port: 143, |
| username_pattern: Email, |
| }, |
| Server { |
| protocol: Smtp, |
| socket: Starttls, |
| hostname: "testrun.org", |
| port: 587, |
| username_pattern: Email, |
| }, |
| ], |
| opt: ProviderOptions::new(), |
| config_defaults: Some(&[ |
| ConfigDefault { |
| key: Config::BccSelf, |
| value: "1", |
| }, |
| ConfigDefault { |
| key: Config::MvboxMove, |
| value: "0", |
| }, |
| ]), |
| oauth2_authorizer: None, |
| }; |
|
|
| |
| static P_TISCALI_IT: Provider = Provider { |
| id: "tiscali.it", |
| status: Status::Ok, |
| before_login_hint: "", |
| after_login_hint: "", |
| overview_page: "https://providers.delta.chat/tiscali-it", |
| server: &[ |
| Server { |
| protocol: Imap, |
| socket: Ssl, |
| hostname: "imap.tiscali.it", |
| port: 993, |
| username_pattern: Email, |
| }, |
| Server { |
| protocol: Smtp, |
| socket: Ssl, |
| hostname: "smtp.tiscali.it", |
| port: 465, |
| username_pattern: Email, |
| }, |
| ], |
| opt: ProviderOptions::new(), |
| config_defaults: None, |
| oauth2_authorizer: None, |
| }; |
|
|
| |
| static P_TUTANOTA: Provider = Provider { |
| id: "tutanota", |
| status: Status::Broken, |
| before_login_hint: "Tutanota does not offer the standard IMAP e-mail protocol, so you cannot log in to Tutanota.", |
| after_login_hint: "", |
| overview_page: "https://providers.delta.chat/tutanota", |
| server: &[], |
| opt: ProviderOptions::new(), |
| config_defaults: None, |
| oauth2_authorizer: None, |
| }; |
|
|
| |
| static P_UKR_NET: Provider = Provider { |
| id: "ukr.net", |
| status: Status::Preparation, |
| before_login_hint: "You must allow IMAP access to your account before you can login.", |
| after_login_hint: "", |
| overview_page: "https://providers.delta.chat/ukr-net", |
| server: &[ |
| Server { |
| protocol: Imap, |
| socket: Ssl, |
| hostname: "imap.ukr.net", |
| port: 993, |
| username_pattern: Email, |
| }, |
| Server { |
| protocol: Smtp, |
| socket: Ssl, |
| hostname: "smtp.ukr.net", |
| port: 465, |
| username_pattern: Email, |
| }, |
| ], |
| opt: ProviderOptions::new(), |
| config_defaults: None, |
| oauth2_authorizer: None, |
| }; |
|
|
| |
| static P_UNDERNET_UY: Provider = Provider { |
| id: "undernet.uy", |
| status: Status::Ok, |
| before_login_hint: "", |
| after_login_hint: "", |
| overview_page: "https://providers.delta.chat/undernet-uy", |
| server: &[ |
| Server { |
| protocol: Imap, |
| socket: Starttls, |
| hostname: "undernet.uy", |
| port: 143, |
| username_pattern: Email, |
| }, |
| Server { |
| protocol: Smtp, |
| socket: Starttls, |
| hostname: "undernet.uy", |
| port: 587, |
| username_pattern: Email, |
| }, |
| ], |
| opt: ProviderOptions::new(), |
| config_defaults: None, |
| oauth2_authorizer: None, |
| }; |
|
|
| |
| static P_VFEMAIL: Provider = Provider { |
| id: "vfemail", |
| status: Status::Ok, |
| before_login_hint: "", |
| after_login_hint: "", |
| overview_page: "https://providers.delta.chat/vfemail", |
| server: &[], |
| opt: ProviderOptions::new(), |
| config_defaults: None, |
| oauth2_authorizer: None, |
| }; |
|
|
| |
| static P_VIVALDI: Provider = Provider { |
| id: "vivaldi", |
| status: Status::Ok, |
| before_login_hint: "", |
| after_login_hint: "", |
| overview_page: "https://providers.delta.chat/vivaldi", |
| server: &[ |
| Server { |
| protocol: Imap, |
| socket: Starttls, |
| hostname: "imap.vivaldi.net", |
| port: 143, |
| username_pattern: Email, |
| }, |
| Server { |
| protocol: Smtp, |
| socket: Starttls, |
| hostname: "smtp.vivaldi.net", |
| port: 587, |
| username_pattern: Email, |
| }, |
| ], |
| opt: ProviderOptions::new(), |
| config_defaults: None, |
| oauth2_authorizer: None, |
| }; |
|
|
| |
| static P_VK_COM: Provider = Provider { |
| id: "vk.com", |
| status: Status::Preparation, |
| before_login_hint: "Вам необходимо сгенерировать \"пароль для внешнего приложения\" в веб-интерфейсе mail.ru https://account.mail.ru/user/2-step-auth/passwords/ чтобы vk.com работал с chatmail.", |
| after_login_hint: "", |
| overview_page: "https://providers.delta.chat/vk-com", |
| server: &[ |
| Server { |
| protocol: Imap, |
| socket: Ssl, |
| hostname: "imap.mail.ru", |
| port: 993, |
| username_pattern: Email, |
| }, |
| Server { |
| protocol: Smtp, |
| socket: Ssl, |
| hostname: "smtp.mail.ru", |
| port: 465, |
| username_pattern: Email, |
| }, |
| ], |
| opt: ProviderOptions::new(), |
| config_defaults: None, |
| oauth2_authorizer: None, |
| }; |
|
|
| |
| static P_VODAFONE_DE: Provider = Provider { |
| id: "vodafone.de", |
| status: Status::Ok, |
| before_login_hint: "", |
| after_login_hint: "", |
| overview_page: "https://providers.delta.chat/vodafone-de", |
| server: &[ |
| Server { |
| protocol: Imap, |
| socket: Ssl, |
| hostname: "imap.vodafonemail.de", |
| port: 993, |
| username_pattern: Email, |
| }, |
| Server { |
| protocol: Smtp, |
| socket: Starttls, |
| hostname: "smtp.vodafonemail.de", |
| port: 587, |
| username_pattern: Email, |
| }, |
| ], |
| opt: ProviderOptions::new(), |
| config_defaults: None, |
| oauth2_authorizer: None, |
| }; |
|
|
| |
| static P_WEB_DE: Provider = Provider { |
| id: "web.de", |
| status: Status::Preparation, |
| before_login_hint: "You must allow IMAP access to your account before you can login.", |
| after_login_hint: "Note: if you have your web.de spam settings too strict, you won't receive contact requests from new people. If you want to receive contact requests, you should disable the \"3-Wege-Spamschutz\" in the web.de settings. Read how: https://hilfe.web.de/email/spam-und-viren/spamschutz-einstellungen.html", |
| overview_page: "https://providers.delta.chat/web-de", |
| server: &[ |
| Server { |
| protocol: Imap, |
| socket: Ssl, |
| hostname: "imap.web.de", |
| port: 993, |
| username_pattern: Emaillocalpart, |
| }, |
| Server { |
| protocol: Imap, |
| socket: Starttls, |
| hostname: "imap.web.de", |
| port: 143, |
| username_pattern: Emaillocalpart, |
| }, |
| Server { |
| protocol: Smtp, |
| socket: Starttls, |
| hostname: "smtp.web.de", |
| port: 587, |
| username_pattern: Emaillocalpart, |
| }, |
| ], |
| opt: ProviderOptions::new(), |
| config_defaults: None, |
| oauth2_authorizer: None, |
| }; |
|
|
| |
| static P_WKPB_DE: Provider = Provider { |
| id: "wkpb.de", |
| status: Status::Preparation, |
| before_login_hint: "Dies sind die gleichen Anmeldedaten wie bei Moodle und Abitur-Online.", |
| after_login_hint: "", |
| overview_page: "https://providers.delta.chat/wkpb-de", |
| server: &[ |
| Server { |
| protocol: Imap, |
| socket: Ssl, |
| hostname: "pimap.schulon.org", |
| port: 993, |
| username_pattern: Email, |
| }, |
| Server { |
| protocol: Smtp, |
| socket: Ssl, |
| hostname: "psmtp.schulon.org", |
| port: 465, |
| username_pattern: Email, |
| }, |
| ], |
| opt: ProviderOptions::new(), |
| config_defaults: None, |
| oauth2_authorizer: None, |
| }; |
|
|
| |
| static P_YAHOO: Provider = Provider { |
| id: "yahoo", |
| status: Status::Preparation, |
| before_login_hint: "To use your Yahoo email address you have to create an app password in the Yahoo account security screen.", |
| after_login_hint: "", |
| overview_page: "https://providers.delta.chat/yahoo", |
| server: &[ |
| Server { |
| protocol: Imap, |
| socket: Ssl, |
| hostname: "imap.mail.yahoo.com", |
| port: 993, |
| username_pattern: Email, |
| }, |
| Server { |
| protocol: Smtp, |
| socket: Ssl, |
| hostname: "smtp.mail.yahoo.com", |
| port: 465, |
| username_pattern: Email, |
| }, |
| ], |
| opt: ProviderOptions::new(), |
| config_defaults: None, |
| oauth2_authorizer: None, |
| }; |
|
|
| |
| static P_YANDEX_RU: Provider = Provider { |
| id: "yandex.ru", |
| status: Status::Preparation, |
| before_login_hint: "For Yandex accounts, you have to set IMAP protocol option turned on.", |
| after_login_hint: "", |
| overview_page: "https://providers.delta.chat/yandex-ru", |
| server: &[ |
| Server { |
| protocol: Imap, |
| socket: Ssl, |
| hostname: "imap.yandex.com", |
| port: 993, |
| username_pattern: Email, |
| }, |
| Server { |
| protocol: Smtp, |
| socket: Ssl, |
| hostname: "smtp.yandex.com", |
| port: 465, |
| username_pattern: Email, |
| }, |
| ], |
| opt: ProviderOptions::new(), |
| config_defaults: None, |
| oauth2_authorizer: Some(Oauth2Authorizer::Yandex), |
| }; |
|
|
| |
| static P_YGGMAIL: Provider = Provider { |
| id: "yggmail", |
| status: Status::Preparation, |
| before_login_hint: "An Yggmail companion app needs to be installed on your device to access the Yggmail network.", |
| after_login_hint: "Make sure, the Yggmail companion app runs whenever you want to use this account. Note, that you usually cannot write from @yggmail addresses to normal e-mail-addresses (as @gmx.net). However, you can create another account in the normal e-mail-network for this purpose.", |
| overview_page: "https://providers.delta.chat/yggmail", |
| server: &[ |
| Server { |
| protocol: Imap, |
| socket: Plain, |
| hostname: "localhost", |
| port: 1143, |
| username_pattern: Email, |
| }, |
| Server { |
| protocol: Smtp, |
| socket: Plain, |
| hostname: "localhost", |
| port: 1025, |
| username_pattern: Email, |
| }, |
| ], |
| opt: ProviderOptions::new(), |
| config_defaults: Some(&[ConfigDefault { |
| key: Config::MvboxMove, |
| value: "0", |
| }]), |
| oauth2_authorizer: None, |
| }; |
|
|
| |
| static P_ZIGGO_NL: Provider = Provider { |
| id: "ziggo.nl", |
| status: Status::Ok, |
| before_login_hint: "", |
| after_login_hint: "", |
| overview_page: "https://providers.delta.chat/ziggo-nl", |
| server: &[ |
| Server { |
| protocol: Imap, |
| socket: Ssl, |
| hostname: "imap.ziggo.nl", |
| port: 993, |
| username_pattern: Email, |
| }, |
| Server { |
| protocol: Smtp, |
| socket: Starttls, |
| hostname: "smtp.ziggo.nl", |
| port: 587, |
| username_pattern: Email, |
| }, |
| ], |
| opt: ProviderOptions::new(), |
| config_defaults: None, |
| oauth2_authorizer: None, |
| }; |
|
|
| |
| static P_ZOHO: Provider = Provider { |
| id: "zoho", |
| status: Status::Preparation, |
| before_login_hint: "To use Zoho Mail, you have to turn on IMAP in the Zoho Mail backend.", |
| after_login_hint: "", |
| overview_page: "https://providers.delta.chat/zoho", |
| server: &[ |
| Server { |
| protocol: Imap, |
| socket: Ssl, |
| hostname: "imap.zoho.eu", |
| port: 993, |
| username_pattern: Email, |
| }, |
| Server { |
| protocol: Smtp, |
| socket: Ssl, |
| hostname: "smtp.zoho.eu", |
| port: 465, |
| username_pattern: Email, |
| }, |
| ], |
| opt: ProviderOptions::new(), |
| config_defaults: None, |
| oauth2_authorizer: None, |
| }; |
|
|
| pub(crate) static PROVIDER_DATA: [(&str, &Provider); 534] = [ |
| ("163.com", &P_163), |
| ("aktivix.org", &P_AKTIVIX_ORG), |
| ("aliyun.com", &P_ALIYUN), |
| ("aol.com", &P_AOL), |
| ("arcor.de", &P_ARCOR_DE), |
| ("autistici.org", &P_AUTISTICI_ORG), |
| ("delta.blinzeln.de", &P_BLINDZELN_ORG), |
| ("delta.blindzeln.org", &P_BLINDZELN_ORG), |
| ("bluewin.ch", &P_BLUEWIN_CH), |
| ("buzon.uy", &P_BUZON_UY), |
| ("chello.at", &P_CHELLO_AT), |
| ("xfinity.com", &P_COMCAST), |
| ("comcast.net", &P_COMCAST), |
| ("daleth.cafe", &P_DALETH_CAFE), |
| ("dismail.de", &P_DISMAIL_DE), |
| ("disroot.org", &P_DISROOT), |
| ("e.email", &P_E_EMAIL), |
| ("espiv.net", &P_ESPIV_NET), |
| ("example.com", &P_EXAMPLE_COM), |
| ("example.org", &P_EXAMPLE_COM), |
| ("example.net", &P_EXAMPLE_COM), |
| ("123mail.org", &P_FASTMAIL), |
| ("150mail.com", &P_FASTMAIL), |
| ("150ml.com", &P_FASTMAIL), |
| ("16mail.com", &P_FASTMAIL), |
| ("2-mail.com", &P_FASTMAIL), |
| ("4email.net", &P_FASTMAIL), |
| ("50mail.com", &P_FASTMAIL), |
| ("airpost.net", &P_FASTMAIL), |
| ("allmail.net", &P_FASTMAIL), |
| ("bestmail.us", &P_FASTMAIL), |
| ("cluemail.com", &P_FASTMAIL), |
| ("elitemail.org", &P_FASTMAIL), |
| ("emailcorner.net", &P_FASTMAIL), |
| ("emailengine.net", &P_FASTMAIL), |
| ("emailengine.org", &P_FASTMAIL), |
| ("emailgroups.net", &P_FASTMAIL), |
| ("emailplus.org", &P_FASTMAIL), |
| ("emailuser.net", &P_FASTMAIL), |
| ("eml.cc", &P_FASTMAIL), |
| ("f-m.fm", &P_FASTMAIL), |
| ("fast-email.com", &P_FASTMAIL), |
| ("fast-mail.org", &P_FASTMAIL), |
| ("fastem.com", &P_FASTMAIL), |
| ("fastemail.us", &P_FASTMAIL), |
| ("fastemailer.com", &P_FASTMAIL), |
| ("fastest.cc", &P_FASTMAIL), |
| ("fastimap.com", &P_FASTMAIL), |
| ("fastmail.cn", &P_FASTMAIL), |
| ("fastmail.co.uk", &P_FASTMAIL), |
| ("fastmail.com", &P_FASTMAIL), |
| ("fastmail.com.au", &P_FASTMAIL), |
| ("fastmail.de", &P_FASTMAIL), |
| ("fastmail.es", &P_FASTMAIL), |
| ("fastmail.fm", &P_FASTMAIL), |
| ("fastmail.fr", &P_FASTMAIL), |
| ("fastmail.im", &P_FASTMAIL), |
| ("fastmail.in", &P_FASTMAIL), |
| ("fastmail.jp", &P_FASTMAIL), |
| ("fastmail.mx", &P_FASTMAIL), |
| ("fastmail.net", &P_FASTMAIL), |
| ("fastmail.nl", &P_FASTMAIL), |
| ("fastmail.org", &P_FASTMAIL), |
| ("fastmail.se", &P_FASTMAIL), |
| ("fastmail.to", &P_FASTMAIL), |
| ("fastmail.tw", &P_FASTMAIL), |
| ("fastmail.uk", &P_FASTMAIL), |
| ("fastmail.us", &P_FASTMAIL), |
| ("fastmailbox.net", &P_FASTMAIL), |
| ("fastmessaging.com", &P_FASTMAIL), |
| ("fea.st", &P_FASTMAIL), |
| ("fmail.co.uk", &P_FASTMAIL), |
| ("fmailbox.com", &P_FASTMAIL), |
| ("fmgirl.com", &P_FASTMAIL), |
| ("fmguy.com", &P_FASTMAIL), |
| ("ftml.net", &P_FASTMAIL), |
| ("h-mail.us", &P_FASTMAIL), |
| ("hailmail.net", &P_FASTMAIL), |
| ("imap-mail.com", &P_FASTMAIL), |
| ("imap.cc", &P_FASTMAIL), |
| ("imapmail.org", &P_FASTMAIL), |
| ("inoutbox.com", &P_FASTMAIL), |
| ("internet-e-mail.com", &P_FASTMAIL), |
| ("internet-mail.org", &P_FASTMAIL), |
| ("internetemails.net", &P_FASTMAIL), |
| ("internetmailing.net", &P_FASTMAIL), |
| ("jetemail.net", &P_FASTMAIL), |
| ("justemail.net", &P_FASTMAIL), |
| ("letterboxes.org", &P_FASTMAIL), |
| ("mail-central.com", &P_FASTMAIL), |
| ("mail-page.com", &P_FASTMAIL), |
| ("mailandftp.com", &P_FASTMAIL), |
| ("mailas.com", &P_FASTMAIL), |
| ("mailbolt.com", &P_FASTMAIL), |
| ("mailc.net", &P_FASTMAIL), |
| ("mailcan.com", &P_FASTMAIL), |
| ("mailforce.net", &P_FASTMAIL), |
| ("mailftp.com", &P_FASTMAIL), |
| ("mailhaven.com", &P_FASTMAIL), |
| ("mailingaddress.org", &P_FASTMAIL), |
| ("mailite.com", &P_FASTMAIL), |
| ("mailmight.com", &P_FASTMAIL), |
| ("mailnew.com", &P_FASTMAIL), |
| ("mailsent.net", &P_FASTMAIL), |
| ("mailservice.ms", &P_FASTMAIL), |
| ("mailup.net", &P_FASTMAIL), |
| ("mailworks.org", &P_FASTMAIL), |
| ("ml1.net", &P_FASTMAIL), |
| ("mm.st", &P_FASTMAIL), |
| ("myfastmail.com", &P_FASTMAIL), |
| ("mymacmail.com", &P_FASTMAIL), |
| ("nospammail.net", &P_FASTMAIL), |
| ("ownmail.net", &P_FASTMAIL), |
| ("petml.com", &P_FASTMAIL), |
| ("postinbox.com", &P_FASTMAIL), |
| ("postpro.net", &P_FASTMAIL), |
| ("proinbox.com", &P_FASTMAIL), |
| ("promessage.com", &P_FASTMAIL), |
| ("realemail.net", &P_FASTMAIL), |
| ("reallyfast.biz", &P_FASTMAIL), |
| ("reallyfast.info", &P_FASTMAIL), |
| ("rushpost.com", &P_FASTMAIL), |
| ("sent.as", &P_FASTMAIL), |
| ("sent.at", &P_FASTMAIL), |
| ("sent.com", &P_FASTMAIL), |
| ("speedpost.net", &P_FASTMAIL), |
| ("speedymail.org", &P_FASTMAIL), |
| ("ssl-mail.com", &P_FASTMAIL), |
| ("swift-mail.com", &P_FASTMAIL), |
| ("the-fastest.net", &P_FASTMAIL), |
| ("the-quickest.com", &P_FASTMAIL), |
| ("theinternetemail.com", &P_FASTMAIL), |
| ("veryfast.biz", &P_FASTMAIL), |
| ("veryspeedy.net", &P_FASTMAIL), |
| ("warpmail.net", &P_FASTMAIL), |
| ("xsmail.com", &P_FASTMAIL), |
| ("yepmail.net", &P_FASTMAIL), |
| ("your-mail.com", &P_FASTMAIL), |
| ("firemail.at", &P_FIREMAIL_DE), |
| ("firemail.de", &P_FIREMAIL_DE), |
| ("five.chat", &P_FIVE_CHAT), |
| ("freenet.de", &P_FREENET_DE), |
| ("gmail.com", &P_GMAIL), |
| ("googlemail.com", &P_GMAIL), |
| ("google.com", &P_GMAIL), |
| ("gmx.net", &P_GMX_NET), |
| ("gmx.de", &P_GMX_NET), |
| ("gmx.at", &P_GMX_NET), |
| ("gmx.ch", &P_GMX_NET), |
| ("gmx.org", &P_GMX_NET), |
| ("gmx.eu", &P_GMX_NET), |
| ("gmx.info", &P_GMX_NET), |
| ("gmx.biz", &P_GMX_NET), |
| ("gmx.com", &P_GMX_NET), |
| ("*.hermes.radio", &P_HERMES_RADIO), |
| ("*.aco-connexion.org", &P_HERMES_RADIO), |
| ("hey.com", &P_HEY_COM), |
| ("i.ua", &P_I_UA), |
| ("i3.net", &P_I3_NET), |
| ("icloud.com", &P_ICLOUD), |
| ("me.com", &P_ICLOUD), |
| ("mac.com", &P_ICLOUD), |
| ("ik.me", &P_INFOMANIAK_COM), |
| ("kolst.com", &P_KOLST_COM), |
| ("kontent.com", &P_KONTENT_COM), |
| ("email.com", &P_MAIL_COM), |
| ("groupmail.com", &P_MAIL_COM), |
| ("post.com", &P_MAIL_COM), |
| ("homemail.com", &P_MAIL_COM), |
| ("housemail.com", &P_MAIL_COM), |
| ("writeme.com", &P_MAIL_COM), |
| ("mail.com", &P_MAIL_COM), |
| ("mail-me.com", &P_MAIL_COM), |
| ("workmail.com", &P_MAIL_COM), |
| ("accountant.com", &P_MAIL_COM), |
| ("activist.com", &P_MAIL_COM), |
| ("adexec.com", &P_MAIL_COM), |
| ("allergist.com", &P_MAIL_COM), |
| ("alumni.com", &P_MAIL_COM), |
| ("alumnidirector.com", &P_MAIL_COM), |
| ("archaeologist.com", &P_MAIL_COM), |
| ("auctioneer.net", &P_MAIL_COM), |
| ("bartender.net", &P_MAIL_COM), |
| ("brew-master.com", &P_MAIL_COM), |
| ("chef.net", &P_MAIL_COM), |
| ("chemist.com", &P_MAIL_COM), |
| ("collector.org", &P_MAIL_COM), |
| ("columnist.com", &P_MAIL_COM), |
| ("comic.com", &P_MAIL_COM), |
| ("consultant.com", &P_MAIL_COM), |
| ("contractor.net", &P_MAIL_COM), |
| ("counsellor.com", &P_MAIL_COM), |
| ("deliveryman.com", &P_MAIL_COM), |
| ("diplomats.com", &P_MAIL_COM), |
| ("dr.com", &P_MAIL_COM), |
| ("engineer.com", &P_MAIL_COM), |
| ("financier.com", &P_MAIL_COM), |
| ("fireman.net", &P_MAIL_COM), |
| ("gardener.com", &P_MAIL_COM), |
| ("geologist.com", &P_MAIL_COM), |
| ("graphic-designer.com", &P_MAIL_COM), |
| ("graduate.org", &P_MAIL_COM), |
| ("hairdresser.net", &P_MAIL_COM), |
| ("instructor.net", &P_MAIL_COM), |
| ("insurer.com", &P_MAIL_COM), |
| ("journalist.com", &P_MAIL_COM), |
| ("legislator.com", &P_MAIL_COM), |
| ("lobbyist.com", &P_MAIL_COM), |
| ("minister.com", &P_MAIL_COM), |
| ("musician.org", &P_MAIL_COM), |
| ("optician.com", &P_MAIL_COM), |
| ("orthodontist.net", &P_MAIL_COM), |
| ("pediatrician.com", &P_MAIL_COM), |
| ("photographer.net", &P_MAIL_COM), |
| ("physicist.net", &P_MAIL_COM), |
| ("politician.com", &P_MAIL_COM), |
| ("presidency.com", &P_MAIL_COM), |
| ("priest.com", &P_MAIL_COM), |
| ("programmer.net", &P_MAIL_COM), |
| ("publicist.com", &P_MAIL_COM), |
| ("radiologist.net", &P_MAIL_COM), |
| ("realtyagent.com", &P_MAIL_COM), |
| ("registerednurses.com", &P_MAIL_COM), |
| ("repairman.com", &P_MAIL_COM), |
| ("representative.com", &P_MAIL_COM), |
| ("salesperson.net", &P_MAIL_COM), |
| ("secretary.net", &P_MAIL_COM), |
| ("socialworker.net", &P_MAIL_COM), |
| ("sociologist.com", &P_MAIL_COM), |
| ("songwriter.net", &P_MAIL_COM), |
| ("teachers.org", &P_MAIL_COM), |
| ("techie.com", &P_MAIL_COM), |
| ("technologist.com", &P_MAIL_COM), |
| ("therapist.net", &P_MAIL_COM), |
| ("umpire.com", &P_MAIL_COM), |
| ("worker.com", &P_MAIL_COM), |
| ("artlover.com", &P_MAIL_COM), |
| ("bikerider.com", &P_MAIL_COM), |
| ("birdlover.com", &P_MAIL_COM), |
| ("blader.com", &P_MAIL_COM), |
| ("kittymail.com", &P_MAIL_COM), |
| ("lovecat.com", &P_MAIL_COM), |
| ("marchmail.com", &P_MAIL_COM), |
| ("boardermail.com", &P_MAIL_COM), |
| ("catlover.com", &P_MAIL_COM), |
| ("clubmember.org", &P_MAIL_COM), |
| ("nonpartisan.com", &P_MAIL_COM), |
| ("petlover.com", &P_MAIL_COM), |
| ("doglover.com", &P_MAIL_COM), |
| ("greenmail.net", &P_MAIL_COM), |
| ("hackermail.com", &P_MAIL_COM), |
| ("theplate.com", &P_MAIL_COM), |
| ("bsdmail.com", &P_MAIL_COM), |
| ("computer4u.com", &P_MAIL_COM), |
| ("coolsite.net", &P_MAIL_COM), |
| ("cyberdude.com", &P_MAIL_COM), |
| ("cybergal.com", &P_MAIL_COM), |
| ("cyberservices.com", &P_MAIL_COM), |
| ("cyber-wizard.com", &P_MAIL_COM), |
| ("linuxmail.org", &P_MAIL_COM), |
| ("null.net", &P_MAIL_COM), |
| ("solution4u.com", &P_MAIL_COM), |
| ("tech-center.com", &P_MAIL_COM), |
| ("webname.com", &P_MAIL_COM), |
| ("acdcfan.com", &P_MAIL_COM), |
| ("angelic.com", &P_MAIL_COM), |
| ("discofan.com", &P_MAIL_COM), |
| ("elvisfan.com", &P_MAIL_COM), |
| ("hiphopfan.com", &P_MAIL_COM), |
| ("kissfans.com", &P_MAIL_COM), |
| ("madonnafan.com", &P_MAIL_COM), |
| ("metalfan.com", &P_MAIL_COM), |
| ("ninfan.com", &P_MAIL_COM), |
| ("ravemail.com", &P_MAIL_COM), |
| ("reggaefan.com", &P_MAIL_COM), |
| ("snakebite.com", &P_MAIL_COM), |
| ("bellair.net", &P_MAIL_COM), |
| ("californiamail.com", &P_MAIL_COM), |
| ("dallasmail.com", &P_MAIL_COM), |
| ("nycmail.com", &P_MAIL_COM), |
| ("pacific-ocean.com", &P_MAIL_COM), |
| ("pacificwest.com", &P_MAIL_COM), |
| ("sanfranmail.com", &P_MAIL_COM), |
| ("usa.com", &P_MAIL_COM), |
| ("africamail.com", &P_MAIL_COM), |
| ("asia-mail.com", &P_MAIL_COM), |
| ("australiamail.com", &P_MAIL_COM), |
| ("berlin.com", &P_MAIL_COM), |
| ("brazilmail.com", &P_MAIL_COM), |
| ("chinamail.com", &P_MAIL_COM), |
| ("dublin.com", &P_MAIL_COM), |
| ("dutchmail.com", &P_MAIL_COM), |
| ("englandmail.com", &P_MAIL_COM), |
| ("europe.com", &P_MAIL_COM), |
| ("arcticmail.com", &P_MAIL_COM), |
| ("europemail.com", &P_MAIL_COM), |
| ("germanymail.com", &P_MAIL_COM), |
| ("irelandmail.com", &P_MAIL_COM), |
| ("israelmail.com", &P_MAIL_COM), |
| ("italymail.com", &P_MAIL_COM), |
| ("koreamail.com", &P_MAIL_COM), |
| ("mexicomail.com", &P_MAIL_COM), |
| ("moscowmail.com", &P_MAIL_COM), |
| ("munich.com", &P_MAIL_COM), |
| ("asia.com", &P_MAIL_COM), |
| ("polandmail.com", &P_MAIL_COM), |
| ("safrica.com", &P_MAIL_COM), |
| ("samerica.com", &P_MAIL_COM), |
| ("scotlandmail.com", &P_MAIL_COM), |
| ("spainmail.com", &P_MAIL_COM), |
| ("swedenmail.com", &P_MAIL_COM), |
| ("swissmail.com", &P_MAIL_COM), |
| ("torontomail.com", &P_MAIL_COM), |
| ("aircraftmail.com", &P_MAIL_COM), |
| ("cash4u.com", &P_MAIL_COM), |
| ("disposable.com", &P_MAIL_COM), |
| ("execs.com", &P_MAIL_COM), |
| ("fastservice.com", &P_MAIL_COM), |
| ("instruction.com", &P_MAIL_COM), |
| ("job4u.com", &P_MAIL_COM), |
| ("net-shopping.com", &P_MAIL_COM), |
| ("planetmail.com", &P_MAIL_COM), |
| ("planetmail.net", &P_MAIL_COM), |
| ("qualityservice.com", &P_MAIL_COM), |
| ("rescueteam.com", &P_MAIL_COM), |
| ("surgical.net", &P_MAIL_COM), |
| ("atheist.com", &P_MAIL_COM), |
| ("disciples.com", &P_MAIL_COM), |
| ("muslim.com", &P_MAIL_COM), |
| ("protestant.com", &P_MAIL_COM), |
| ("reborn.com", &P_MAIL_COM), |
| ("reincarnate.com", &P_MAIL_COM), |
| ("religious.com", &P_MAIL_COM), |
| ("saintly.com", &P_MAIL_COM), |
| ("brew-meister.com", &P_MAIL_COM), |
| ("cutey.com", &P_MAIL_COM), |
| ("dbzmail.com", &P_MAIL_COM), |
| ("doramail.com", &P_MAIL_COM), |
| ("galaxyhit.com", &P_MAIL_COM), |
| ("hilarious.com", &P_MAIL_COM), |
| ("humanoid.net", &P_MAIL_COM), |
| ("hot-shot.com", &P_MAIL_COM), |
| ("inorbit.com", &P_MAIL_COM), |
| ("iname.com", &P_MAIL_COM), |
| ("innocent.com", &P_MAIL_COM), |
| ("keromail.com", &P_MAIL_COM), |
| ("myself.com", &P_MAIL_COM), |
| ("rocketship.com", &P_MAIL_COM), |
| ("toothfairy.com", &P_MAIL_COM), |
| ("toke.com", &P_MAIL_COM), |
| ("tvstar.com", &P_MAIL_COM), |
| ("uymail.com", &P_MAIL_COM), |
| ("2trom.com", &P_MAIL_COM), |
| ("mail.de", &P_MAIL_DE), |
| ("mail.ru", &P_MAIL_RU), |
| ("inbox.ru", &P_MAIL_RU), |
| ("internet.ru", &P_MAIL_RU), |
| ("bk.ru", &P_MAIL_RU), |
| ("list.ru", &P_MAIL_RU), |
| ("mail2tor.com", &P_MAIL2TOR), |
| ("mailbox.org", &P_MAILBOX_ORG), |
| ("secure.mailbox.org", &P_MAILBOX_ORG), |
| ("mailo.com", &P_MAILO_COM), |
| ("mehl.cloud", &P_MEHL_CLOUD), |
| ("mehl.store", &P_MEHL_STORE), |
| ("ende.in.net", &P_MEHL_STORE), |
| ("l2i.top", &P_MEHL_STORE), |
| ("szh.homes", &P_MEHL_STORE), |
| ("sls.post.in", &P_MEHL_STORE), |
| ("ente.quest", &P_MEHL_STORE), |
| ("ente.cfd", &P_MEHL_STORE), |
| ("nein.jetzt", &P_MEHL_STORE), |
| ("migadu.com", &P_MIGADU), |
| ("nauta.cu", &P_NAUTA_CU), |
| ("naver.com", &P_NAVER), |
| ("nine.testrun.org", &P_NINE_TESTRUN_ORG), |
| ("nubo.coop", &P_NUBO_COOP), |
| ("hotmail.com", &P_OUTLOOK_COM), |
| ("outlook.com", &P_OUTLOOK_COM), |
| ("office365.com", &P_OUTLOOK_COM), |
| ("outlook.com.tr", &P_OUTLOOK_COM), |
| ("live.com", &P_OUTLOOK_COM), |
| ("outlook.de", &P_OUTLOOK_COM), |
| ("ouvaton.org", &P_OUVATON_COOP), |
| ("posteo.de", &P_POSTEO), |
| ("posteo.af", &P_POSTEO), |
| ("posteo.at", &P_POSTEO), |
| ("posteo.be", &P_POSTEO), |
| ("posteo.ca", &P_POSTEO), |
| ("posteo.ch", &P_POSTEO), |
| ("posteo.cl", &P_POSTEO), |
| ("posteo.co", &P_POSTEO), |
| ("posteo.co.uk", &P_POSTEO), |
| ("posteo.com", &P_POSTEO), |
| ("posteo.com.br", &P_POSTEO), |
| ("posteo.cr", &P_POSTEO), |
| ("posteo.cz", &P_POSTEO), |
| ("posteo.dk", &P_POSTEO), |
| ("posteo.ee", &P_POSTEO), |
| ("posteo.es", &P_POSTEO), |
| ("posteo.eu", &P_POSTEO), |
| ("posteo.fi", &P_POSTEO), |
| ("posteo.gl", &P_POSTEO), |
| ("posteo.gr", &P_POSTEO), |
| ("posteo.hn", &P_POSTEO), |
| ("posteo.hr", &P_POSTEO), |
| ("posteo.hu", &P_POSTEO), |
| ("posteo.ie", &P_POSTEO), |
| ("posteo.in", &P_POSTEO), |
| ("posteo.is", &P_POSTEO), |
| ("posteo.it", &P_POSTEO), |
| ("posteo.jp", &P_POSTEO), |
| ("posteo.la", &P_POSTEO), |
| ("posteo.li", &P_POSTEO), |
| ("posteo.lt", &P_POSTEO), |
| ("posteo.lu", &P_POSTEO), |
| ("posteo.me", &P_POSTEO), |
| ("posteo.mx", &P_POSTEO), |
| ("posteo.my", &P_POSTEO), |
| ("posteo.net", &P_POSTEO), |
| ("posteo.nl", &P_POSTEO), |
| ("posteo.no", &P_POSTEO), |
| ("posteo.nz", &P_POSTEO), |
| ("posteo.org", &P_POSTEO), |
| ("posteo.pe", &P_POSTEO), |
| ("posteo.pl", &P_POSTEO), |
| ("posteo.pm", &P_POSTEO), |
| ("posteo.pt", &P_POSTEO), |
| ("posteo.ro", &P_POSTEO), |
| ("posteo.ru", &P_POSTEO), |
| ("posteo.se", &P_POSTEO), |
| ("posteo.sg", &P_POSTEO), |
| ("posteo.si", &P_POSTEO), |
| ("posteo.tn", &P_POSTEO), |
| ("posteo.uk", &P_POSTEO), |
| ("posteo.us", &P_POSTEO), |
| ("protonmail.com", &P_PROTONMAIL), |
| ("protonmail.ch", &P_PROTONMAIL), |
| ("pm.me", &P_PROTONMAIL), |
| ("purelymail.com", &P_PURELYMAIL_COM), |
| ("cheapermail.com", &P_PURELYMAIL_COM), |
| ("placeq.com", &P_PURELYMAIL_COM), |
| ("rethinkmail.com", &P_PURELYMAIL_COM), |
| ("worldofmail.com", &P_PURELYMAIL_COM), |
| ("qq.com", &P_QQ), |
| ("foxmail.com", &P_QQ), |
| ("rambler.ru", &P_RAMBLER_RU), |
| ("autorambler.ru", &P_RAMBLER_RU), |
| ("myrambler.ru", &P_RAMBLER_RU), |
| ("rambler.ua", &P_RAMBLER_RU), |
| ("lenta.ru", &P_RAMBLER_RU), |
| ("ro.ru", &P_RAMBLER_RU), |
| ("r0.ru", &P_RAMBLER_RU), |
| ("riseup.net", &P_RISEUP_NET), |
| ("rogers.com", &P_ROGERS_COM), |
| ("sonic.net", &P_SONIC), |
| ("stinpriza.net", &P_STINPRIZA_NET), |
| ("stinpriza.eu", &P_STINPRIZA_NET), |
| ("el-hoyo.net", &P_STINPRIZA_NET), |
| ("systemausfall.org", &P_SYSTEMAUSFALL_ORG), |
| ("solidaris.me", &P_SYSTEMAUSFALL_ORG), |
| ("systemli.org", &P_SYSTEMLI_ORG), |
| ("t-online.de", &P_T_ONLINE), |
| ("magenta.de", &P_T_ONLINE), |
| ("testrun.org", &P_TESTRUN), |
| ("tiscali.it", &P_TISCALI_IT), |
| ("tutanota.com", &P_TUTANOTA), |
| ("tutanota.de", &P_TUTANOTA), |
| ("tutamail.com", &P_TUTANOTA), |
| ("tuta.io", &P_TUTANOTA), |
| ("keemail.me", &P_TUTANOTA), |
| ("ukr.net", &P_UKR_NET), |
| ("undernet.uy", &P_UNDERNET_UY), |
| ("vfemail.net", &P_VFEMAIL), |
| ("vivaldi.net", &P_VIVALDI), |
| ("vk.com", &P_VK_COM), |
| ("vodafone.de", &P_VODAFONE_DE), |
| ("vodafonemail.de", &P_VODAFONE_DE), |
| ("web.de", &P_WEB_DE), |
| ("email.de", &P_WEB_DE), |
| ("flirt.ms", &P_WEB_DE), |
| ("hallo.ms", &P_WEB_DE), |
| ("kuss.ms", &P_WEB_DE), |
| ("love.ms", &P_WEB_DE), |
| ("magic.ms", &P_WEB_DE), |
| ("singles.ms", &P_WEB_DE), |
| ("cool.ms", &P_WEB_DE), |
| ("kanzler.ms", &P_WEB_DE), |
| ("okay.ms", &P_WEB_DE), |
| ("party.ms", &P_WEB_DE), |
| ("pop.ms", &P_WEB_DE), |
| ("stars.ms", &P_WEB_DE), |
| ("techno.ms", &P_WEB_DE), |
| ("clever.ms", &P_WEB_DE), |
| ("deutschland.ms", &P_WEB_DE), |
| ("genial.ms", &P_WEB_DE), |
| ("ich.ms", &P_WEB_DE), |
| ("online.ms", &P_WEB_DE), |
| ("smart.ms", &P_WEB_DE), |
| ("wichtig.ms", &P_WEB_DE), |
| ("action.ms", &P_WEB_DE), |
| ("fussball.ms", &P_WEB_DE), |
| ("joker.ms", &P_WEB_DE), |
| ("planet.ms", &P_WEB_DE), |
| ("power.ms", &P_WEB_DE), |
| ("wkpb.de", &P_WKPB_DE), |
| ("yahoo.com", &P_YAHOO), |
| ("yahoo.de", &P_YAHOO), |
| ("yahoo.it", &P_YAHOO), |
| ("yahoo.fr", &P_YAHOO), |
| ("yahoo.es", &P_YAHOO), |
| ("yahoo.se", &P_YAHOO), |
| ("yahoo.co.uk", &P_YAHOO), |
| ("yahoo.co.nz", &P_YAHOO), |
| ("yahoo.com.au", &P_YAHOO), |
| ("yahoo.com.ar", &P_YAHOO), |
| ("yahoo.com.br", &P_YAHOO), |
| ("yahoo.com.mx", &P_YAHOO), |
| ("myyahoo.com", &P_YAHOO), |
| ("ymail.com", &P_YAHOO), |
| ("rocketmail.com", &P_YAHOO), |
| ("yahoodns.net", &P_YAHOO), |
| ("yandex.com", &P_YANDEX_RU), |
| ("yandex.by", &P_YANDEX_RU), |
| ("yandex.kz", &P_YANDEX_RU), |
| ("yandex.ru", &P_YANDEX_RU), |
| ("yandex.ua", &P_YANDEX_RU), |
| ("ya.ru", &P_YANDEX_RU), |
| ("narod.ru", &P_YANDEX_RU), |
| ("yggmail", &P_YGGMAIL), |
| ("ziggo.nl", &P_ZIGGO_NL), |
| ("zohomail.eu", &P_ZOHO), |
| ("zohomail.com", &P_ZOHO), |
| ("zoho.com", &P_ZOHO), |
| ]; |
|
|
| pub(crate) static PROVIDER_IDS: LazyLock<HashMap<&'static str, &'static Provider>> = |
| LazyLock::new(|| { |
| HashMap::from([ |
| ("163", &P_163), |
| ("aktivix.org", &P_AKTIVIX_ORG), |
| ("aliyun", &P_ALIYUN), |
| ("aol", &P_AOL), |
| ("arcor.de", &P_ARCOR_DE), |
| ("autistici.org", &P_AUTISTICI_ORG), |
| ("blindzeln.org", &P_BLINDZELN_ORG), |
| ("bluewin.ch", &P_BLUEWIN_CH), |
| ("buzon.uy", &P_BUZON_UY), |
| ("chello.at", &P_CHELLO_AT), |
| ("comcast", &P_COMCAST), |
| ("daleth.cafe", &P_DALETH_CAFE), |
| ("dismail.de", &P_DISMAIL_DE), |
| ("disroot", &P_DISROOT), |
| ("e.email", &P_E_EMAIL), |
| ("espiv.net", &P_ESPIV_NET), |
| ("example.com", &P_EXAMPLE_COM), |
| ("fastmail", &P_FASTMAIL), |
| ("firemail.de", &P_FIREMAIL_DE), |
| ("five.chat", &P_FIVE_CHAT), |
| ("freenet.de", &P_FREENET_DE), |
| ("gmail", &P_GMAIL), |
| ("gmx.net", &P_GMX_NET), |
| ("hermes.radio", &P_HERMES_RADIO), |
| ("hey.com", &P_HEY_COM), |
| ("i.ua", &P_I_UA), |
| ("i3.net", &P_I3_NET), |
| ("icloud", &P_ICLOUD), |
| ("infomaniak.com", &P_INFOMANIAK_COM), |
| ("kolst.com", &P_KOLST_COM), |
| ("kontent.com", &P_KONTENT_COM), |
| ("mail.com", &P_MAIL_COM), |
| ("mail.de", &P_MAIL_DE), |
| ("mail.ru", &P_MAIL_RU), |
| ("mail2tor", &P_MAIL2TOR), |
| ("mailbox.org", &P_MAILBOX_ORG), |
| ("mailo.com", &P_MAILO_COM), |
| ("mehl.cloud", &P_MEHL_CLOUD), |
| ("mehl.store", &P_MEHL_STORE), |
| ("migadu", &P_MIGADU), |
| ("nauta.cu", &P_NAUTA_CU), |
| ("naver", &P_NAVER), |
| ("nine.testrun.org", &P_NINE_TESTRUN_ORG), |
| ("nubo.coop", &P_NUBO_COOP), |
| ("outlook.com", &P_OUTLOOK_COM), |
| ("ouvaton.coop", &P_OUVATON_COOP), |
| ("posteo", &P_POSTEO), |
| ("protonmail", &P_PROTONMAIL), |
| ("purelymail.com", &P_PURELYMAIL_COM), |
| ("qq", &P_QQ), |
| ("rambler.ru", &P_RAMBLER_RU), |
| ("riseup.net", &P_RISEUP_NET), |
| ("rogers.com", &P_ROGERS_COM), |
| ("sonic", &P_SONIC), |
| ("stinpriza.net", &P_STINPRIZA_NET), |
| ("systemausfall.org", &P_SYSTEMAUSFALL_ORG), |
| ("systemli.org", &P_SYSTEMLI_ORG), |
| ("t-online", &P_T_ONLINE), |
| ("testrun", &P_TESTRUN), |
| ("tiscali.it", &P_TISCALI_IT), |
| ("tutanota", &P_TUTANOTA), |
| ("ukr.net", &P_UKR_NET), |
| ("undernet.uy", &P_UNDERNET_UY), |
| ("vfemail", &P_VFEMAIL), |
| ("vivaldi", &P_VIVALDI), |
| ("vk.com", &P_VK_COM), |
| ("vodafone.de", &P_VODAFONE_DE), |
| ("web.de", &P_WEB_DE), |
| ("wkpb.de", &P_WKPB_DE), |
| ("yahoo", &P_YAHOO), |
| ("yandex.ru", &P_YANDEX_RU), |
| ("yggmail", &P_YGGMAIL), |
| ("ziggo.nl", &P_ZIGGO_NL), |
| ("zoho", &P_ZOHO), |
| ]) |
| }); |
|
|
| pub static _PROVIDER_UPDATED: LazyLock<chrono::NaiveDate> = |
| LazyLock::new(|| chrono::NaiveDate::from_ymd_opt(2025, 9, 10).unwrap()); |
|
|