diff --git a/scripts/create-provider-data-rs.py b/scripts/create-provider-data-rs.py index 406e795a9..8e68910de 100755 --- a/scripts/create-provider-data-rs.py +++ b/scripts/create-provider-data-rs.py @@ -149,7 +149,7 @@ def process_data(data, file): oauth2 = "Some(Oauth2Authorizer::" + camel(oauth2) + ")" if oauth2 != "" else "None" provider = "" - before_login_hint = cleanstr(data.get("before_login_hint", "")) + before_login_hint = cleanstr(data.get("before_login_hint", "") or "") after_login_hint = cleanstr(data.get("after_login_hint", "")) if (not has_imap and not has_smtp) or (has_imap and has_smtp): provider += ( diff --git a/scripts/update-provider-database.sh b/scripts/update-provider-database.sh index eb5465bab..162a0f600 100755 --- a/scripts/update-provider-database.sh +++ b/scripts/update-provider-database.sh @@ -6,7 +6,7 @@ set -euo pipefail export TZ=UTC # Provider database revision. -REV=2f3db24107e4802c2df0aa0a40f0e144006c0a9b +REV=828e5ddc7e6609b582fbd7f063cc3f60b580ce96 CORE_ROOT="$PWD" TMP="$(mktemp -d)" diff --git a/src/provider/data.rs b/src/provider/data.rs index 8c3873302..6e29985c5 100644 --- a/src/provider/data.rs +++ b/src/provider/data.rs @@ -66,6 +66,34 @@ static P_AKTIVIX_ORG: Provider = Provider { oauth2_authorizer: None, }; +// aliyun.md: aliyun.com +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, +}; + // aol.md: aol.com static P_AOL: Provider = Provider { id: "aol", @@ -222,99 +250,6 @@ static P_BUZON_UY: Provider = Provider { oauth2_authorizer: None, }; -// c1.testrun.org.md: c1.testrun.org -static P_C1_TESTRUN_ORG: Provider = Provider { - id: "c1.testrun.org", - status: Status::Ok, - before_login_hint: "", - after_login_hint: "", - overview_page: "https://providers.delta.chat/c1-testrun-org", - server: &[ - Server { - protocol: Imap, - socket: Ssl, - hostname: "c1.testrun.org", - port: 993, - username_pattern: Email, - }, - Server { - protocol: Smtp, - socket: Ssl, - hostname: "c1.testrun.org", - port: 465, - username_pattern: Email, - }, - ], - opt: ProviderOptions::new(), - config_defaults: Some(&[ConfigDefault { - key: Config::MvboxMove, - value: "0", - }]), - oauth2_authorizer: None, -}; - -// c2.testrun.org.md: c2.testrun.org -static P_C2_TESTRUN_ORG: Provider = Provider { - id: "c2.testrun.org", - status: Status::Ok, - before_login_hint: "", - after_login_hint: "", - overview_page: "https://providers.delta.chat/c2-testrun-org", - server: &[ - Server { - protocol: Imap, - socket: Ssl, - hostname: "c2.testrun.org", - port: 993, - username_pattern: Email, - }, - Server { - protocol: Smtp, - socket: Ssl, - hostname: "c2.testrun.org", - port: 465, - username_pattern: Email, - }, - ], - opt: ProviderOptions::new(), - config_defaults: Some(&[ConfigDefault { - key: Config::MvboxMove, - value: "0", - }]), - oauth2_authorizer: None, -}; - -// c3.testrun.org.md: c3.testrun.org -static P_C3_TESTRUN_ORG: Provider = Provider { - id: "c3.testrun.org", - status: Status::Ok, - before_login_hint: "", - after_login_hint: "", - overview_page: "https://providers.delta.chat/c3-testrun-org", - server: &[ - Server { - protocol: Imap, - socket: Ssl, - hostname: "c3.testrun.org", - port: 993, - username_pattern: Email, - }, - Server { - protocol: Smtp, - socket: Ssl, - hostname: "c3.testrun.org", - port: 465, - username_pattern: Email, - }, - ], - opt: ProviderOptions::new(), - config_defaults: Some(&[ConfigDefault { - key: Config::MvboxMove, - value: "0", - }]), - oauth2_authorizer: None, -}; - // chello.at.md: chello.at static P_CHELLO_AT: Provider = Provider { id: "chello.at", @@ -356,6 +291,48 @@ static P_COMCAST: Provider = Provider { oauth2_authorizer: None, }; +// daleth.cafe.md: daleth.cafe +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, +}; + // dismail.de.md: dismail.de static P_DISMAIL_DE: Provider = Provider { id: "dismail.de", @@ -382,14 +359,14 @@ static P_DISROOT: Provider = Provider { socket: Ssl, hostname: "disroot.org", port: 993, - username_pattern: Email, + username_pattern: Emaillocalpart, }, Server { protocol: Smtp, socket: Starttls, hostname: "disroot.org", port: 587, - username_pattern: Email, + username_pattern: Emaillocalpart, }, ], opt: ProviderOptions::new(), @@ -446,7 +423,7 @@ static P_EXAMPLE_COM: Provider = Provider { after_login_hint: "This provider doesn't really exist, so you can't use it :/ If you need an email provider for Delta Chat, 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: Email }, + 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(), @@ -747,6 +724,20 @@ static P_KONTENT_COM: Provider = Provider { oauth2_authorizer: None, }; +// mail.com.md: email.com, groupmail.com, post.com, homemail.com, housemail.com, writeme.com, mail.com, mail-me.com, workmail.com, accountant.com, activist.com, adexec.com, allergist.com, alumni.com, alumnidirector.com, archaeologist.com, auctioneer.net, bartender.net, brew-master.com, chef.net, chemist.com, collector.org, columnist.com, comic.com, consultant.com, contractor.net, counsellor.com, deliveryman.com, diplomats.com, dr.com, engineer.com, financier.com, fireman.net, gardener.com, geologist.com, graphic-designer.com, graduate.org, hairdresser.net, instructor.net, insurer.com, journalist.com, legislator.com, lobbyist.com, minister.com, musician.org, optician.com, orthodontist.net, pediatrician.com, photographer.net, physicist.net, politician.com, presidency.com, priest.com, programmer.net, publicist.com, radiologist.net, realtyagent.com, registerednurses.com, repairman.com, representative.com, salesperson.net, secretary.net, socialworker.net, sociologist.com, songwriter.net, teachers.org, techie.com, technologist.com, therapist.net, umpire.com, worker.com, artlover.com, bikerider.com, birdlover.com, blader.com, kittymail.com, lovecat.com, marchmail.com, boardermail.com, catlover.com, clubmember.org, nonpartisan.com, petlover.com, doglover.com, greenmail.net, hackermail.com, theplate.com, bsdmail.com, computer4u.com, coolsite.net, cyberdude.com, cybergal.com, cyberservices.com, cyber-wizard.com, linuxmail.org, null.net, solution4u.com, tech-center.com, webname.com, acdcfan.com, angelic.com, discofan.com, elvisfan.com, hiphopfan.com, kissfans.com, madonnafan.com, metalfan.com, ninfan.com, ravemail.com, reggaefan.com, snakebite.com, bellair.net, californiamail.com, dallasmail.com, nycmail.com, pacific-ocean.com, pacificwest.com, sanfranmail.com, usa.com, africamail.com, asia-mail.com, australiamail.com, berlin.com, brazilmail.com, chinamail.com, dublin.com, dutchmail.com, englandmail.com, europe.com, arcticmail.com, europemail.com, germanymail.com, irelandmail.com, israelmail.com, italymail.com, koreamail.com, mexicomail.com, moscowmail.com, munich.com, asia.com, polandmail.com, safrica.com, samerica.com, scotlandmail.com, spainmail.com, swedenmail.com, swissmail.com, torontomail.com, aircraftmail.com, cash4u.com, disposable.com, execs.com, fastservice.com, instruction.com, job4u.com, net-shopping.com, planetmail.com, planetmail.net, qualityservice.com, rescueteam.com, surgical.net, atheist.com, disciples.com, muslim.com, protestant.com, reborn.com, reincarnate.com, religious.com, saintly.com, brew-meister.com, cutey.com, dbzmail.com, doramail.com, galaxyhit.com, hilarious.com, humanoid.net, hot-shot.com, inorbit.com, iname.com, innocent.com, keromail.com, myself.com, rocketship.com, toothfairy.com, toke.com, tvstar.com, uymail.com, 2trom.com +static P_MAIL_COM: Provider = Provider { + id: "mail.com", + status: Status::Preparation, + before_login_hint: "To log in with Delta Chat, 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, +}; + // mail.de.md: mail.de static P_MAIL_DE: Provider = Provider { id: "mail.de", @@ -875,6 +866,64 @@ static P_MAILO_COM: Provider = Provider { oauth2_authorizer: None, }; +// mehl.cloud.md: mehl.cloud +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: 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, +}; + +// mehl.store.md: mehl.store, ende.in.net, l2i.top, szh.homes, sls.post.in, ente.quest, ente.cfd, nein.jetzt +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, +}; + // nauta.cu.md: nauta.cu static P_NAUTA_CU: Provider = Provider { id: "nauta.cu", @@ -908,10 +957,6 @@ static P_NAUTA_CU: Provider = Provider { key: Config::DeleteServerAfter, value: "1", }, - ConfigDefault { - key: Config::BccSelf, - value: "0", - }, ConfigDefault { key: Config::SentboxWatch, value: "0", @@ -924,10 +969,6 @@ static P_NAUTA_CU: Provider = Provider { key: Config::MediaQuality, value: "1", }, - ConfigDefault { - key: Config::FetchExistingMsgs, - value: "0", - }, ]), oauth2_authorizer: None, }; @@ -982,6 +1023,20 @@ static P_NINE_TESTRUN_ORG: Provider = Provider { 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 { @@ -1131,6 +1186,34 @@ static P_PROTONMAIL: Provider = Provider { oauth2_authorizer: None, }; +// purelymail.com.md: purelymail.com, cheapermail.com, placeq.com, rethinkmail.com, worldofmail.com +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, +}; + // qq.md: qq.com, foxmail.com static P_QQ: Provider = Provider { id: "qq", @@ -1147,6 +1230,23 @@ static P_QQ: Provider = Provider { oauth2_authorizer: None, }; +// rambler.ru.md: rambler.ru, autorambler.ru, myrambler.ru, rambler.ua, lenta.ru, ro.ru, r0.ru +static P_RAMBLER_RU: Provider = Provider { + id: "rambler.ru", + status: Status::Preparation, + before_login_hint: "Чтобы войти в Рамблер/почта через Delta Chat, необходимо предварительно включить доступ с помощью почтовых клиентов на сайте 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, +}; + // riseup.net.md: riseup.net static P_RISEUP_NET: Provider = Provider { id: "riseup.net", @@ -1160,14 +1260,14 @@ static P_RISEUP_NET: Provider = Provider { socket: Ssl, hostname: "mail.riseup.net", port: 993, - username_pattern: Email, + username_pattern: Emaillocalpart, }, Server { protocol: Smtp, socket: Ssl, hostname: "mail.riseup.net", port: 465, - username_pattern: Email, + username_pattern: Emaillocalpart, }, ], opt: ProviderOptions::new(), @@ -1288,6 +1388,13 @@ static P_TESTRUN: Provider = Provider { port: 993, username_pattern: Email, }, + Server { + protocol: Smtp, + socket: Ssl, + hostname: "testrun.org", + port: 465, + username_pattern: Email, + }, Server { protocol: Imap, socket: Starttls, @@ -1445,6 +1552,20 @@ static P_VIVALDI: Provider = Provider { oauth2_authorizer: None, }; +// vk.com.md: vk.com +static P_VK_COM: Provider = Provider { + id: "vk.com", + status: Status::Broken, + before_login_hint: "К сожалению, VK Почта не поддерживает работу с Delta Chat. См. https://help.vk.mail.ru/vkmail/questions/client", + after_login_hint: "", + overview_page: "https://providers.delta.chat/vk-com", + server: &[ + ], + opt: ProviderOptions::new(), + config_defaults: None, + oauth2_authorizer: None, +}; + // vodafone.de.md: vodafone.de, vodafonemail.de static P_VODAFONE_DE: Provider = Provider { id: "vodafone.de", @@ -1490,6 +1611,34 @@ static P_WEB_DE: Provider = Provider { oauth2_authorizer: None, }; +// wkpb.de.md: wkpb.de +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, +}; + // yahoo.md: yahoo.com, yahoo.de, yahoo.it, yahoo.fr, yahoo.es, yahoo.se, yahoo.co.uk, yahoo.co.nz, yahoo.com.au, yahoo.com.ar, yahoo.com.br, yahoo.com.mx, ymail.com, rocketmail.com, yahoodns.net static P_YAHOO: Provider = Provider { id: "yahoo", @@ -1608,9 +1757,10 @@ static P_ZOHO: Provider = Provider { oauth2_authorizer: None, }; -pub(crate) static PROVIDER_DATA: [(&str, &Provider); 318] = [ +pub(crate) static PROVIDER_DATA: [(&str, &Provider); 528] = [ ("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), @@ -1618,12 +1768,10 @@ pub(crate) static PROVIDER_DATA: [(&str, &Provider); 318] = [ ("delta.blindzeln.org", &P_BLINDZELN_ORG), ("bluewin.ch", &P_BLUEWIN_CH), ("buzon.uy", &P_BUZON_UY), - ("c1.testrun.org", &P_C1_TESTRUN_ORG), - ("c2.testrun.org", &P_C2_TESTRUN_ORG), - ("c3.testrun.org", &P_C3_TESTRUN_ORG), ("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), @@ -1775,6 +1923,194 @@ pub(crate) static PROVIDER_DATA: [(&str, &Provider); 318] = [ ("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), @@ -1785,6 +2121,15 @@ pub(crate) static PROVIDER_DATA: [(&str, &Provider); 318] = [ ("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), ("nauta.cu", &P_NAUTA_CU), ("naver.com", &P_NAVER), ("nine.testrun.org", &P_NINE_TESTRUN_ORG), @@ -1850,8 +2195,20 @@ pub(crate) static PROVIDER_DATA: [(&str, &Provider); 318] = [ ("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), @@ -1871,6 +2228,7 @@ pub(crate) static PROVIDER_DATA: [(&str, &Provider); 318] = [ ("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), @@ -1900,6 +2258,7 @@ pub(crate) static PROVIDER_DATA: [(&str, &Provider); 318] = [ ("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), @@ -1933,17 +2292,16 @@ pub(crate) static PROVIDER_IDS: Lazy> = 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), - ("c1.testrun.org", &P_C1_TESTRUN_ORG), - ("c2.testrun.org", &P_C2_TESTRUN_ORG), - ("c3.testrun.org", &P_C3_TESTRUN_ORG), ("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), @@ -1963,11 +2321,14 @@ pub(crate) static PROVIDER_IDS: Lazy> = ("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), ("nauta.cu", &P_NAUTA_CU), ("naver", &P_NAVER), ("nine.testrun.org", &P_NINE_TESTRUN_ORG), @@ -1976,7 +2337,9 @@ pub(crate) static PROVIDER_IDS: Lazy> = ("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), @@ -1990,8 +2353,10 @@ pub(crate) static PROVIDER_IDS: Lazy> = ("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), @@ -2001,4 +2366,4 @@ pub(crate) static PROVIDER_IDS: Lazy> = }); pub static _PROVIDER_UPDATED: Lazy = - Lazy::new(|| chrono::NaiveDate::from_ymd_opt(2024, 2, 5).unwrap()); + Lazy::new(|| chrono::NaiveDate::from_ymd_opt(2024, 6, 24).unwrap());