deltachat/provider/
data.rs

1// file generated by src/provider/update.py
2
3use crate::provider::Protocol::*;
4use crate::provider::Socket::*;
5use crate::provider::UsernamePattern::*;
6use crate::provider::{
7    Config, ConfigDefault, Oauth2Authorizer, Provider, ProviderOptions, Server, Status,
8};
9use std::collections::HashMap;
10
11use std::sync::LazyLock;
12
13// 163.md: 163.com
14static P_163: Provider = Provider {
15    id: "163",
16    status: Status::Preparation,
17    before_login_hint: "Enable \"POP3/SMTP/IMAP\" on the website, add a third-party auth code and use that as the login password",
18    after_login_hint: "",
19    overview_page: "https://providers.delta.chat/163",
20    server: &[
21        Server {
22            protocol: Imap,
23            socket: Ssl,
24            hostname: "imap.163.com",
25            port: 993,
26            username_pattern: Email,
27        },
28        Server {
29            protocol: Smtp,
30            socket: Ssl,
31            hostname: "smtp.163.com",
32            port: 465,
33            username_pattern: Email,
34        },
35    ],
36    opt: ProviderOptions::new(),
37    config_defaults: None,
38    oauth2_authorizer: None,
39};
40
41// aktivix.org.md: aktivix.org
42static P_AKTIVIX_ORG: Provider = Provider {
43    id: "aktivix.org",
44    status: Status::Ok,
45    before_login_hint: "",
46    after_login_hint: "",
47    overview_page: "https://providers.delta.chat/aktivix-org",
48    server: &[
49        Server {
50            protocol: Imap,
51            socket: Starttls,
52            hostname: "newyear.aktivix.org",
53            port: 143,
54            username_pattern: Email,
55        },
56        Server {
57            protocol: Smtp,
58            socket: Starttls,
59            hostname: "newyear.aktivix.org",
60            port: 587,
61            username_pattern: Email,
62        },
63    ],
64    opt: ProviderOptions::new(),
65    config_defaults: None,
66    oauth2_authorizer: None,
67};
68
69// aliyun.md: aliyun.com
70static P_ALIYUN: Provider = Provider {
71    id: "aliyun",
72    status: Status::Ok,
73    before_login_hint: "",
74    after_login_hint: "",
75    overview_page: "https://providers.delta.chat/aliyun",
76    server: &[
77        Server {
78            protocol: Imap,
79            socket: Ssl,
80            hostname: "imap.aliyun.com",
81            port: 993,
82            username_pattern: Email,
83        },
84        Server {
85            protocol: Smtp,
86            socket: Ssl,
87            hostname: "smtp.aliyun.com",
88            port: 465,
89            username_pattern: Email,
90        },
91    ],
92    opt: ProviderOptions::new(),
93    config_defaults: None,
94    oauth2_authorizer: None,
95};
96
97// aol.md: aol.com
98static P_AOL: Provider = Provider {
99    id: "aol",
100    status: Status::Preparation,
101    before_login_hint: "To log in to AOL, you need to set up an app password in the AOL web interface.",
102    after_login_hint: "",
103    overview_page: "https://providers.delta.chat/aol",
104    server: &[
105        Server {
106            protocol: Imap,
107            socket: Ssl,
108            hostname: "imap.aol.com",
109            port: 993,
110            username_pattern: Email,
111        },
112        Server {
113            protocol: Smtp,
114            socket: Ssl,
115            hostname: "smtp.aol.com",
116            port: 465,
117            username_pattern: Email,
118        },
119    ],
120    opt: ProviderOptions::new(),
121    config_defaults: None,
122    oauth2_authorizer: None,
123};
124
125// arcor.de.md: arcor.de
126static P_ARCOR_DE: Provider = Provider {
127    id: "arcor.de",
128    status: Status::Ok,
129    before_login_hint: "",
130    after_login_hint: "",
131    overview_page: "https://providers.delta.chat/arcor-de",
132    server: &[
133        Server {
134            protocol: Imap,
135            socket: Ssl,
136            hostname: "imap.arcor.de",
137            port: 993,
138            username_pattern: Email,
139        },
140        Server {
141            protocol: Smtp,
142            socket: Ssl,
143            hostname: "mail.arcor.de",
144            port: 465,
145            username_pattern: Email,
146        },
147    ],
148    opt: ProviderOptions::new(),
149    config_defaults: None,
150    oauth2_authorizer: None,
151};
152
153// autistici.org.md: autistici.org
154static P_AUTISTICI_ORG: Provider = Provider {
155    id: "autistici.org",
156    status: Status::Ok,
157    before_login_hint: "",
158    after_login_hint: "",
159    overview_page: "https://providers.delta.chat/autistici-org",
160    server: &[
161        Server {
162            protocol: Imap,
163            socket: Ssl,
164            hostname: "mail.autistici.org",
165            port: 993,
166            username_pattern: Email,
167        },
168        Server {
169            protocol: Smtp,
170            socket: Ssl,
171            hostname: "smtp.autistici.org",
172            port: 465,
173            username_pattern: Email,
174        },
175    ],
176    opt: ProviderOptions::new(),
177    config_defaults: None,
178    oauth2_authorizer: None,
179};
180
181// blindzeln.org.md: delta.blinzeln.de, delta.blindzeln.org
182static P_BLINDZELN_ORG: Provider = Provider {
183    id: "blindzeln.org",
184    status: Status::Ok,
185    before_login_hint: "",
186    after_login_hint: "",
187    overview_page: "https://providers.delta.chat/blindzeln-org",
188    server: &[
189        Server {
190            protocol: Imap,
191            socket: Ssl,
192            hostname: "webbox222.server-home.org",
193            port: 993,
194            username_pattern: Email,
195        },
196        Server {
197            protocol: Smtp,
198            socket: Ssl,
199            hostname: "webbox222.server-home.org",
200            port: 465,
201            username_pattern: Email,
202        },
203    ],
204    opt: ProviderOptions::new(),
205    config_defaults: None,
206    oauth2_authorizer: None,
207};
208
209// bluewin.ch.md: bluewin.ch
210static P_BLUEWIN_CH: Provider = Provider {
211    id: "bluewin.ch",
212    status: Status::Ok,
213    before_login_hint: "",
214    after_login_hint: "",
215    overview_page: "https://providers.delta.chat/bluewin-ch",
216    server: &[
217        Server {
218            protocol: Imap,
219            socket: Ssl,
220            hostname: "imaps.bluewin.ch",
221            port: 993,
222            username_pattern: Email,
223        },
224        Server {
225            protocol: Smtp,
226            socket: Ssl,
227            hostname: "smtpauths.bluewin.ch",
228            port: 465,
229            username_pattern: Email,
230        },
231    ],
232    opt: ProviderOptions::new(),
233    config_defaults: None,
234    oauth2_authorizer: None,
235};
236
237// chello.at.md: chello.at
238static P_CHELLO_AT: Provider = Provider {
239    id: "chello.at",
240    status: Status::Ok,
241    before_login_hint: "",
242    after_login_hint: "",
243    overview_page: "https://providers.delta.chat/chello-at",
244    server: &[
245        Server {
246            protocol: Imap,
247            socket: Ssl,
248            hostname: "mail.mymagenta.at",
249            port: 993,
250            username_pattern: Email,
251        },
252        Server {
253            protocol: Smtp,
254            socket: Ssl,
255            hostname: "mail.mymagenta.at",
256            port: 465,
257            username_pattern: Email,
258        },
259    ],
260    opt: ProviderOptions::new(),
261    config_defaults: None,
262    oauth2_authorizer: None,
263};
264
265// comcast.md: xfinity.com, comcast.net
266static P_COMCAST: Provider = Provider {
267    id: "comcast",
268    status: Status::Ok,
269    before_login_hint: "",
270    after_login_hint: "",
271    overview_page: "https://providers.delta.chat/comcast",
272    server: &[],
273    opt: ProviderOptions::new(),
274    config_defaults: None,
275    oauth2_authorizer: None,
276};
277
278// dismail.de.md: dismail.de
279static P_DISMAIL_DE: Provider = Provider {
280    id: "dismail.de",
281    status: Status::Ok,
282    before_login_hint: "",
283    after_login_hint: "",
284    overview_page: "https://providers.delta.chat/dismail-de",
285    server: &[],
286    opt: ProviderOptions::new(),
287    config_defaults: None,
288    oauth2_authorizer: None,
289};
290
291// disroot.md: disroot.org
292static P_DISROOT: Provider = Provider {
293    id: "disroot",
294    status: Status::Ok,
295    before_login_hint: "",
296    after_login_hint: "",
297    overview_page: "https://providers.delta.chat/disroot",
298    server: &[
299        Server {
300            protocol: Imap,
301            socket: Ssl,
302            hostname: "disroot.org",
303            port: 993,
304            username_pattern: Emaillocalpart,
305        },
306        Server {
307            protocol: Smtp,
308            socket: Starttls,
309            hostname: "disroot.org",
310            port: 587,
311            username_pattern: Emaillocalpart,
312        },
313    ],
314    opt: ProviderOptions::new(),
315    config_defaults: None,
316    oauth2_authorizer: None,
317};
318
319// e.email.md: e.email
320static P_E_EMAIL: Provider = Provider {
321    id: "e.email",
322    status: Status::Ok,
323    before_login_hint: "",
324    after_login_hint: "",
325    overview_page: "https://providers.delta.chat/e-email",
326    server: &[
327        Server {
328            protocol: Imap,
329            socket: Ssl,
330            hostname: "mail.ecloud.global",
331            port: 993,
332            username_pattern: Email,
333        },
334        Server {
335            protocol: Smtp,
336            socket: Starttls,
337            hostname: "mail.ecloud.global",
338            port: 587,
339            username_pattern: Email,
340        },
341    ],
342    opt: ProviderOptions::new(),
343    config_defaults: None,
344    oauth2_authorizer: None,
345};
346
347// espiv.net.md: espiv.net
348static P_ESPIV_NET: Provider = Provider {
349    id: "espiv.net",
350    status: Status::Ok,
351    before_login_hint: "",
352    after_login_hint: "",
353    overview_page: "https://providers.delta.chat/espiv-net",
354    server: &[],
355    opt: ProviderOptions::new(),
356    config_defaults: None,
357    oauth2_authorizer: None,
358};
359
360// example.com.md: example.com, example.org, example.net
361static P_EXAMPLE_COM: Provider = Provider {
362    id: "example.com",
363    status: Status::Broken,
364    before_login_hint: "Hush this provider doesn't exist!",
365    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!",
366    overview_page: "https://providers.delta.chat/example-com",
367    server: &[
368        Server {
369            protocol: Imap,
370            socket: Ssl,
371            hostname: "imap.example.com",
372            port: 1337,
373            username_pattern: Emaillocalpart,
374        },
375        Server {
376            protocol: Smtp,
377            socket: Starttls,
378            hostname: "smtp.example.com",
379            port: 1337,
380            username_pattern: Email,
381        },
382    ],
383    opt: ProviderOptions::new(),
384    config_defaults: None,
385    oauth2_authorizer: None,
386};
387
388// fastmail.md: 123mail.org, 150mail.com, 150ml.com, 16mail.com, 2-mail.com, 4email.net, 50mail.com, airpost.net, allmail.net, bestmail.us, cluemail.com, elitemail.org, emailcorner.net, emailengine.net, emailengine.org, emailgroups.net, emailplus.org, emailuser.net, eml.cc, f-m.fm, fast-email.com, fast-mail.org, fastem.com, fastemail.us, fastemailer.com, fastest.cc, fastimap.com, fastmail.cn, fastmail.co.uk, fastmail.com, fastmail.com.au, fastmail.de, fastmail.es, fastmail.fm, fastmail.fr, fastmail.im, fastmail.in, fastmail.jp, fastmail.mx, fastmail.net, fastmail.nl, fastmail.org, fastmail.se, fastmail.to, fastmail.tw, fastmail.uk, fastmail.us, fastmailbox.net, fastmessaging.com, fea.st, fmail.co.uk, fmailbox.com, fmgirl.com, fmguy.com, ftml.net, h-mail.us, hailmail.net, imap-mail.com, imap.cc, imapmail.org, inoutbox.com, internet-e-mail.com, internet-mail.org, internetemails.net, internetmailing.net, jetemail.net, justemail.net, letterboxes.org, mail-central.com, mail-page.com, mailandftp.com, mailas.com, mailbolt.com, mailc.net, mailcan.com, mailforce.net, mailftp.com, mailhaven.com, mailingaddress.org, mailite.com, mailmight.com, mailnew.com, mailsent.net, mailservice.ms, mailup.net, mailworks.org, ml1.net, mm.st, myfastmail.com, mymacmail.com, nospammail.net, ownmail.net, petml.com, postinbox.com, postpro.net, proinbox.com, promessage.com, realemail.net, reallyfast.biz, reallyfast.info, rushpost.com, sent.as, sent.at, sent.com, speedpost.net, speedymail.org, ssl-mail.com, swift-mail.com, the-fastest.net, the-quickest.com, theinternetemail.com, veryfast.biz, veryspeedy.net, warpmail.net, xsmail.com, yepmail.net, your-mail.com
389static P_FASTMAIL: Provider = Provider {
390    id: "fastmail",
391    status: Status::Preparation,
392    before_login_hint: "You must create an app-specific password before you can log in.",
393    after_login_hint: "",
394    overview_page: "https://providers.delta.chat/fastmail",
395    server: &[
396        Server {
397            protocol: Imap,
398            socket: Ssl,
399            hostname: "imap.fastmail.com",
400            port: 993,
401            username_pattern: Email,
402        },
403        Server {
404            protocol: Smtp,
405            socket: Ssl,
406            hostname: "smtp.fastmail.com",
407            port: 465,
408            username_pattern: Email,
409        },
410    ],
411    opt: ProviderOptions::new(),
412    config_defaults: None,
413    oauth2_authorizer: None,
414};
415
416// firemail.de.md: firemail.at, firemail.de
417static P_FIREMAIL_DE: Provider = Provider {
418    id: "firemail.de",
419    status: Status::Preparation,
420    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.",
421    after_login_hint: "Leider schränkt Firemail die maximale Gruppengröße ein. Je nach Bezahlmodell sind nur 5 bis 30 Gruppenmitglieder erlaubt.",
422    overview_page: "https://providers.delta.chat/firemail-de",
423    server: &[],
424    opt: ProviderOptions::new(),
425    config_defaults: None,
426    oauth2_authorizer: None,
427};
428
429// freenet.de.md: freenet.de
430static P_FREENET_DE: Provider = Provider {
431    id: "freenet.de",
432    status: Status::Preparation,
433    before_login_hint: "Um deine freenet.de E-Mail-Adresse zu benutzen, musst du erst auf der freenet.de-Webseite \"POP3/IMAP/SMTP\" aktivieren.",
434    after_login_hint: "",
435    overview_page: "https://providers.delta.chat/freenet-de",
436    server: &[
437        Server {
438            protocol: Imap,
439            socket: Ssl,
440            hostname: "mx.freenet.de",
441            port: 993,
442            username_pattern: Email,
443        },
444        Server {
445            protocol: Imap,
446            socket: Starttls,
447            hostname: "mx.freenet.de",
448            port: 143,
449            username_pattern: Email,
450        },
451        Server {
452            protocol: Smtp,
453            socket: Ssl,
454            hostname: "mx.freenet.de",
455            port: 465,
456            username_pattern: Email,
457        },
458        Server {
459            protocol: Smtp,
460            socket: Starttls,
461            hostname: "mx.freenet.de",
462            port: 587,
463            username_pattern: Email,
464        },
465    ],
466    opt: ProviderOptions::new(),
467    config_defaults: None,
468    oauth2_authorizer: None,
469};
470
471// gmail.md: gmail.com, googlemail.com, google.com
472static P_GMAIL: Provider = Provider {
473    id: "gmail",
474    status: Status::Preparation,
475    before_login_hint: "For Gmail accounts, you need to have \"2-Step Verification\" enabled and create an app-password. Gmail limits how many messages you can send per day.",
476    after_login_hint: "",
477    overview_page: "https://providers.delta.chat/gmail",
478    server: &[
479        Server {
480            protocol: Imap,
481            socket: Ssl,
482            hostname: "imap.gmail.com",
483            port: 993,
484            username_pattern: Email,
485        },
486        Server {
487            protocol: Smtp,
488            socket: Ssl,
489            hostname: "smtp.gmail.com",
490            port: 465,
491            username_pattern: Email,
492        },
493    ],
494    opt: ProviderOptions::new(),
495    config_defaults: None,
496    oauth2_authorizer: None,
497};
498
499// gmx.net.md: gmx.net, gmx.de, gmx.at, gmx.ch, gmx.org, gmx.eu, gmx.info, gmx.biz, gmx.com
500static P_GMX_NET: Provider = Provider {
501    id: "gmx.net",
502    status: Status::Preparation,
503    before_login_hint: "You must allow IMAP access to your account before you can login.",
504    after_login_hint: "",
505    overview_page: "https://providers.delta.chat/gmx-net",
506    server: &[
507        Server {
508            protocol: Imap,
509            socket: Ssl,
510            hostname: "imap.gmx.net",
511            port: 993,
512            username_pattern: Email,
513        },
514        Server {
515            protocol: Smtp,
516            socket: Ssl,
517            hostname: "mail.gmx.net",
518            port: 465,
519            username_pattern: Email,
520        },
521        Server {
522            protocol: Smtp,
523            socket: Starttls,
524            hostname: "mail.gmx.net",
525            port: 587,
526            username_pattern: Email,
527        },
528    ],
529    opt: ProviderOptions::new(),
530    config_defaults: None,
531    oauth2_authorizer: None,
532};
533
534// hermes.radio.md: *.hermes.radio, *.aco-connexion.org
535static P_HERMES_RADIO: Provider = Provider {
536    id: "hermes.radio",
537    status: Status::Ok,
538    before_login_hint: "",
539    after_login_hint: "",
540    overview_page: "https://providers.delta.chat/hermes-radio",
541    server: &[],
542    opt: ProviderOptions {
543        strict_tls: false,
544        ..ProviderOptions::new()
545    },
546    config_defaults: Some(&[ConfigDefault {
547        key: Config::MdnsEnabled,
548        value: "0",
549    }]),
550    oauth2_authorizer: None,
551};
552
553// hey.com.md: hey.com
554static P_HEY_COM: Provider = Provider {
555    id: "hey.com",
556    status: Status::Broken,
557    before_login_hint: "hey.com does not offer the standard IMAP e-mail protocol, so you cannot log in to hey.com.",
558    after_login_hint: "",
559    overview_page: "https://providers.delta.chat/hey-com",
560    server: &[],
561    opt: ProviderOptions::new(),
562    config_defaults: None,
563    oauth2_authorizer: None,
564};
565
566// i.ua.md: i.ua
567static P_I_UA: Provider = Provider {
568    id: "i.ua",
569    status: Status::Broken,
570    before_login_hint: "Протокол IMAP не предоставляется и не планируется.",
571    after_login_hint: "",
572    overview_page: "https://providers.delta.chat/i-ua",
573    server: &[],
574    opt: ProviderOptions::new(),
575    config_defaults: None,
576    oauth2_authorizer: None,
577};
578
579// i3.net.md: i3.net
580static P_I3_NET: Provider = Provider {
581    id: "i3.net",
582    status: Status::Ok,
583    before_login_hint: "",
584    after_login_hint: "",
585    overview_page: "https://providers.delta.chat/i3-net",
586    server: &[],
587    opt: ProviderOptions::new(),
588    config_defaults: None,
589    oauth2_authorizer: None,
590};
591
592// icloud.md: icloud.com, me.com, mac.com
593static P_ICLOUD: Provider = Provider {
594    id: "icloud",
595    status: Status::Preparation,
596    before_login_hint: "You must create an app-specific password before login.",
597    after_login_hint: "",
598    overview_page: "https://providers.delta.chat/icloud",
599    server: &[
600        Server {
601            protocol: Imap,
602            socket: Ssl,
603            hostname: "imap.mail.me.com",
604            port: 993,
605            username_pattern: Emaillocalpart,
606        },
607        Server {
608            protocol: Smtp,
609            socket: Starttls,
610            hostname: "smtp.mail.me.com",
611            port: 587,
612            username_pattern: Email,
613        },
614    ],
615    opt: ProviderOptions::new(),
616    config_defaults: None,
617    oauth2_authorizer: None,
618};
619
620// infomaniak.com.md: ik.me
621static P_INFOMANIAK_COM: Provider = Provider {
622    id: "infomaniak.com",
623    status: Status::Ok,
624    before_login_hint: "",
625    after_login_hint: "",
626    overview_page: "https://providers.delta.chat/infomaniak-com",
627    server: &[
628        Server {
629            protocol: Imap,
630            socket: Ssl,
631            hostname: "mail.infomaniak.com",
632            port: 993,
633            username_pattern: Email,
634        },
635        Server {
636            protocol: Smtp,
637            socket: Ssl,
638            hostname: "mail.infomaniak.com",
639            port: 465,
640            username_pattern: Email,
641        },
642    ],
643    opt: ProviderOptions {
644        max_smtp_rcpt_to: Some(10),
645        ..ProviderOptions::new()
646    },
647    config_defaults: None,
648    oauth2_authorizer: None,
649};
650
651// kolst.com.md: kolst.com
652static P_KOLST_COM: Provider = Provider {
653    id: "kolst.com",
654    status: Status::Ok,
655    before_login_hint: "",
656    after_login_hint: "",
657    overview_page: "https://providers.delta.chat/kolst-com",
658    server: &[],
659    opt: ProviderOptions::new(),
660    config_defaults: None,
661    oauth2_authorizer: None,
662};
663
664// kontent.com.md: kontent.com
665static P_KONTENT_COM: Provider = Provider {
666    id: "kontent.com",
667    status: Status::Ok,
668    before_login_hint: "",
669    after_login_hint: "",
670    overview_page: "https://providers.delta.chat/kontent-com",
671    server: &[],
672    opt: ProviderOptions::new(),
673    config_defaults: None,
674    oauth2_authorizer: None,
675};
676
677// 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
678static P_MAIL_COM: Provider = Provider {
679    id: "mail.com",
680    status: Status::Preparation,
681    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.",
682    after_login_hint: "",
683    overview_page: "https://providers.delta.chat/mail-com",
684    server: &[],
685    opt: ProviderOptions::new(),
686    config_defaults: None,
687    oauth2_authorizer: None,
688};
689
690// mail.de.md: mail.de
691static P_MAIL_DE: Provider = Provider {
692    id: "mail.de",
693    status: Status::Ok,
694    before_login_hint: "",
695    after_login_hint: "",
696    overview_page: "https://providers.delta.chat/mail-de",
697    server: &[
698        Server {
699            protocol: Imap,
700            socket: Ssl,
701            hostname: "imap.mail.de",
702            port: 993,
703            username_pattern: Email,
704        },
705        Server {
706            protocol: Smtp,
707            socket: Ssl,
708            hostname: "smtp.mail.de",
709            port: 465,
710            username_pattern: Email,
711        },
712    ],
713    opt: ProviderOptions::new(),
714    config_defaults: None,
715    oauth2_authorizer: None,
716};
717
718// mail.ru.md: mail.ru, inbox.ru, internet.ru, bk.ru, list.ru
719static P_MAIL_RU: Provider = Provider {
720    id: "mail.ru",
721    status: Status::Preparation,
722    before_login_hint: "Вам необходимо сгенерировать \"пароль для внешнего приложения\" в веб-интерфейсе mail.ru, чтобы mail.ru работал с chatmail.",
723    after_login_hint: "",
724    overview_page: "https://providers.delta.chat/mail-ru",
725    server: &[
726        Server {
727            protocol: Imap,
728            socket: Ssl,
729            hostname: "imap.mail.ru",
730            port: 993,
731            username_pattern: Email,
732        },
733        Server {
734            protocol: Smtp,
735            socket: Ssl,
736            hostname: "smtp.mail.ru",
737            port: 465,
738            username_pattern: Email,
739        },
740    ],
741    opt: ProviderOptions::new(),
742    config_defaults: None,
743    oauth2_authorizer: None,
744};
745
746// mail2tor.md: mail2tor.com
747static P_MAIL2TOR: Provider = Provider {
748    id: "mail2tor",
749    status: Status::Preparation,
750    before_login_hint: "Tor is needed to connect to the email servers.",
751    after_login_hint: "",
752    overview_page: "https://providers.delta.chat/mail2tor",
753    server: &[
754        Server {
755            protocol: Imap,
756            socket: Plain,
757            hostname: "g77kjrad6bafzzyldqvffq6kxlsgphcygptxhnn4xlnktfgaqshilmyd.onion",
758            port: 143,
759            username_pattern: Email,
760        },
761        Server {
762            protocol: Smtp,
763            socket: Plain,
764            hostname: "xc7tgk2c5onxni2wsy76jslfsitxjbbptejnqhw6gy2ft7khpevhc7ad.onion",
765            port: 25,
766            username_pattern: Email,
767        },
768    ],
769    opt: ProviderOptions::new(),
770    config_defaults: None,
771    oauth2_authorizer: None,
772};
773
774// mailbox.org.md: mailbox.org, secure.mailbox.org
775static P_MAILBOX_ORG: Provider = Provider {
776    id: "mailbox.org",
777    status: Status::Ok,
778    before_login_hint: "",
779    after_login_hint: "",
780    overview_page: "https://providers.delta.chat/mailbox-org",
781    server: &[
782        Server {
783            protocol: Imap,
784            socket: Ssl,
785            hostname: "imap.mailbox.org",
786            port: 993,
787            username_pattern: Email,
788        },
789        Server {
790            protocol: Smtp,
791            socket: Ssl,
792            hostname: "smtp.mailbox.org",
793            port: 465,
794            username_pattern: Email,
795        },
796    ],
797    opt: ProviderOptions::new(),
798    config_defaults: None,
799    oauth2_authorizer: None,
800};
801
802// mailo.com.md: mailo.com
803static P_MAILO_COM: Provider = Provider {
804    id: "mailo.com",
805    status: Status::Ok,
806    before_login_hint: "",
807    after_login_hint: "",
808    overview_page: "https://providers.delta.chat/mailo-com",
809    server: &[
810        Server {
811            protocol: Imap,
812            socket: Ssl,
813            hostname: "imap.mailo.com",
814            port: 993,
815            username_pattern: Email,
816        },
817        Server {
818            protocol: Smtp,
819            socket: Ssl,
820            hostname: "smtp.mailo.com",
821            port: 465,
822            username_pattern: Email,
823        },
824    ],
825    opt: ProviderOptions::new(),
826    config_defaults: None,
827    oauth2_authorizer: None,
828};
829
830// migadu.md: migadu.com
831static P_MIGADU: Provider = Provider {
832    id: "migadu",
833    status: Status::Ok,
834    before_login_hint: "",
835    after_login_hint: "",
836    overview_page: "https://providers.delta.chat/migadu",
837    server: &[
838        Server {
839            protocol: Imap,
840            socket: Ssl,
841            hostname: "imap.migadu.com",
842            port: 993,
843            username_pattern: Email,
844        },
845        Server {
846            protocol: Smtp,
847            socket: Ssl,
848            hostname: "smtp.migadu.com",
849            port: 465,
850            username_pattern: Email,
851        },
852        Server {
853            protocol: Smtp,
854            socket: Starttls,
855            hostname: "smtp.migadu.com",
856            port: 587,
857            username_pattern: Email,
858        },
859    ],
860    opt: ProviderOptions::new(),
861    config_defaults: None,
862    oauth2_authorizer: None,
863};
864
865// nauta.cu.md: nauta.cu
866static P_NAUTA_CU: Provider = Provider {
867    id: "nauta.cu",
868    status: Status::Ok,
869    before_login_hint: "",
870    after_login_hint: "",
871    overview_page: "https://providers.delta.chat/nauta-cu",
872    server: &[
873        Server {
874            protocol: Imap,
875            socket: Starttls,
876            hostname: "imap.nauta.cu",
877            port: 143,
878            username_pattern: Email,
879        },
880        Server {
881            protocol: Smtp,
882            socket: Starttls,
883            hostname: "smtp.nauta.cu",
884            port: 25,
885            username_pattern: Email,
886        },
887    ],
888    opt: ProviderOptions {
889        max_smtp_rcpt_to: Some(20),
890        strict_tls: false,
891        ..ProviderOptions::new()
892    },
893    config_defaults: Some(&[
894        ConfigDefault {
895            key: Config::DeleteServerAfter,
896            value: "1",
897        },
898        ConfigDefault {
899            key: Config::MediaQuality,
900            value: "1",
901        },
902    ]),
903    oauth2_authorizer: None,
904};
905
906// naver.md: naver.com
907static P_NAVER: Provider = Provider {
908    id: "naver",
909    status: Status::Preparation,
910    before_login_hint: "Manually enabling IMAP/SMTP is required.",
911    after_login_hint: "",
912    overview_page: "https://providers.delta.chat/naver",
913    server: &[
914        Server {
915            protocol: Imap,
916            socket: Ssl,
917            hostname: "imap.naver.com",
918            port: 993,
919            username_pattern: Emaillocalpart,
920        },
921        Server {
922            protocol: Smtp,
923            socket: Starttls,
924            hostname: "smtp.naver.com",
925            port: 587,
926            username_pattern: Email,
927        },
928    ],
929    opt: ProviderOptions::new(),
930    config_defaults: None,
931    oauth2_authorizer: None,
932};
933
934// nine.testrun.org.md: nine.testrun.org
935static P_NINE_TESTRUN_ORG: Provider = Provider {
936    id: "nine.testrun.org",
937    status: Status::Ok,
938    before_login_hint: "",
939    after_login_hint: "",
940    overview_page: "https://providers.delta.chat/nine-testrun-org",
941    server: &[
942        Server {
943            protocol: Imap,
944            socket: Ssl,
945            hostname: "nine.testrun.org",
946            port: 443,
947            username_pattern: Email,
948        },
949        Server {
950            protocol: Smtp,
951            socket: Ssl,
952            hostname: "nine.testrun.org",
953            port: 443,
954            username_pattern: Email,
955        },
956        Server {
957            protocol: Imap,
958            socket: Ssl,
959            hostname: "nine.testrun.org",
960            port: 993,
961            username_pattern: Email,
962        },
963        Server {
964            protocol: Smtp,
965            socket: Ssl,
966            hostname: "nine.testrun.org",
967            port: 465,
968            username_pattern: Email,
969        },
970        Server {
971            protocol: Imap,
972            socket: Starttls,
973            hostname: "nine.testrun.org",
974            port: 143,
975            username_pattern: Email,
976        },
977        Server {
978            protocol: Smtp,
979            socket: Starttls,
980            hostname: "nine.testrun.org",
981            port: 587,
982            username_pattern: Email,
983        },
984    ],
985    opt: ProviderOptions::new(),
986    config_defaults: None,
987    oauth2_authorizer: None,
988};
989
990// nubo.coop.md: nubo.coop
991static P_NUBO_COOP: Provider = Provider {
992    id: "nubo.coop",
993    status: Status::Ok,
994    before_login_hint: "",
995    after_login_hint: "",
996    overview_page: "https://providers.delta.chat/nubo-coop",
997    server: &[
998        Server {
999            protocol: Imap,
1000            socket: Ssl,
1001            hostname: "mail.nubo.coop",
1002            port: 993,
1003            username_pattern: Email,
1004        },
1005        Server {
1006            protocol: Smtp,
1007            socket: Ssl,
1008            hostname: "mail.nubo.coop",
1009            port: 465,
1010            username_pattern: Email,
1011        },
1012    ],
1013    opt: ProviderOptions::new(),
1014    config_defaults: None,
1015    oauth2_authorizer: None,
1016};
1017
1018// outlook.com.md: hotmail.com, outlook.com, office365.com, outlook.com.tr, live.com, outlook.de
1019static P_OUTLOOK_COM: Provider = Provider {
1020    id: "outlook.com",
1021    status: Status::Broken,
1022    before_login_hint: "Unfortunately, Outlook does not allow using passwords anymore, per-app-passwords are currently not working.",
1023    after_login_hint: "",
1024    overview_page: "https://providers.delta.chat/outlook-com",
1025    server: &[
1026        Server {
1027            protocol: Imap,
1028            socket: Ssl,
1029            hostname: "outlook.office365.com",
1030            port: 993,
1031            username_pattern: Email,
1032        },
1033        Server {
1034            protocol: Smtp,
1035            socket: Starttls,
1036            hostname: "smtp.office365.com",
1037            port: 587,
1038            username_pattern: Email,
1039        },
1040    ],
1041    opt: ProviderOptions::new(),
1042    config_defaults: None,
1043    oauth2_authorizer: None,
1044};
1045
1046// ouvaton.coop.md: ouvaton.org
1047static P_OUVATON_COOP: Provider = Provider {
1048    id: "ouvaton.coop",
1049    status: Status::Ok,
1050    before_login_hint: "",
1051    after_login_hint: "",
1052    overview_page: "https://providers.delta.chat/ouvaton-coop",
1053    server: &[
1054        Server {
1055            protocol: Imap,
1056            socket: Ssl,
1057            hostname: "imap.ouvaton.coop",
1058            port: 993,
1059            username_pattern: Email,
1060        },
1061        Server {
1062            protocol: Smtp,
1063            socket: Ssl,
1064            hostname: "smtp.ouvaton.coop",
1065            port: 465,
1066            username_pattern: Email,
1067        },
1068    ],
1069    opt: ProviderOptions::new(),
1070    config_defaults: None,
1071    oauth2_authorizer: None,
1072};
1073
1074// posteo.md: posteo.de, posteo.af, posteo.at, posteo.be, posteo.ca, posteo.ch, posteo.cl, posteo.co, posteo.co.uk, posteo.com, posteo.com.br, posteo.cr, posteo.cz, posteo.dk, posteo.ee, posteo.es, posteo.eu, posteo.fi, posteo.gl, posteo.gr, posteo.hn, posteo.hr, posteo.hu, posteo.ie, posteo.in, posteo.is, posteo.it, posteo.jp, posteo.la, posteo.li, posteo.lt, posteo.lu, posteo.me, posteo.mx, posteo.my, posteo.net, posteo.nl, posteo.no, posteo.nz, posteo.org, posteo.pe, posteo.pl, posteo.pm, posteo.pt, posteo.ro, posteo.ru, posteo.se, posteo.sg, posteo.si, posteo.tn, posteo.uk, posteo.us
1075static P_POSTEO: Provider = Provider {
1076    id: "posteo",
1077    status: Status::Preparation,
1078    before_login_hint: "You must create an app-specific password before you can log in.",
1079    after_login_hint: "",
1080    overview_page: "https://providers.delta.chat/posteo",
1081    server: &[
1082        Server {
1083            protocol: Imap,
1084            socket: Ssl,
1085            hostname: "posteo.de",
1086            port: 993,
1087            username_pattern: Email,
1088        },
1089        Server {
1090            protocol: Imap,
1091            socket: Starttls,
1092            hostname: "posteo.de",
1093            port: 143,
1094            username_pattern: Email,
1095        },
1096        Server {
1097            protocol: Smtp,
1098            socket: Ssl,
1099            hostname: "posteo.de",
1100            port: 465,
1101            username_pattern: Email,
1102        },
1103        Server {
1104            protocol: Smtp,
1105            socket: Starttls,
1106            hostname: "posteo.de",
1107            port: 587,
1108            username_pattern: Email,
1109        },
1110    ],
1111    opt: ProviderOptions::new(),
1112    config_defaults: None,
1113    oauth2_authorizer: None,
1114};
1115
1116// protonmail.md: protonmail.com, protonmail.ch, pm.me
1117static P_PROTONMAIL: Provider = Provider {
1118    id: "protonmail",
1119    status: Status::Broken,
1120    before_login_hint: "Protonmail does not offer the standard IMAP e-mail protocol, so you cannot log in with to Protonmail.",
1121    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.",
1122    overview_page: "https://providers.delta.chat/protonmail",
1123    server: &[],
1124    opt: ProviderOptions::new(),
1125    config_defaults: None,
1126    oauth2_authorizer: None,
1127};
1128
1129// purelymail.com.md: purelymail.com, cheapermail.com, placeq.com, rethinkmail.com, worldofmail.com
1130static P_PURELYMAIL_COM: Provider = Provider {
1131    id: "purelymail.com",
1132    status: Status::Ok,
1133    before_login_hint: "",
1134    after_login_hint: "",
1135    overview_page: "https://providers.delta.chat/purelymail-com",
1136    server: &[
1137        Server {
1138            protocol: Imap,
1139            socket: Ssl,
1140            hostname: "imap.purelymail.com",
1141            port: 993,
1142            username_pattern: Email,
1143        },
1144        Server {
1145            protocol: Smtp,
1146            socket: Ssl,
1147            hostname: "smtp.purelymail.com",
1148            port: 465,
1149            username_pattern: Email,
1150        },
1151    ],
1152    opt: ProviderOptions::new(),
1153    config_defaults: None,
1154    oauth2_authorizer: None,
1155};
1156
1157// qq.md: qq.com, foxmail.com
1158static P_QQ: Provider = Provider {
1159    id: "qq",
1160    status: Status::Preparation,
1161    before_login_hint: "Manually enabling IMAP/SMTP and creating an app-specific password are required.",
1162    after_login_hint: "",
1163    overview_page: "https://providers.delta.chat/qq",
1164    server: &[
1165        Server {
1166            protocol: Imap,
1167            socket: Ssl,
1168            hostname: "imap.qq.com",
1169            port: 993,
1170            username_pattern: Emaillocalpart,
1171        },
1172        Server {
1173            protocol: Smtp,
1174            socket: Ssl,
1175            hostname: "smtp.qq.com",
1176            port: 465,
1177            username_pattern: Email,
1178        },
1179    ],
1180    opt: ProviderOptions::new(),
1181    config_defaults: None,
1182    oauth2_authorizer: None,
1183};
1184
1185// rambler.ru.md: rambler.ru, autorambler.ru, myrambler.ru, rambler.ua, lenta.ru, ro.ru, r0.ru
1186static P_RAMBLER_RU: Provider = Provider {
1187    id: "rambler.ru",
1188    status: Status::Preparation,
1189    before_login_hint: "Чтобы войти в Рамблер/почта, необходимо предварительно включить доступ с помощью почтовых клиентов на сайте mail.rambler.ru",
1190    after_login_hint: "",
1191    overview_page: "https://providers.delta.chat/rambler-ru",
1192    server: &[
1193        Server {
1194            protocol: Imap,
1195            socket: Ssl,
1196            hostname: "imap.rambler.ru",
1197            port: 993,
1198            username_pattern: Email,
1199        },
1200        Server {
1201            protocol: Smtp,
1202            socket: Ssl,
1203            hostname: "smtp.rambler.ru",
1204            port: 465,
1205            username_pattern: Email,
1206        },
1207        Server {
1208            protocol: Imap,
1209            socket: Starttls,
1210            hostname: "imap.rambler.ru",
1211            port: 143,
1212            username_pattern: Email,
1213        },
1214    ],
1215    opt: ProviderOptions::new(),
1216    config_defaults: None,
1217    oauth2_authorizer: None,
1218};
1219
1220// riseup.net.md: riseup.net
1221static P_RISEUP_NET: Provider = Provider {
1222    id: "riseup.net",
1223    status: Status::Ok,
1224    before_login_hint: "",
1225    after_login_hint: "",
1226    overview_page: "https://providers.delta.chat/riseup-net",
1227    server: &[
1228        Server {
1229            protocol: Imap,
1230            socket: Ssl,
1231            hostname: "mail.riseup.net",
1232            port: 993,
1233            username_pattern: Email,
1234        },
1235        Server {
1236            protocol: Smtp,
1237            socket: Ssl,
1238            hostname: "mail.riseup.net",
1239            port: 465,
1240            username_pattern: Email,
1241        },
1242    ],
1243    opt: ProviderOptions::new(),
1244    config_defaults: None,
1245    oauth2_authorizer: None,
1246};
1247
1248// rogers.com.md: rogers.com
1249static P_ROGERS_COM: Provider = Provider {
1250    id: "rogers.com",
1251    status: Status::Ok,
1252    before_login_hint: "",
1253    after_login_hint: "",
1254    overview_page: "https://providers.delta.chat/rogers-com",
1255    server: &[],
1256    opt: ProviderOptions::new(),
1257    config_defaults: None,
1258    oauth2_authorizer: None,
1259};
1260
1261// sonic.md: sonic.net
1262static P_SONIC: Provider = Provider {
1263    id: "sonic",
1264    status: Status::Ok,
1265    before_login_hint: "",
1266    after_login_hint: "",
1267    overview_page: "https://providers.delta.chat/sonic",
1268    server: &[],
1269    opt: ProviderOptions::new(),
1270    config_defaults: None,
1271    oauth2_authorizer: None,
1272};
1273
1274// stinpriza.net.md: stinpriza.net, stinpriza.eu, el-hoyo.net
1275static P_STINPRIZA_NET: Provider = Provider {
1276    id: "stinpriza.net",
1277    status: Status::Ok,
1278    before_login_hint: "",
1279    after_login_hint: "",
1280    overview_page: "https://providers.delta.chat/stinpriza-net",
1281    server: &[
1282        Server {
1283            protocol: Imap,
1284            socket: Starttls,
1285            hostname: "stinpriza.net",
1286            port: 143,
1287            username_pattern: Email,
1288        },
1289        Server {
1290            protocol: Smtp,
1291            socket: Starttls,
1292            hostname: "stinpriza.net",
1293            port: 587,
1294            username_pattern: Email,
1295        },
1296    ],
1297    opt: ProviderOptions {
1298        strict_tls: true,
1299        ..ProviderOptions::new()
1300    },
1301    config_defaults: None,
1302    oauth2_authorizer: None,
1303};
1304
1305// systemausfall.org.md: systemausfall.org, solidaris.me
1306static P_SYSTEMAUSFALL_ORG: Provider = Provider {
1307    id: "systemausfall.org",
1308    status: Status::Ok,
1309    before_login_hint: "",
1310    after_login_hint: "",
1311    overview_page: "https://providers.delta.chat/systemausfall-org",
1312    server: &[
1313        Server {
1314            protocol: Imap,
1315            socket: Ssl,
1316            hostname: "mail.systemausfall.org",
1317            port: 993,
1318            username_pattern: Email,
1319        },
1320        Server {
1321            protocol: Smtp,
1322            socket: Ssl,
1323            hostname: "mail.systemausfall.org",
1324            port: 465,
1325            username_pattern: Email,
1326        },
1327    ],
1328    opt: ProviderOptions::new(),
1329    config_defaults: None,
1330    oauth2_authorizer: None,
1331};
1332
1333// systemli.org.md: systemli.org
1334static P_SYSTEMLI_ORG: Provider = Provider {
1335    id: "systemli.org",
1336    status: Status::Ok,
1337    before_login_hint: "",
1338    after_login_hint: "",
1339    overview_page: "https://providers.delta.chat/systemli-org",
1340    server: &[
1341        Server {
1342            protocol: Imap,
1343            socket: Ssl,
1344            hostname: "mail.systemli.org",
1345            port: 993,
1346            username_pattern: Email,
1347        },
1348        Server {
1349            protocol: Smtp,
1350            socket: Ssl,
1351            hostname: "mail.systemli.org",
1352            port: 465,
1353            username_pattern: Email,
1354        },
1355    ],
1356    opt: ProviderOptions::new(),
1357    config_defaults: None,
1358    oauth2_authorizer: None,
1359};
1360
1361// t-online.md: t-online.de, magenta.de
1362static P_T_ONLINE: Provider = Provider {
1363    id: "t-online",
1364    status: Status::Preparation,
1365    before_login_hint: "To use a T-Online email address, you need to create an app password in the web interface.",
1366    after_login_hint: "",
1367    overview_page: "https://providers.delta.chat/t-online",
1368    server: &[
1369        Server {
1370            protocol: Imap,
1371            socket: Ssl,
1372            hostname: "secureimap.t-online.de",
1373            port: 993,
1374            username_pattern: Email,
1375        },
1376        Server {
1377            protocol: Smtp,
1378            socket: Ssl,
1379            hostname: "securesmtp.t-online.de",
1380            port: 465,
1381            username_pattern: Email,
1382        },
1383    ],
1384    opt: ProviderOptions::new(),
1385    config_defaults: None,
1386    oauth2_authorizer: None,
1387};
1388
1389// tiscali.it.md: tiscali.it
1390static P_TISCALI_IT: Provider = Provider {
1391    id: "tiscali.it",
1392    status: Status::Ok,
1393    before_login_hint: "",
1394    after_login_hint: "",
1395    overview_page: "https://providers.delta.chat/tiscali-it",
1396    server: &[
1397        Server {
1398            protocol: Imap,
1399            socket: Ssl,
1400            hostname: "imap.tiscali.it",
1401            port: 993,
1402            username_pattern: Email,
1403        },
1404        Server {
1405            protocol: Smtp,
1406            socket: Ssl,
1407            hostname: "smtp.tiscali.it",
1408            port: 465,
1409            username_pattern: Email,
1410        },
1411    ],
1412    opt: ProviderOptions::new(),
1413    config_defaults: None,
1414    oauth2_authorizer: None,
1415};
1416
1417// tutanota.md: tutanota.com, tutanota.de, tutamail.com, tuta.io, keemail.me
1418static P_TUTANOTA: Provider = Provider {
1419    id: "tutanota",
1420    status: Status::Broken,
1421    before_login_hint: "Tutanota does not offer the standard IMAP e-mail protocol, so you cannot log in to Tutanota.",
1422    after_login_hint: "",
1423    overview_page: "https://providers.delta.chat/tutanota",
1424    server: &[],
1425    opt: ProviderOptions::new(),
1426    config_defaults: None,
1427    oauth2_authorizer: None,
1428};
1429
1430// ukr.net.md: ukr.net
1431static P_UKR_NET: Provider = Provider {
1432    id: "ukr.net",
1433    status: Status::Preparation,
1434    before_login_hint: "You must allow IMAP access to your account before you can login.",
1435    after_login_hint: "",
1436    overview_page: "https://providers.delta.chat/ukr-net",
1437    server: &[
1438        Server {
1439            protocol: Imap,
1440            socket: Ssl,
1441            hostname: "imap.ukr.net",
1442            port: 993,
1443            username_pattern: Email,
1444        },
1445        Server {
1446            protocol: Smtp,
1447            socket: Ssl,
1448            hostname: "smtp.ukr.net",
1449            port: 465,
1450            username_pattern: Email,
1451        },
1452    ],
1453    opt: ProviderOptions::new(),
1454    config_defaults: None,
1455    oauth2_authorizer: None,
1456};
1457
1458// undernet.uy.md: undernet.uy
1459static P_UNDERNET_UY: Provider = Provider {
1460    id: "undernet.uy",
1461    status: Status::Ok,
1462    before_login_hint: "",
1463    after_login_hint: "",
1464    overview_page: "https://providers.delta.chat/undernet-uy",
1465    server: &[
1466        Server {
1467            protocol: Imap,
1468            socket: Starttls,
1469            hostname: "undernet.uy",
1470            port: 143,
1471            username_pattern: Email,
1472        },
1473        Server {
1474            protocol: Smtp,
1475            socket: Starttls,
1476            hostname: "undernet.uy",
1477            port: 587,
1478            username_pattern: Email,
1479        },
1480    ],
1481    opt: ProviderOptions::new(),
1482    config_defaults: None,
1483    oauth2_authorizer: None,
1484};
1485
1486// vfemail.md: vfemail.net
1487static P_VFEMAIL: Provider = Provider {
1488    id: "vfemail",
1489    status: Status::Ok,
1490    before_login_hint: "",
1491    after_login_hint: "",
1492    overview_page: "https://providers.delta.chat/vfemail",
1493    server: &[],
1494    opt: ProviderOptions::new(),
1495    config_defaults: None,
1496    oauth2_authorizer: None,
1497};
1498
1499// vivaldi.md: vivaldi.net
1500static P_VIVALDI: Provider = Provider {
1501    id: "vivaldi",
1502    status: Status::Ok,
1503    before_login_hint: "",
1504    after_login_hint: "",
1505    overview_page: "https://providers.delta.chat/vivaldi",
1506    server: &[
1507        Server {
1508            protocol: Imap,
1509            socket: Starttls,
1510            hostname: "imap.vivaldi.net",
1511            port: 143,
1512            username_pattern: Email,
1513        },
1514        Server {
1515            protocol: Smtp,
1516            socket: Starttls,
1517            hostname: "smtp.vivaldi.net",
1518            port: 587,
1519            username_pattern: Email,
1520        },
1521    ],
1522    opt: ProviderOptions::new(),
1523    config_defaults: None,
1524    oauth2_authorizer: None,
1525};
1526
1527// vk.com.md: vk.com
1528static P_VK_COM: Provider = Provider {
1529    id: "vk.com",
1530    status: Status::Preparation,
1531    before_login_hint: "Вам необходимо сгенерировать \"пароль для внешнего приложения\" в веб-интерфейсе mail.ru https://account.mail.ru/user/2-step-auth/passwords/ чтобы vk.com работал с chatmail.",
1532    after_login_hint: "",
1533    overview_page: "https://providers.delta.chat/vk-com",
1534    server: &[
1535        Server {
1536            protocol: Imap,
1537            socket: Ssl,
1538            hostname: "imap.mail.ru",
1539            port: 993,
1540            username_pattern: Email,
1541        },
1542        Server {
1543            protocol: Smtp,
1544            socket: Ssl,
1545            hostname: "smtp.mail.ru",
1546            port: 465,
1547            username_pattern: Email,
1548        },
1549    ],
1550    opt: ProviderOptions::new(),
1551    config_defaults: None,
1552    oauth2_authorizer: None,
1553};
1554
1555// vodafone.de.md: vodafone.de, vodafonemail.de
1556static P_VODAFONE_DE: Provider = Provider {
1557    id: "vodafone.de",
1558    status: Status::Ok,
1559    before_login_hint: "",
1560    after_login_hint: "",
1561    overview_page: "https://providers.delta.chat/vodafone-de",
1562    server: &[
1563        Server {
1564            protocol: Imap,
1565            socket: Ssl,
1566            hostname: "imap.vodafonemail.de",
1567            port: 993,
1568            username_pattern: Email,
1569        },
1570        Server {
1571            protocol: Smtp,
1572            socket: Starttls,
1573            hostname: "smtp.vodafonemail.de",
1574            port: 587,
1575            username_pattern: Email,
1576        },
1577    ],
1578    opt: ProviderOptions::new(),
1579    config_defaults: None,
1580    oauth2_authorizer: None,
1581};
1582
1583// web.de.md: web.de, email.de, flirt.ms, hallo.ms, kuss.ms, love.ms, magic.ms, singles.ms, cool.ms, kanzler.ms, okay.ms, party.ms, pop.ms, stars.ms, techno.ms, clever.ms, deutschland.ms, genial.ms, ich.ms, online.ms, smart.ms, wichtig.ms, action.ms, fussball.ms, joker.ms, planet.ms, power.ms
1584static P_WEB_DE: Provider = Provider {
1585    id: "web.de",
1586    status: Status::Preparation,
1587    before_login_hint: "You must allow IMAP access to your account before you can login.",
1588    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",
1589    overview_page: "https://providers.delta.chat/web-de",
1590    server: &[
1591        Server {
1592            protocol: Imap,
1593            socket: Ssl,
1594            hostname: "imap.web.de",
1595            port: 993,
1596            username_pattern: Emaillocalpart,
1597        },
1598        Server {
1599            protocol: Imap,
1600            socket: Starttls,
1601            hostname: "imap.web.de",
1602            port: 143,
1603            username_pattern: Emaillocalpart,
1604        },
1605        Server {
1606            protocol: Smtp,
1607            socket: Starttls,
1608            hostname: "smtp.web.de",
1609            port: 587,
1610            username_pattern: Emaillocalpart,
1611        },
1612    ],
1613    opt: ProviderOptions::new(),
1614    config_defaults: None,
1615    oauth2_authorizer: None,
1616};
1617
1618// wkpb.de.md: wkpb.de
1619static P_WKPB_DE: Provider = Provider {
1620    id: "wkpb.de",
1621    status: Status::Preparation,
1622    before_login_hint: "Dies sind die gleichen Anmeldedaten wie bei Moodle und Abitur-Online.",
1623    after_login_hint: "",
1624    overview_page: "https://providers.delta.chat/wkpb-de",
1625    server: &[
1626        Server {
1627            protocol: Imap,
1628            socket: Ssl,
1629            hostname: "pimap.schulon.org",
1630            port: 993,
1631            username_pattern: Email,
1632        },
1633        Server {
1634            protocol: Smtp,
1635            socket: Ssl,
1636            hostname: "psmtp.schulon.org",
1637            port: 465,
1638            username_pattern: Email,
1639        },
1640    ],
1641    opt: ProviderOptions::new(),
1642    config_defaults: None,
1643    oauth2_authorizer: None,
1644};
1645
1646// 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, myyahoo.com, ymail.com, rocketmail.com, yahoodns.net
1647static P_YAHOO: Provider = Provider {
1648    id: "yahoo",
1649    status: Status::Preparation,
1650    before_login_hint: "To use your Yahoo email address you have to create an app password in the Yahoo account security screen.",
1651    after_login_hint: "",
1652    overview_page: "https://providers.delta.chat/yahoo",
1653    server: &[
1654        Server {
1655            protocol: Imap,
1656            socket: Ssl,
1657            hostname: "imap.mail.yahoo.com",
1658            port: 993,
1659            username_pattern: Email,
1660        },
1661        Server {
1662            protocol: Smtp,
1663            socket: Ssl,
1664            hostname: "smtp.mail.yahoo.com",
1665            port: 465,
1666            username_pattern: Email,
1667        },
1668    ],
1669    opt: ProviderOptions::new(),
1670    config_defaults: None,
1671    oauth2_authorizer: None,
1672};
1673
1674// yandex.ru.md: yandex.com, yandex.by, yandex.kz, yandex.ru, yandex.ua, ya.ru, narod.ru
1675static P_YANDEX_RU: Provider = Provider {
1676    id: "yandex.ru",
1677    status: Status::Preparation,
1678    before_login_hint: "For Yandex accounts, you have to set IMAP protocol option turned on.",
1679    after_login_hint: "",
1680    overview_page: "https://providers.delta.chat/yandex-ru",
1681    server: &[
1682        Server {
1683            protocol: Imap,
1684            socket: Ssl,
1685            hostname: "imap.yandex.com",
1686            port: 993,
1687            username_pattern: Email,
1688        },
1689        Server {
1690            protocol: Smtp,
1691            socket: Ssl,
1692            hostname: "smtp.yandex.com",
1693            port: 465,
1694            username_pattern: Email,
1695        },
1696    ],
1697    opt: ProviderOptions::new(),
1698    config_defaults: None,
1699    oauth2_authorizer: Some(Oauth2Authorizer::Yandex),
1700};
1701
1702// yggmail.md: yggmail
1703static P_YGGMAIL: Provider = Provider {
1704    id: "yggmail",
1705    status: Status::Preparation,
1706    before_login_hint: "An Yggmail companion app needs to be installed on your device to access the Yggmail network.",
1707    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.",
1708    overview_page: "https://providers.delta.chat/yggmail",
1709    server: &[
1710        Server {
1711            protocol: Imap,
1712            socket: Plain,
1713            hostname: "localhost",
1714            port: 1143,
1715            username_pattern: Email,
1716        },
1717        Server {
1718            protocol: Smtp,
1719            socket: Plain,
1720            hostname: "localhost",
1721            port: 1025,
1722            username_pattern: Email,
1723        },
1724    ],
1725    opt: ProviderOptions::new(),
1726    config_defaults: None,
1727    oauth2_authorizer: None,
1728};
1729
1730// ziggo.nl.md: ziggo.nl
1731static P_ZIGGO_NL: Provider = Provider {
1732    id: "ziggo.nl",
1733    status: Status::Ok,
1734    before_login_hint: "",
1735    after_login_hint: "",
1736    overview_page: "https://providers.delta.chat/ziggo-nl",
1737    server: &[
1738        Server {
1739            protocol: Imap,
1740            socket: Ssl,
1741            hostname: "imap.ziggo.nl",
1742            port: 993,
1743            username_pattern: Email,
1744        },
1745        Server {
1746            protocol: Smtp,
1747            socket: Starttls,
1748            hostname: "smtp.ziggo.nl",
1749            port: 587,
1750            username_pattern: Email,
1751        },
1752    ],
1753    opt: ProviderOptions::new(),
1754    config_defaults: None,
1755    oauth2_authorizer: None,
1756};
1757
1758// zoho.md: zohomail.eu, zohomail.com, zoho.com
1759static P_ZOHO: Provider = Provider {
1760    id: "zoho",
1761    status: Status::Preparation,
1762    before_login_hint: "To use Zoho Mail, you have to turn on IMAP in the Zoho Mail backend.",
1763    after_login_hint: "",
1764    overview_page: "https://providers.delta.chat/zoho",
1765    server: &[
1766        Server {
1767            protocol: Imap,
1768            socket: Ssl,
1769            hostname: "imap.zoho.eu",
1770            port: 993,
1771            username_pattern: Email,
1772        },
1773        Server {
1774            protocol: Smtp,
1775            socket: Ssl,
1776            hostname: "smtp.zoho.eu",
1777            port: 465,
1778            username_pattern: Email,
1779        },
1780    ],
1781    opt: ProviderOptions::new(),
1782    config_defaults: None,
1783    oauth2_authorizer: None,
1784};
1785
1786pub(crate) static PROVIDER_DATA: [(&str, &Provider); 521] = [
1787    ("163.com", &P_163),
1788    ("aktivix.org", &P_AKTIVIX_ORG),
1789    ("aliyun.com", &P_ALIYUN),
1790    ("aol.com", &P_AOL),
1791    ("arcor.de", &P_ARCOR_DE),
1792    ("autistici.org", &P_AUTISTICI_ORG),
1793    ("delta.blinzeln.de", &P_BLINDZELN_ORG),
1794    ("delta.blindzeln.org", &P_BLINDZELN_ORG),
1795    ("bluewin.ch", &P_BLUEWIN_CH),
1796    ("chello.at", &P_CHELLO_AT),
1797    ("xfinity.com", &P_COMCAST),
1798    ("comcast.net", &P_COMCAST),
1799    ("dismail.de", &P_DISMAIL_DE),
1800    ("disroot.org", &P_DISROOT),
1801    ("e.email", &P_E_EMAIL),
1802    ("espiv.net", &P_ESPIV_NET),
1803    ("example.com", &P_EXAMPLE_COM),
1804    ("example.org", &P_EXAMPLE_COM),
1805    ("example.net", &P_EXAMPLE_COM),
1806    ("123mail.org", &P_FASTMAIL),
1807    ("150mail.com", &P_FASTMAIL),
1808    ("150ml.com", &P_FASTMAIL),
1809    ("16mail.com", &P_FASTMAIL),
1810    ("2-mail.com", &P_FASTMAIL),
1811    ("4email.net", &P_FASTMAIL),
1812    ("50mail.com", &P_FASTMAIL),
1813    ("airpost.net", &P_FASTMAIL),
1814    ("allmail.net", &P_FASTMAIL),
1815    ("bestmail.us", &P_FASTMAIL),
1816    ("cluemail.com", &P_FASTMAIL),
1817    ("elitemail.org", &P_FASTMAIL),
1818    ("emailcorner.net", &P_FASTMAIL),
1819    ("emailengine.net", &P_FASTMAIL),
1820    ("emailengine.org", &P_FASTMAIL),
1821    ("emailgroups.net", &P_FASTMAIL),
1822    ("emailplus.org", &P_FASTMAIL),
1823    ("emailuser.net", &P_FASTMAIL),
1824    ("eml.cc", &P_FASTMAIL),
1825    ("f-m.fm", &P_FASTMAIL),
1826    ("fast-email.com", &P_FASTMAIL),
1827    ("fast-mail.org", &P_FASTMAIL),
1828    ("fastem.com", &P_FASTMAIL),
1829    ("fastemail.us", &P_FASTMAIL),
1830    ("fastemailer.com", &P_FASTMAIL),
1831    ("fastest.cc", &P_FASTMAIL),
1832    ("fastimap.com", &P_FASTMAIL),
1833    ("fastmail.cn", &P_FASTMAIL),
1834    ("fastmail.co.uk", &P_FASTMAIL),
1835    ("fastmail.com", &P_FASTMAIL),
1836    ("fastmail.com.au", &P_FASTMAIL),
1837    ("fastmail.de", &P_FASTMAIL),
1838    ("fastmail.es", &P_FASTMAIL),
1839    ("fastmail.fm", &P_FASTMAIL),
1840    ("fastmail.fr", &P_FASTMAIL),
1841    ("fastmail.im", &P_FASTMAIL),
1842    ("fastmail.in", &P_FASTMAIL),
1843    ("fastmail.jp", &P_FASTMAIL),
1844    ("fastmail.mx", &P_FASTMAIL),
1845    ("fastmail.net", &P_FASTMAIL),
1846    ("fastmail.nl", &P_FASTMAIL),
1847    ("fastmail.org", &P_FASTMAIL),
1848    ("fastmail.se", &P_FASTMAIL),
1849    ("fastmail.to", &P_FASTMAIL),
1850    ("fastmail.tw", &P_FASTMAIL),
1851    ("fastmail.uk", &P_FASTMAIL),
1852    ("fastmail.us", &P_FASTMAIL),
1853    ("fastmailbox.net", &P_FASTMAIL),
1854    ("fastmessaging.com", &P_FASTMAIL),
1855    ("fea.st", &P_FASTMAIL),
1856    ("fmail.co.uk", &P_FASTMAIL),
1857    ("fmailbox.com", &P_FASTMAIL),
1858    ("fmgirl.com", &P_FASTMAIL),
1859    ("fmguy.com", &P_FASTMAIL),
1860    ("ftml.net", &P_FASTMAIL),
1861    ("h-mail.us", &P_FASTMAIL),
1862    ("hailmail.net", &P_FASTMAIL),
1863    ("imap-mail.com", &P_FASTMAIL),
1864    ("imap.cc", &P_FASTMAIL),
1865    ("imapmail.org", &P_FASTMAIL),
1866    ("inoutbox.com", &P_FASTMAIL),
1867    ("internet-e-mail.com", &P_FASTMAIL),
1868    ("internet-mail.org", &P_FASTMAIL),
1869    ("internetemails.net", &P_FASTMAIL),
1870    ("internetmailing.net", &P_FASTMAIL),
1871    ("jetemail.net", &P_FASTMAIL),
1872    ("justemail.net", &P_FASTMAIL),
1873    ("letterboxes.org", &P_FASTMAIL),
1874    ("mail-central.com", &P_FASTMAIL),
1875    ("mail-page.com", &P_FASTMAIL),
1876    ("mailandftp.com", &P_FASTMAIL),
1877    ("mailas.com", &P_FASTMAIL),
1878    ("mailbolt.com", &P_FASTMAIL),
1879    ("mailc.net", &P_FASTMAIL),
1880    ("mailcan.com", &P_FASTMAIL),
1881    ("mailforce.net", &P_FASTMAIL),
1882    ("mailftp.com", &P_FASTMAIL),
1883    ("mailhaven.com", &P_FASTMAIL),
1884    ("mailingaddress.org", &P_FASTMAIL),
1885    ("mailite.com", &P_FASTMAIL),
1886    ("mailmight.com", &P_FASTMAIL),
1887    ("mailnew.com", &P_FASTMAIL),
1888    ("mailsent.net", &P_FASTMAIL),
1889    ("mailservice.ms", &P_FASTMAIL),
1890    ("mailup.net", &P_FASTMAIL),
1891    ("mailworks.org", &P_FASTMAIL),
1892    ("ml1.net", &P_FASTMAIL),
1893    ("mm.st", &P_FASTMAIL),
1894    ("myfastmail.com", &P_FASTMAIL),
1895    ("mymacmail.com", &P_FASTMAIL),
1896    ("nospammail.net", &P_FASTMAIL),
1897    ("ownmail.net", &P_FASTMAIL),
1898    ("petml.com", &P_FASTMAIL),
1899    ("postinbox.com", &P_FASTMAIL),
1900    ("postpro.net", &P_FASTMAIL),
1901    ("proinbox.com", &P_FASTMAIL),
1902    ("promessage.com", &P_FASTMAIL),
1903    ("realemail.net", &P_FASTMAIL),
1904    ("reallyfast.biz", &P_FASTMAIL),
1905    ("reallyfast.info", &P_FASTMAIL),
1906    ("rushpost.com", &P_FASTMAIL),
1907    ("sent.as", &P_FASTMAIL),
1908    ("sent.at", &P_FASTMAIL),
1909    ("sent.com", &P_FASTMAIL),
1910    ("speedpost.net", &P_FASTMAIL),
1911    ("speedymail.org", &P_FASTMAIL),
1912    ("ssl-mail.com", &P_FASTMAIL),
1913    ("swift-mail.com", &P_FASTMAIL),
1914    ("the-fastest.net", &P_FASTMAIL),
1915    ("the-quickest.com", &P_FASTMAIL),
1916    ("theinternetemail.com", &P_FASTMAIL),
1917    ("veryfast.biz", &P_FASTMAIL),
1918    ("veryspeedy.net", &P_FASTMAIL),
1919    ("warpmail.net", &P_FASTMAIL),
1920    ("xsmail.com", &P_FASTMAIL),
1921    ("yepmail.net", &P_FASTMAIL),
1922    ("your-mail.com", &P_FASTMAIL),
1923    ("firemail.at", &P_FIREMAIL_DE),
1924    ("firemail.de", &P_FIREMAIL_DE),
1925    ("freenet.de", &P_FREENET_DE),
1926    ("gmail.com", &P_GMAIL),
1927    ("googlemail.com", &P_GMAIL),
1928    ("google.com", &P_GMAIL),
1929    ("gmx.net", &P_GMX_NET),
1930    ("gmx.de", &P_GMX_NET),
1931    ("gmx.at", &P_GMX_NET),
1932    ("gmx.ch", &P_GMX_NET),
1933    ("gmx.org", &P_GMX_NET),
1934    ("gmx.eu", &P_GMX_NET),
1935    ("gmx.info", &P_GMX_NET),
1936    ("gmx.biz", &P_GMX_NET),
1937    ("gmx.com", &P_GMX_NET),
1938    ("*.hermes.radio", &P_HERMES_RADIO),
1939    ("*.aco-connexion.org", &P_HERMES_RADIO),
1940    ("hey.com", &P_HEY_COM),
1941    ("i.ua", &P_I_UA),
1942    ("i3.net", &P_I3_NET),
1943    ("icloud.com", &P_ICLOUD),
1944    ("me.com", &P_ICLOUD),
1945    ("mac.com", &P_ICLOUD),
1946    ("ik.me", &P_INFOMANIAK_COM),
1947    ("kolst.com", &P_KOLST_COM),
1948    ("kontent.com", &P_KONTENT_COM),
1949    ("email.com", &P_MAIL_COM),
1950    ("groupmail.com", &P_MAIL_COM),
1951    ("post.com", &P_MAIL_COM),
1952    ("homemail.com", &P_MAIL_COM),
1953    ("housemail.com", &P_MAIL_COM),
1954    ("writeme.com", &P_MAIL_COM),
1955    ("mail.com", &P_MAIL_COM),
1956    ("mail-me.com", &P_MAIL_COM),
1957    ("workmail.com", &P_MAIL_COM),
1958    ("accountant.com", &P_MAIL_COM),
1959    ("activist.com", &P_MAIL_COM),
1960    ("adexec.com", &P_MAIL_COM),
1961    ("allergist.com", &P_MAIL_COM),
1962    ("alumni.com", &P_MAIL_COM),
1963    ("alumnidirector.com", &P_MAIL_COM),
1964    ("archaeologist.com", &P_MAIL_COM),
1965    ("auctioneer.net", &P_MAIL_COM),
1966    ("bartender.net", &P_MAIL_COM),
1967    ("brew-master.com", &P_MAIL_COM),
1968    ("chef.net", &P_MAIL_COM),
1969    ("chemist.com", &P_MAIL_COM),
1970    ("collector.org", &P_MAIL_COM),
1971    ("columnist.com", &P_MAIL_COM),
1972    ("comic.com", &P_MAIL_COM),
1973    ("consultant.com", &P_MAIL_COM),
1974    ("contractor.net", &P_MAIL_COM),
1975    ("counsellor.com", &P_MAIL_COM),
1976    ("deliveryman.com", &P_MAIL_COM),
1977    ("diplomats.com", &P_MAIL_COM),
1978    ("dr.com", &P_MAIL_COM),
1979    ("engineer.com", &P_MAIL_COM),
1980    ("financier.com", &P_MAIL_COM),
1981    ("fireman.net", &P_MAIL_COM),
1982    ("gardener.com", &P_MAIL_COM),
1983    ("geologist.com", &P_MAIL_COM),
1984    ("graphic-designer.com", &P_MAIL_COM),
1985    ("graduate.org", &P_MAIL_COM),
1986    ("hairdresser.net", &P_MAIL_COM),
1987    ("instructor.net", &P_MAIL_COM),
1988    ("insurer.com", &P_MAIL_COM),
1989    ("journalist.com", &P_MAIL_COM),
1990    ("legislator.com", &P_MAIL_COM),
1991    ("lobbyist.com", &P_MAIL_COM),
1992    ("minister.com", &P_MAIL_COM),
1993    ("musician.org", &P_MAIL_COM),
1994    ("optician.com", &P_MAIL_COM),
1995    ("orthodontist.net", &P_MAIL_COM),
1996    ("pediatrician.com", &P_MAIL_COM),
1997    ("photographer.net", &P_MAIL_COM),
1998    ("physicist.net", &P_MAIL_COM),
1999    ("politician.com", &P_MAIL_COM),
2000    ("presidency.com", &P_MAIL_COM),
2001    ("priest.com", &P_MAIL_COM),
2002    ("programmer.net", &P_MAIL_COM),
2003    ("publicist.com", &P_MAIL_COM),
2004    ("radiologist.net", &P_MAIL_COM),
2005    ("realtyagent.com", &P_MAIL_COM),
2006    ("registerednurses.com", &P_MAIL_COM),
2007    ("repairman.com", &P_MAIL_COM),
2008    ("representative.com", &P_MAIL_COM),
2009    ("salesperson.net", &P_MAIL_COM),
2010    ("secretary.net", &P_MAIL_COM),
2011    ("socialworker.net", &P_MAIL_COM),
2012    ("sociologist.com", &P_MAIL_COM),
2013    ("songwriter.net", &P_MAIL_COM),
2014    ("teachers.org", &P_MAIL_COM),
2015    ("techie.com", &P_MAIL_COM),
2016    ("technologist.com", &P_MAIL_COM),
2017    ("therapist.net", &P_MAIL_COM),
2018    ("umpire.com", &P_MAIL_COM),
2019    ("worker.com", &P_MAIL_COM),
2020    ("artlover.com", &P_MAIL_COM),
2021    ("bikerider.com", &P_MAIL_COM),
2022    ("birdlover.com", &P_MAIL_COM),
2023    ("blader.com", &P_MAIL_COM),
2024    ("kittymail.com", &P_MAIL_COM),
2025    ("lovecat.com", &P_MAIL_COM),
2026    ("marchmail.com", &P_MAIL_COM),
2027    ("boardermail.com", &P_MAIL_COM),
2028    ("catlover.com", &P_MAIL_COM),
2029    ("clubmember.org", &P_MAIL_COM),
2030    ("nonpartisan.com", &P_MAIL_COM),
2031    ("petlover.com", &P_MAIL_COM),
2032    ("doglover.com", &P_MAIL_COM),
2033    ("greenmail.net", &P_MAIL_COM),
2034    ("hackermail.com", &P_MAIL_COM),
2035    ("theplate.com", &P_MAIL_COM),
2036    ("bsdmail.com", &P_MAIL_COM),
2037    ("computer4u.com", &P_MAIL_COM),
2038    ("coolsite.net", &P_MAIL_COM),
2039    ("cyberdude.com", &P_MAIL_COM),
2040    ("cybergal.com", &P_MAIL_COM),
2041    ("cyberservices.com", &P_MAIL_COM),
2042    ("cyber-wizard.com", &P_MAIL_COM),
2043    ("linuxmail.org", &P_MAIL_COM),
2044    ("null.net", &P_MAIL_COM),
2045    ("solution4u.com", &P_MAIL_COM),
2046    ("tech-center.com", &P_MAIL_COM),
2047    ("webname.com", &P_MAIL_COM),
2048    ("acdcfan.com", &P_MAIL_COM),
2049    ("angelic.com", &P_MAIL_COM),
2050    ("discofan.com", &P_MAIL_COM),
2051    ("elvisfan.com", &P_MAIL_COM),
2052    ("hiphopfan.com", &P_MAIL_COM),
2053    ("kissfans.com", &P_MAIL_COM),
2054    ("madonnafan.com", &P_MAIL_COM),
2055    ("metalfan.com", &P_MAIL_COM),
2056    ("ninfan.com", &P_MAIL_COM),
2057    ("ravemail.com", &P_MAIL_COM),
2058    ("reggaefan.com", &P_MAIL_COM),
2059    ("snakebite.com", &P_MAIL_COM),
2060    ("bellair.net", &P_MAIL_COM),
2061    ("californiamail.com", &P_MAIL_COM),
2062    ("dallasmail.com", &P_MAIL_COM),
2063    ("nycmail.com", &P_MAIL_COM),
2064    ("pacific-ocean.com", &P_MAIL_COM),
2065    ("pacificwest.com", &P_MAIL_COM),
2066    ("sanfranmail.com", &P_MAIL_COM),
2067    ("usa.com", &P_MAIL_COM),
2068    ("africamail.com", &P_MAIL_COM),
2069    ("asia-mail.com", &P_MAIL_COM),
2070    ("australiamail.com", &P_MAIL_COM),
2071    ("berlin.com", &P_MAIL_COM),
2072    ("brazilmail.com", &P_MAIL_COM),
2073    ("chinamail.com", &P_MAIL_COM),
2074    ("dublin.com", &P_MAIL_COM),
2075    ("dutchmail.com", &P_MAIL_COM),
2076    ("englandmail.com", &P_MAIL_COM),
2077    ("europe.com", &P_MAIL_COM),
2078    ("arcticmail.com", &P_MAIL_COM),
2079    ("europemail.com", &P_MAIL_COM),
2080    ("germanymail.com", &P_MAIL_COM),
2081    ("irelandmail.com", &P_MAIL_COM),
2082    ("israelmail.com", &P_MAIL_COM),
2083    ("italymail.com", &P_MAIL_COM),
2084    ("koreamail.com", &P_MAIL_COM),
2085    ("mexicomail.com", &P_MAIL_COM),
2086    ("moscowmail.com", &P_MAIL_COM),
2087    ("munich.com", &P_MAIL_COM),
2088    ("asia.com", &P_MAIL_COM),
2089    ("polandmail.com", &P_MAIL_COM),
2090    ("safrica.com", &P_MAIL_COM),
2091    ("samerica.com", &P_MAIL_COM),
2092    ("scotlandmail.com", &P_MAIL_COM),
2093    ("spainmail.com", &P_MAIL_COM),
2094    ("swedenmail.com", &P_MAIL_COM),
2095    ("swissmail.com", &P_MAIL_COM),
2096    ("torontomail.com", &P_MAIL_COM),
2097    ("aircraftmail.com", &P_MAIL_COM),
2098    ("cash4u.com", &P_MAIL_COM),
2099    ("disposable.com", &P_MAIL_COM),
2100    ("execs.com", &P_MAIL_COM),
2101    ("fastservice.com", &P_MAIL_COM),
2102    ("instruction.com", &P_MAIL_COM),
2103    ("job4u.com", &P_MAIL_COM),
2104    ("net-shopping.com", &P_MAIL_COM),
2105    ("planetmail.com", &P_MAIL_COM),
2106    ("planetmail.net", &P_MAIL_COM),
2107    ("qualityservice.com", &P_MAIL_COM),
2108    ("rescueteam.com", &P_MAIL_COM),
2109    ("surgical.net", &P_MAIL_COM),
2110    ("atheist.com", &P_MAIL_COM),
2111    ("disciples.com", &P_MAIL_COM),
2112    ("muslim.com", &P_MAIL_COM),
2113    ("protestant.com", &P_MAIL_COM),
2114    ("reborn.com", &P_MAIL_COM),
2115    ("reincarnate.com", &P_MAIL_COM),
2116    ("religious.com", &P_MAIL_COM),
2117    ("saintly.com", &P_MAIL_COM),
2118    ("brew-meister.com", &P_MAIL_COM),
2119    ("cutey.com", &P_MAIL_COM),
2120    ("dbzmail.com", &P_MAIL_COM),
2121    ("doramail.com", &P_MAIL_COM),
2122    ("galaxyhit.com", &P_MAIL_COM),
2123    ("hilarious.com", &P_MAIL_COM),
2124    ("humanoid.net", &P_MAIL_COM),
2125    ("hot-shot.com", &P_MAIL_COM),
2126    ("inorbit.com", &P_MAIL_COM),
2127    ("iname.com", &P_MAIL_COM),
2128    ("innocent.com", &P_MAIL_COM),
2129    ("keromail.com", &P_MAIL_COM),
2130    ("myself.com", &P_MAIL_COM),
2131    ("rocketship.com", &P_MAIL_COM),
2132    ("toothfairy.com", &P_MAIL_COM),
2133    ("toke.com", &P_MAIL_COM),
2134    ("tvstar.com", &P_MAIL_COM),
2135    ("uymail.com", &P_MAIL_COM),
2136    ("2trom.com", &P_MAIL_COM),
2137    ("mail.de", &P_MAIL_DE),
2138    ("mail.ru", &P_MAIL_RU),
2139    ("inbox.ru", &P_MAIL_RU),
2140    ("internet.ru", &P_MAIL_RU),
2141    ("bk.ru", &P_MAIL_RU),
2142    ("list.ru", &P_MAIL_RU),
2143    ("mail2tor.com", &P_MAIL2TOR),
2144    ("mailbox.org", &P_MAILBOX_ORG),
2145    ("secure.mailbox.org", &P_MAILBOX_ORG),
2146    ("mailo.com", &P_MAILO_COM),
2147    ("migadu.com", &P_MIGADU),
2148    ("nauta.cu", &P_NAUTA_CU),
2149    ("naver.com", &P_NAVER),
2150    ("nine.testrun.org", &P_NINE_TESTRUN_ORG),
2151    ("nubo.coop", &P_NUBO_COOP),
2152    ("hotmail.com", &P_OUTLOOK_COM),
2153    ("outlook.com", &P_OUTLOOK_COM),
2154    ("office365.com", &P_OUTLOOK_COM),
2155    ("outlook.com.tr", &P_OUTLOOK_COM),
2156    ("live.com", &P_OUTLOOK_COM),
2157    ("outlook.de", &P_OUTLOOK_COM),
2158    ("ouvaton.org", &P_OUVATON_COOP),
2159    ("posteo.de", &P_POSTEO),
2160    ("posteo.af", &P_POSTEO),
2161    ("posteo.at", &P_POSTEO),
2162    ("posteo.be", &P_POSTEO),
2163    ("posteo.ca", &P_POSTEO),
2164    ("posteo.ch", &P_POSTEO),
2165    ("posteo.cl", &P_POSTEO),
2166    ("posteo.co", &P_POSTEO),
2167    ("posteo.co.uk", &P_POSTEO),
2168    ("posteo.com", &P_POSTEO),
2169    ("posteo.com.br", &P_POSTEO),
2170    ("posteo.cr", &P_POSTEO),
2171    ("posteo.cz", &P_POSTEO),
2172    ("posteo.dk", &P_POSTEO),
2173    ("posteo.ee", &P_POSTEO),
2174    ("posteo.es", &P_POSTEO),
2175    ("posteo.eu", &P_POSTEO),
2176    ("posteo.fi", &P_POSTEO),
2177    ("posteo.gl", &P_POSTEO),
2178    ("posteo.gr", &P_POSTEO),
2179    ("posteo.hn", &P_POSTEO),
2180    ("posteo.hr", &P_POSTEO),
2181    ("posteo.hu", &P_POSTEO),
2182    ("posteo.ie", &P_POSTEO),
2183    ("posteo.in", &P_POSTEO),
2184    ("posteo.is", &P_POSTEO),
2185    ("posteo.it", &P_POSTEO),
2186    ("posteo.jp", &P_POSTEO),
2187    ("posteo.la", &P_POSTEO),
2188    ("posteo.li", &P_POSTEO),
2189    ("posteo.lt", &P_POSTEO),
2190    ("posteo.lu", &P_POSTEO),
2191    ("posteo.me", &P_POSTEO),
2192    ("posteo.mx", &P_POSTEO),
2193    ("posteo.my", &P_POSTEO),
2194    ("posteo.net", &P_POSTEO),
2195    ("posteo.nl", &P_POSTEO),
2196    ("posteo.no", &P_POSTEO),
2197    ("posteo.nz", &P_POSTEO),
2198    ("posteo.org", &P_POSTEO),
2199    ("posteo.pe", &P_POSTEO),
2200    ("posteo.pl", &P_POSTEO),
2201    ("posteo.pm", &P_POSTEO),
2202    ("posteo.pt", &P_POSTEO),
2203    ("posteo.ro", &P_POSTEO),
2204    ("posteo.ru", &P_POSTEO),
2205    ("posteo.se", &P_POSTEO),
2206    ("posteo.sg", &P_POSTEO),
2207    ("posteo.si", &P_POSTEO),
2208    ("posteo.tn", &P_POSTEO),
2209    ("posteo.uk", &P_POSTEO),
2210    ("posteo.us", &P_POSTEO),
2211    ("protonmail.com", &P_PROTONMAIL),
2212    ("protonmail.ch", &P_PROTONMAIL),
2213    ("pm.me", &P_PROTONMAIL),
2214    ("purelymail.com", &P_PURELYMAIL_COM),
2215    ("cheapermail.com", &P_PURELYMAIL_COM),
2216    ("placeq.com", &P_PURELYMAIL_COM),
2217    ("rethinkmail.com", &P_PURELYMAIL_COM),
2218    ("worldofmail.com", &P_PURELYMAIL_COM),
2219    ("qq.com", &P_QQ),
2220    ("foxmail.com", &P_QQ),
2221    ("rambler.ru", &P_RAMBLER_RU),
2222    ("autorambler.ru", &P_RAMBLER_RU),
2223    ("myrambler.ru", &P_RAMBLER_RU),
2224    ("rambler.ua", &P_RAMBLER_RU),
2225    ("lenta.ru", &P_RAMBLER_RU),
2226    ("ro.ru", &P_RAMBLER_RU),
2227    ("r0.ru", &P_RAMBLER_RU),
2228    ("riseup.net", &P_RISEUP_NET),
2229    ("rogers.com", &P_ROGERS_COM),
2230    ("sonic.net", &P_SONIC),
2231    ("stinpriza.net", &P_STINPRIZA_NET),
2232    ("stinpriza.eu", &P_STINPRIZA_NET),
2233    ("el-hoyo.net", &P_STINPRIZA_NET),
2234    ("systemausfall.org", &P_SYSTEMAUSFALL_ORG),
2235    ("solidaris.me", &P_SYSTEMAUSFALL_ORG),
2236    ("systemli.org", &P_SYSTEMLI_ORG),
2237    ("t-online.de", &P_T_ONLINE),
2238    ("magenta.de", &P_T_ONLINE),
2239    ("tiscali.it", &P_TISCALI_IT),
2240    ("tutanota.com", &P_TUTANOTA),
2241    ("tutanota.de", &P_TUTANOTA),
2242    ("tutamail.com", &P_TUTANOTA),
2243    ("tuta.io", &P_TUTANOTA),
2244    ("keemail.me", &P_TUTANOTA),
2245    ("ukr.net", &P_UKR_NET),
2246    ("undernet.uy", &P_UNDERNET_UY),
2247    ("vfemail.net", &P_VFEMAIL),
2248    ("vivaldi.net", &P_VIVALDI),
2249    ("vk.com", &P_VK_COM),
2250    ("vodafone.de", &P_VODAFONE_DE),
2251    ("vodafonemail.de", &P_VODAFONE_DE),
2252    ("web.de", &P_WEB_DE),
2253    ("email.de", &P_WEB_DE),
2254    ("flirt.ms", &P_WEB_DE),
2255    ("hallo.ms", &P_WEB_DE),
2256    ("kuss.ms", &P_WEB_DE),
2257    ("love.ms", &P_WEB_DE),
2258    ("magic.ms", &P_WEB_DE),
2259    ("singles.ms", &P_WEB_DE),
2260    ("cool.ms", &P_WEB_DE),
2261    ("kanzler.ms", &P_WEB_DE),
2262    ("okay.ms", &P_WEB_DE),
2263    ("party.ms", &P_WEB_DE),
2264    ("pop.ms", &P_WEB_DE),
2265    ("stars.ms", &P_WEB_DE),
2266    ("techno.ms", &P_WEB_DE),
2267    ("clever.ms", &P_WEB_DE),
2268    ("deutschland.ms", &P_WEB_DE),
2269    ("genial.ms", &P_WEB_DE),
2270    ("ich.ms", &P_WEB_DE),
2271    ("online.ms", &P_WEB_DE),
2272    ("smart.ms", &P_WEB_DE),
2273    ("wichtig.ms", &P_WEB_DE),
2274    ("action.ms", &P_WEB_DE),
2275    ("fussball.ms", &P_WEB_DE),
2276    ("joker.ms", &P_WEB_DE),
2277    ("planet.ms", &P_WEB_DE),
2278    ("power.ms", &P_WEB_DE),
2279    ("wkpb.de", &P_WKPB_DE),
2280    ("yahoo.com", &P_YAHOO),
2281    ("yahoo.de", &P_YAHOO),
2282    ("yahoo.it", &P_YAHOO),
2283    ("yahoo.fr", &P_YAHOO),
2284    ("yahoo.es", &P_YAHOO),
2285    ("yahoo.se", &P_YAHOO),
2286    ("yahoo.co.uk", &P_YAHOO),
2287    ("yahoo.co.nz", &P_YAHOO),
2288    ("yahoo.com.au", &P_YAHOO),
2289    ("yahoo.com.ar", &P_YAHOO),
2290    ("yahoo.com.br", &P_YAHOO),
2291    ("yahoo.com.mx", &P_YAHOO),
2292    ("myyahoo.com", &P_YAHOO),
2293    ("ymail.com", &P_YAHOO),
2294    ("rocketmail.com", &P_YAHOO),
2295    ("yahoodns.net", &P_YAHOO),
2296    ("yandex.com", &P_YANDEX_RU),
2297    ("yandex.by", &P_YANDEX_RU),
2298    ("yandex.kz", &P_YANDEX_RU),
2299    ("yandex.ru", &P_YANDEX_RU),
2300    ("yandex.ua", &P_YANDEX_RU),
2301    ("ya.ru", &P_YANDEX_RU),
2302    ("narod.ru", &P_YANDEX_RU),
2303    ("yggmail", &P_YGGMAIL),
2304    ("ziggo.nl", &P_ZIGGO_NL),
2305    ("zohomail.eu", &P_ZOHO),
2306    ("zohomail.com", &P_ZOHO),
2307    ("zoho.com", &P_ZOHO),
2308];
2309
2310pub(crate) static PROVIDER_IDS: LazyLock<HashMap<&'static str, &'static Provider>> =
2311    LazyLock::new(|| {
2312        HashMap::from([
2313            ("163", &P_163),
2314            ("aktivix.org", &P_AKTIVIX_ORG),
2315            ("aliyun", &P_ALIYUN),
2316            ("aol", &P_AOL),
2317            ("arcor.de", &P_ARCOR_DE),
2318            ("autistici.org", &P_AUTISTICI_ORG),
2319            ("blindzeln.org", &P_BLINDZELN_ORG),
2320            ("bluewin.ch", &P_BLUEWIN_CH),
2321            ("chello.at", &P_CHELLO_AT),
2322            ("comcast", &P_COMCAST),
2323            ("dismail.de", &P_DISMAIL_DE),
2324            ("disroot", &P_DISROOT),
2325            ("e.email", &P_E_EMAIL),
2326            ("espiv.net", &P_ESPIV_NET),
2327            ("example.com", &P_EXAMPLE_COM),
2328            ("fastmail", &P_FASTMAIL),
2329            ("firemail.de", &P_FIREMAIL_DE),
2330            ("freenet.de", &P_FREENET_DE),
2331            ("gmail", &P_GMAIL),
2332            ("gmx.net", &P_GMX_NET),
2333            ("hermes.radio", &P_HERMES_RADIO),
2334            ("hey.com", &P_HEY_COM),
2335            ("i.ua", &P_I_UA),
2336            ("i3.net", &P_I3_NET),
2337            ("icloud", &P_ICLOUD),
2338            ("infomaniak.com", &P_INFOMANIAK_COM),
2339            ("kolst.com", &P_KOLST_COM),
2340            ("kontent.com", &P_KONTENT_COM),
2341            ("mail.com", &P_MAIL_COM),
2342            ("mail.de", &P_MAIL_DE),
2343            ("mail.ru", &P_MAIL_RU),
2344            ("mail2tor", &P_MAIL2TOR),
2345            ("mailbox.org", &P_MAILBOX_ORG),
2346            ("mailo.com", &P_MAILO_COM),
2347            ("migadu", &P_MIGADU),
2348            ("nauta.cu", &P_NAUTA_CU),
2349            ("naver", &P_NAVER),
2350            ("nine.testrun.org", &P_NINE_TESTRUN_ORG),
2351            ("nubo.coop", &P_NUBO_COOP),
2352            ("outlook.com", &P_OUTLOOK_COM),
2353            ("ouvaton.coop", &P_OUVATON_COOP),
2354            ("posteo", &P_POSTEO),
2355            ("protonmail", &P_PROTONMAIL),
2356            ("purelymail.com", &P_PURELYMAIL_COM),
2357            ("qq", &P_QQ),
2358            ("rambler.ru", &P_RAMBLER_RU),
2359            ("riseup.net", &P_RISEUP_NET),
2360            ("rogers.com", &P_ROGERS_COM),
2361            ("sonic", &P_SONIC),
2362            ("stinpriza.net", &P_STINPRIZA_NET),
2363            ("systemausfall.org", &P_SYSTEMAUSFALL_ORG),
2364            ("systemli.org", &P_SYSTEMLI_ORG),
2365            ("t-online", &P_T_ONLINE),
2366            ("tiscali.it", &P_TISCALI_IT),
2367            ("tutanota", &P_TUTANOTA),
2368            ("ukr.net", &P_UKR_NET),
2369            ("undernet.uy", &P_UNDERNET_UY),
2370            ("vfemail", &P_VFEMAIL),
2371            ("vivaldi", &P_VIVALDI),
2372            ("vk.com", &P_VK_COM),
2373            ("vodafone.de", &P_VODAFONE_DE),
2374            ("web.de", &P_WEB_DE),
2375            ("wkpb.de", &P_WKPB_DE),
2376            ("yahoo", &P_YAHOO),
2377            ("yandex.ru", &P_YANDEX_RU),
2378            ("yggmail", &P_YGGMAIL),
2379            ("ziggo.nl", &P_ZIGGO_NL),
2380            ("zoho", &P_ZOHO),
2381        ])
2382    });
2383
2384pub static _PROVIDER_UPDATED: LazyLock<chrono::NaiveDate> =
2385    LazyLock::new(|| chrono::NaiveDate::from_ymd_opt(2026, 4, 21).unwrap());