Skip to main content

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(&[ConfigDefault {
894        key: Config::MediaQuality,
895        value: "1",
896    }]),
897    oauth2_authorizer: None,
898};
899
900// naver.md: naver.com
901static P_NAVER: Provider = Provider {
902    id: "naver",
903    status: Status::Preparation,
904    before_login_hint: "Manually enabling IMAP/SMTP is required.",
905    after_login_hint: "",
906    overview_page: "https://providers.delta.chat/naver",
907    server: &[
908        Server {
909            protocol: Imap,
910            socket: Ssl,
911            hostname: "imap.naver.com",
912            port: 993,
913            username_pattern: Emaillocalpart,
914        },
915        Server {
916            protocol: Smtp,
917            socket: Starttls,
918            hostname: "smtp.naver.com",
919            port: 587,
920            username_pattern: Email,
921        },
922    ],
923    opt: ProviderOptions::new(),
924    config_defaults: None,
925    oauth2_authorizer: None,
926};
927
928// nine.testrun.org.md: nine.testrun.org
929static P_NINE_TESTRUN_ORG: Provider = Provider {
930    id: "nine.testrun.org",
931    status: Status::Ok,
932    before_login_hint: "",
933    after_login_hint: "",
934    overview_page: "https://providers.delta.chat/nine-testrun-org",
935    server: &[
936        Server {
937            protocol: Imap,
938            socket: Ssl,
939            hostname: "nine.testrun.org",
940            port: 443,
941            username_pattern: Email,
942        },
943        Server {
944            protocol: Smtp,
945            socket: Ssl,
946            hostname: "nine.testrun.org",
947            port: 443,
948            username_pattern: Email,
949        },
950        Server {
951            protocol: Imap,
952            socket: Ssl,
953            hostname: "nine.testrun.org",
954            port: 993,
955            username_pattern: Email,
956        },
957        Server {
958            protocol: Smtp,
959            socket: Ssl,
960            hostname: "nine.testrun.org",
961            port: 465,
962            username_pattern: Email,
963        },
964        Server {
965            protocol: Imap,
966            socket: Starttls,
967            hostname: "nine.testrun.org",
968            port: 143,
969            username_pattern: Email,
970        },
971        Server {
972            protocol: Smtp,
973            socket: Starttls,
974            hostname: "nine.testrun.org",
975            port: 587,
976            username_pattern: Email,
977        },
978    ],
979    opt: ProviderOptions::new(),
980    config_defaults: None,
981    oauth2_authorizer: None,
982};
983
984// nubo.coop.md: nubo.coop
985static P_NUBO_COOP: Provider = Provider {
986    id: "nubo.coop",
987    status: Status::Ok,
988    before_login_hint: "",
989    after_login_hint: "",
990    overview_page: "https://providers.delta.chat/nubo-coop",
991    server: &[
992        Server {
993            protocol: Imap,
994            socket: Ssl,
995            hostname: "mail.nubo.coop",
996            port: 993,
997            username_pattern: Email,
998        },
999        Server {
1000            protocol: Smtp,
1001            socket: Ssl,
1002            hostname: "mail.nubo.coop",
1003            port: 465,
1004            username_pattern: Email,
1005        },
1006    ],
1007    opt: ProviderOptions::new(),
1008    config_defaults: None,
1009    oauth2_authorizer: None,
1010};
1011
1012// outlook.com.md: hotmail.com, outlook.com, office365.com, outlook.com.tr, live.com, outlook.de
1013static P_OUTLOOK_COM: Provider = Provider {
1014    id: "outlook.com",
1015    status: Status::Broken,
1016    before_login_hint: "Unfortunately, Outlook does not allow using passwords anymore, per-app-passwords are currently not working.",
1017    after_login_hint: "",
1018    overview_page: "https://providers.delta.chat/outlook-com",
1019    server: &[
1020        Server {
1021            protocol: Imap,
1022            socket: Ssl,
1023            hostname: "outlook.office365.com",
1024            port: 993,
1025            username_pattern: Email,
1026        },
1027        Server {
1028            protocol: Smtp,
1029            socket: Starttls,
1030            hostname: "smtp.office365.com",
1031            port: 587,
1032            username_pattern: Email,
1033        },
1034    ],
1035    opt: ProviderOptions::new(),
1036    config_defaults: None,
1037    oauth2_authorizer: None,
1038};
1039
1040// ouvaton.coop.md: ouvaton.org
1041static P_OUVATON_COOP: Provider = Provider {
1042    id: "ouvaton.coop",
1043    status: Status::Ok,
1044    before_login_hint: "",
1045    after_login_hint: "",
1046    overview_page: "https://providers.delta.chat/ouvaton-coop",
1047    server: &[
1048        Server {
1049            protocol: Imap,
1050            socket: Ssl,
1051            hostname: "imap.ouvaton.coop",
1052            port: 993,
1053            username_pattern: Email,
1054        },
1055        Server {
1056            protocol: Smtp,
1057            socket: Ssl,
1058            hostname: "smtp.ouvaton.coop",
1059            port: 465,
1060            username_pattern: Email,
1061        },
1062    ],
1063    opt: ProviderOptions::new(),
1064    config_defaults: None,
1065    oauth2_authorizer: None,
1066};
1067
1068// 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
1069static P_POSTEO: Provider = Provider {
1070    id: "posteo",
1071    status: Status::Preparation,
1072    before_login_hint: "You must create an app-specific password before you can log in.",
1073    after_login_hint: "",
1074    overview_page: "https://providers.delta.chat/posteo",
1075    server: &[
1076        Server {
1077            protocol: Imap,
1078            socket: Ssl,
1079            hostname: "posteo.de",
1080            port: 993,
1081            username_pattern: Email,
1082        },
1083        Server {
1084            protocol: Imap,
1085            socket: Starttls,
1086            hostname: "posteo.de",
1087            port: 143,
1088            username_pattern: Email,
1089        },
1090        Server {
1091            protocol: Smtp,
1092            socket: Ssl,
1093            hostname: "posteo.de",
1094            port: 465,
1095            username_pattern: Email,
1096        },
1097        Server {
1098            protocol: Smtp,
1099            socket: Starttls,
1100            hostname: "posteo.de",
1101            port: 587,
1102            username_pattern: Email,
1103        },
1104    ],
1105    opt: ProviderOptions::new(),
1106    config_defaults: None,
1107    oauth2_authorizer: None,
1108};
1109
1110// protonmail.md: protonmail.com, protonmail.ch, pm.me
1111static P_PROTONMAIL: Provider = Provider {
1112    id: "protonmail",
1113    status: Status::Broken,
1114    before_login_hint: "Protonmail does not offer the standard IMAP e-mail protocol, so you cannot log in with to Protonmail.",
1115    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.",
1116    overview_page: "https://providers.delta.chat/protonmail",
1117    server: &[],
1118    opt: ProviderOptions::new(),
1119    config_defaults: None,
1120    oauth2_authorizer: None,
1121};
1122
1123// purelymail.com.md: purelymail.com, cheapermail.com, placeq.com, rethinkmail.com, worldofmail.com
1124static P_PURELYMAIL_COM: Provider = Provider {
1125    id: "purelymail.com",
1126    status: Status::Ok,
1127    before_login_hint: "",
1128    after_login_hint: "",
1129    overview_page: "https://providers.delta.chat/purelymail-com",
1130    server: &[
1131        Server {
1132            protocol: Imap,
1133            socket: Ssl,
1134            hostname: "imap.purelymail.com",
1135            port: 993,
1136            username_pattern: Email,
1137        },
1138        Server {
1139            protocol: Smtp,
1140            socket: Ssl,
1141            hostname: "smtp.purelymail.com",
1142            port: 465,
1143            username_pattern: Email,
1144        },
1145    ],
1146    opt: ProviderOptions::new(),
1147    config_defaults: None,
1148    oauth2_authorizer: None,
1149};
1150
1151// qq.md: qq.com, foxmail.com
1152static P_QQ: Provider = Provider {
1153    id: "qq",
1154    status: Status::Preparation,
1155    before_login_hint: "Manually enabling IMAP/SMTP and creating an app-specific password are required.",
1156    after_login_hint: "",
1157    overview_page: "https://providers.delta.chat/qq",
1158    server: &[
1159        Server {
1160            protocol: Imap,
1161            socket: Ssl,
1162            hostname: "imap.qq.com",
1163            port: 993,
1164            username_pattern: Emaillocalpart,
1165        },
1166        Server {
1167            protocol: Smtp,
1168            socket: Ssl,
1169            hostname: "smtp.qq.com",
1170            port: 465,
1171            username_pattern: Email,
1172        },
1173    ],
1174    opt: ProviderOptions::new(),
1175    config_defaults: None,
1176    oauth2_authorizer: None,
1177};
1178
1179// rambler.ru.md: rambler.ru, autorambler.ru, myrambler.ru, rambler.ua, lenta.ru, ro.ru, r0.ru
1180static P_RAMBLER_RU: Provider = Provider {
1181    id: "rambler.ru",
1182    status: Status::Preparation,
1183    before_login_hint: "Чтобы войти в Рамблер/почта, необходимо предварительно включить доступ с помощью почтовых клиентов на сайте mail.rambler.ru",
1184    after_login_hint: "",
1185    overview_page: "https://providers.delta.chat/rambler-ru",
1186    server: &[
1187        Server {
1188            protocol: Imap,
1189            socket: Ssl,
1190            hostname: "imap.rambler.ru",
1191            port: 993,
1192            username_pattern: Email,
1193        },
1194        Server {
1195            protocol: Smtp,
1196            socket: Ssl,
1197            hostname: "smtp.rambler.ru",
1198            port: 465,
1199            username_pattern: Email,
1200        },
1201        Server {
1202            protocol: Imap,
1203            socket: Starttls,
1204            hostname: "imap.rambler.ru",
1205            port: 143,
1206            username_pattern: Email,
1207        },
1208    ],
1209    opt: ProviderOptions::new(),
1210    config_defaults: None,
1211    oauth2_authorizer: None,
1212};
1213
1214// riseup.net.md: riseup.net
1215static P_RISEUP_NET: Provider = Provider {
1216    id: "riseup.net",
1217    status: Status::Ok,
1218    before_login_hint: "",
1219    after_login_hint: "",
1220    overview_page: "https://providers.delta.chat/riseup-net",
1221    server: &[
1222        Server {
1223            protocol: Imap,
1224            socket: Ssl,
1225            hostname: "mail.riseup.net",
1226            port: 993,
1227            username_pattern: Email,
1228        },
1229        Server {
1230            protocol: Smtp,
1231            socket: Ssl,
1232            hostname: "mail.riseup.net",
1233            port: 465,
1234            username_pattern: Email,
1235        },
1236    ],
1237    opt: ProviderOptions::new(),
1238    config_defaults: None,
1239    oauth2_authorizer: None,
1240};
1241
1242// rogers.com.md: rogers.com
1243static P_ROGERS_COM: Provider = Provider {
1244    id: "rogers.com",
1245    status: Status::Ok,
1246    before_login_hint: "",
1247    after_login_hint: "",
1248    overview_page: "https://providers.delta.chat/rogers-com",
1249    server: &[],
1250    opt: ProviderOptions::new(),
1251    config_defaults: None,
1252    oauth2_authorizer: None,
1253};
1254
1255// sonic.md: sonic.net
1256static P_SONIC: Provider = Provider {
1257    id: "sonic",
1258    status: Status::Ok,
1259    before_login_hint: "",
1260    after_login_hint: "",
1261    overview_page: "https://providers.delta.chat/sonic",
1262    server: &[],
1263    opt: ProviderOptions::new(),
1264    config_defaults: None,
1265    oauth2_authorizer: None,
1266};
1267
1268// stinpriza.net.md: stinpriza.net, stinpriza.eu, el-hoyo.net
1269static P_STINPRIZA_NET: Provider = Provider {
1270    id: "stinpriza.net",
1271    status: Status::Ok,
1272    before_login_hint: "",
1273    after_login_hint: "",
1274    overview_page: "https://providers.delta.chat/stinpriza-net",
1275    server: &[
1276        Server {
1277            protocol: Imap,
1278            socket: Starttls,
1279            hostname: "stinpriza.net",
1280            port: 143,
1281            username_pattern: Email,
1282        },
1283        Server {
1284            protocol: Smtp,
1285            socket: Starttls,
1286            hostname: "stinpriza.net",
1287            port: 587,
1288            username_pattern: Email,
1289        },
1290    ],
1291    opt: ProviderOptions {
1292        strict_tls: true,
1293        ..ProviderOptions::new()
1294    },
1295    config_defaults: None,
1296    oauth2_authorizer: None,
1297};
1298
1299// systemausfall.org.md: systemausfall.org, solidaris.me
1300static P_SYSTEMAUSFALL_ORG: Provider = Provider {
1301    id: "systemausfall.org",
1302    status: Status::Ok,
1303    before_login_hint: "",
1304    after_login_hint: "",
1305    overview_page: "https://providers.delta.chat/systemausfall-org",
1306    server: &[
1307        Server {
1308            protocol: Imap,
1309            socket: Ssl,
1310            hostname: "mail.systemausfall.org",
1311            port: 993,
1312            username_pattern: Email,
1313        },
1314        Server {
1315            protocol: Smtp,
1316            socket: Ssl,
1317            hostname: "mail.systemausfall.org",
1318            port: 465,
1319            username_pattern: Email,
1320        },
1321    ],
1322    opt: ProviderOptions::new(),
1323    config_defaults: None,
1324    oauth2_authorizer: None,
1325};
1326
1327// systemli.org.md: systemli.org
1328static P_SYSTEMLI_ORG: Provider = Provider {
1329    id: "systemli.org",
1330    status: Status::Ok,
1331    before_login_hint: "",
1332    after_login_hint: "",
1333    overview_page: "https://providers.delta.chat/systemli-org",
1334    server: &[
1335        Server {
1336            protocol: Imap,
1337            socket: Ssl,
1338            hostname: "mail.systemli.org",
1339            port: 993,
1340            username_pattern: Email,
1341        },
1342        Server {
1343            protocol: Smtp,
1344            socket: Ssl,
1345            hostname: "mail.systemli.org",
1346            port: 465,
1347            username_pattern: Email,
1348        },
1349    ],
1350    opt: ProviderOptions::new(),
1351    config_defaults: None,
1352    oauth2_authorizer: None,
1353};
1354
1355// t-online.md: t-online.de, magenta.de
1356static P_T_ONLINE: Provider = Provider {
1357    id: "t-online",
1358    status: Status::Preparation,
1359    before_login_hint: "To use a T-Online email address, you need to create an app password in the web interface.",
1360    after_login_hint: "",
1361    overview_page: "https://providers.delta.chat/t-online",
1362    server: &[
1363        Server {
1364            protocol: Imap,
1365            socket: Ssl,
1366            hostname: "secureimap.t-online.de",
1367            port: 993,
1368            username_pattern: Email,
1369        },
1370        Server {
1371            protocol: Smtp,
1372            socket: Ssl,
1373            hostname: "securesmtp.t-online.de",
1374            port: 465,
1375            username_pattern: Email,
1376        },
1377    ],
1378    opt: ProviderOptions::new(),
1379    config_defaults: None,
1380    oauth2_authorizer: None,
1381};
1382
1383// tiscali.it.md: tiscali.it
1384static P_TISCALI_IT: Provider = Provider {
1385    id: "tiscali.it",
1386    status: Status::Ok,
1387    before_login_hint: "",
1388    after_login_hint: "",
1389    overview_page: "https://providers.delta.chat/tiscali-it",
1390    server: &[
1391        Server {
1392            protocol: Imap,
1393            socket: Ssl,
1394            hostname: "imap.tiscali.it",
1395            port: 993,
1396            username_pattern: Email,
1397        },
1398        Server {
1399            protocol: Smtp,
1400            socket: Ssl,
1401            hostname: "smtp.tiscali.it",
1402            port: 465,
1403            username_pattern: Email,
1404        },
1405    ],
1406    opt: ProviderOptions::new(),
1407    config_defaults: None,
1408    oauth2_authorizer: None,
1409};
1410
1411// tutanota.md: tutanota.com, tutanota.de, tutamail.com, tuta.io, keemail.me
1412static P_TUTANOTA: Provider = Provider {
1413    id: "tutanota",
1414    status: Status::Broken,
1415    before_login_hint: "Tutanota does not offer the standard IMAP e-mail protocol, so you cannot log in to Tutanota.",
1416    after_login_hint: "",
1417    overview_page: "https://providers.delta.chat/tutanota",
1418    server: &[],
1419    opt: ProviderOptions::new(),
1420    config_defaults: None,
1421    oauth2_authorizer: None,
1422};
1423
1424// ukr.net.md: ukr.net
1425static P_UKR_NET: Provider = Provider {
1426    id: "ukr.net",
1427    status: Status::Preparation,
1428    before_login_hint: "You must allow IMAP access to your account before you can login.",
1429    after_login_hint: "",
1430    overview_page: "https://providers.delta.chat/ukr-net",
1431    server: &[
1432        Server {
1433            protocol: Imap,
1434            socket: Ssl,
1435            hostname: "imap.ukr.net",
1436            port: 993,
1437            username_pattern: Email,
1438        },
1439        Server {
1440            protocol: Smtp,
1441            socket: Ssl,
1442            hostname: "smtp.ukr.net",
1443            port: 465,
1444            username_pattern: Email,
1445        },
1446    ],
1447    opt: ProviderOptions::new(),
1448    config_defaults: None,
1449    oauth2_authorizer: None,
1450};
1451
1452// undernet.uy.md: undernet.uy
1453static P_UNDERNET_UY: Provider = Provider {
1454    id: "undernet.uy",
1455    status: Status::Ok,
1456    before_login_hint: "",
1457    after_login_hint: "",
1458    overview_page: "https://providers.delta.chat/undernet-uy",
1459    server: &[
1460        Server {
1461            protocol: Imap,
1462            socket: Starttls,
1463            hostname: "undernet.uy",
1464            port: 143,
1465            username_pattern: Email,
1466        },
1467        Server {
1468            protocol: Smtp,
1469            socket: Starttls,
1470            hostname: "undernet.uy",
1471            port: 587,
1472            username_pattern: Email,
1473        },
1474    ],
1475    opt: ProviderOptions::new(),
1476    config_defaults: None,
1477    oauth2_authorizer: None,
1478};
1479
1480// vfemail.md: vfemail.net
1481static P_VFEMAIL: Provider = Provider {
1482    id: "vfemail",
1483    status: Status::Ok,
1484    before_login_hint: "",
1485    after_login_hint: "",
1486    overview_page: "https://providers.delta.chat/vfemail",
1487    server: &[],
1488    opt: ProviderOptions::new(),
1489    config_defaults: None,
1490    oauth2_authorizer: None,
1491};
1492
1493// vivaldi.md: vivaldi.net
1494static P_VIVALDI: Provider = Provider {
1495    id: "vivaldi",
1496    status: Status::Ok,
1497    before_login_hint: "",
1498    after_login_hint: "",
1499    overview_page: "https://providers.delta.chat/vivaldi",
1500    server: &[
1501        Server {
1502            protocol: Imap,
1503            socket: Starttls,
1504            hostname: "imap.vivaldi.net",
1505            port: 143,
1506            username_pattern: Email,
1507        },
1508        Server {
1509            protocol: Smtp,
1510            socket: Starttls,
1511            hostname: "smtp.vivaldi.net",
1512            port: 587,
1513            username_pattern: Email,
1514        },
1515    ],
1516    opt: ProviderOptions::new(),
1517    config_defaults: None,
1518    oauth2_authorizer: None,
1519};
1520
1521// vk.com.md: vk.com
1522static P_VK_COM: Provider = Provider {
1523    id: "vk.com",
1524    status: Status::Preparation,
1525    before_login_hint: "Вам необходимо сгенерировать \"пароль для внешнего приложения\" в веб-интерфейсе mail.ru https://account.mail.ru/user/2-step-auth/passwords/ чтобы vk.com работал с chatmail.",
1526    after_login_hint: "",
1527    overview_page: "https://providers.delta.chat/vk-com",
1528    server: &[
1529        Server {
1530            protocol: Imap,
1531            socket: Ssl,
1532            hostname: "imap.mail.ru",
1533            port: 993,
1534            username_pattern: Email,
1535        },
1536        Server {
1537            protocol: Smtp,
1538            socket: Ssl,
1539            hostname: "smtp.mail.ru",
1540            port: 465,
1541            username_pattern: Email,
1542        },
1543    ],
1544    opt: ProviderOptions::new(),
1545    config_defaults: None,
1546    oauth2_authorizer: None,
1547};
1548
1549// vodafone.de.md: vodafone.de, vodafonemail.de
1550static P_VODAFONE_DE: Provider = Provider {
1551    id: "vodafone.de",
1552    status: Status::Ok,
1553    before_login_hint: "",
1554    after_login_hint: "",
1555    overview_page: "https://providers.delta.chat/vodafone-de",
1556    server: &[
1557        Server {
1558            protocol: Imap,
1559            socket: Ssl,
1560            hostname: "imap.vodafonemail.de",
1561            port: 993,
1562            username_pattern: Email,
1563        },
1564        Server {
1565            protocol: Smtp,
1566            socket: Starttls,
1567            hostname: "smtp.vodafonemail.de",
1568            port: 587,
1569            username_pattern: Email,
1570        },
1571    ],
1572    opt: ProviderOptions::new(),
1573    config_defaults: None,
1574    oauth2_authorizer: None,
1575};
1576
1577// 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
1578static P_WEB_DE: Provider = Provider {
1579    id: "web.de",
1580    status: Status::Preparation,
1581    before_login_hint: "You must allow IMAP access to your account before you can login.",
1582    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",
1583    overview_page: "https://providers.delta.chat/web-de",
1584    server: &[
1585        Server {
1586            protocol: Imap,
1587            socket: Ssl,
1588            hostname: "imap.web.de",
1589            port: 993,
1590            username_pattern: Emaillocalpart,
1591        },
1592        Server {
1593            protocol: Imap,
1594            socket: Starttls,
1595            hostname: "imap.web.de",
1596            port: 143,
1597            username_pattern: Emaillocalpart,
1598        },
1599        Server {
1600            protocol: Smtp,
1601            socket: Starttls,
1602            hostname: "smtp.web.de",
1603            port: 587,
1604            username_pattern: Emaillocalpart,
1605        },
1606    ],
1607    opt: ProviderOptions::new(),
1608    config_defaults: None,
1609    oauth2_authorizer: None,
1610};
1611
1612// wkpb.de.md: wkpb.de
1613static P_WKPB_DE: Provider = Provider {
1614    id: "wkpb.de",
1615    status: Status::Preparation,
1616    before_login_hint: "Dies sind die gleichen Anmeldedaten wie bei Moodle und Abitur-Online.",
1617    after_login_hint: "",
1618    overview_page: "https://providers.delta.chat/wkpb-de",
1619    server: &[
1620        Server {
1621            protocol: Imap,
1622            socket: Ssl,
1623            hostname: "pimap.schulon.org",
1624            port: 993,
1625            username_pattern: Email,
1626        },
1627        Server {
1628            protocol: Smtp,
1629            socket: Ssl,
1630            hostname: "psmtp.schulon.org",
1631            port: 465,
1632            username_pattern: Email,
1633        },
1634    ],
1635    opt: ProviderOptions::new(),
1636    config_defaults: None,
1637    oauth2_authorizer: None,
1638};
1639
1640// 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
1641static P_YAHOO: Provider = Provider {
1642    id: "yahoo",
1643    status: Status::Preparation,
1644    before_login_hint: "To use your Yahoo email address you have to create an app password in the Yahoo account security screen.",
1645    after_login_hint: "",
1646    overview_page: "https://providers.delta.chat/yahoo",
1647    server: &[
1648        Server {
1649            protocol: Imap,
1650            socket: Ssl,
1651            hostname: "imap.mail.yahoo.com",
1652            port: 993,
1653            username_pattern: Email,
1654        },
1655        Server {
1656            protocol: Smtp,
1657            socket: Ssl,
1658            hostname: "smtp.mail.yahoo.com",
1659            port: 465,
1660            username_pattern: Email,
1661        },
1662    ],
1663    opt: ProviderOptions::new(),
1664    config_defaults: None,
1665    oauth2_authorizer: None,
1666};
1667
1668// yandex.ru.md: yandex.com, yandex.by, yandex.kz, yandex.ru, yandex.ua, ya.ru, narod.ru
1669static P_YANDEX_RU: Provider = Provider {
1670    id: "yandex.ru",
1671    status: Status::Preparation,
1672    before_login_hint: "For Yandex accounts, you have to set IMAP protocol option turned on.",
1673    after_login_hint: "",
1674    overview_page: "https://providers.delta.chat/yandex-ru",
1675    server: &[
1676        Server {
1677            protocol: Imap,
1678            socket: Ssl,
1679            hostname: "imap.yandex.com",
1680            port: 993,
1681            username_pattern: Email,
1682        },
1683        Server {
1684            protocol: Smtp,
1685            socket: Ssl,
1686            hostname: "smtp.yandex.com",
1687            port: 465,
1688            username_pattern: Email,
1689        },
1690    ],
1691    opt: ProviderOptions::new(),
1692    config_defaults: None,
1693    oauth2_authorizer: Some(Oauth2Authorizer::Yandex),
1694};
1695
1696// yggmail.md: yggmail
1697static P_YGGMAIL: Provider = Provider {
1698    id: "yggmail",
1699    status: Status::Preparation,
1700    before_login_hint: "An Yggmail companion app needs to be installed on your device to access the Yggmail network.",
1701    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.",
1702    overview_page: "https://providers.delta.chat/yggmail",
1703    server: &[
1704        Server {
1705            protocol: Imap,
1706            socket: Plain,
1707            hostname: "localhost",
1708            port: 1143,
1709            username_pattern: Email,
1710        },
1711        Server {
1712            protocol: Smtp,
1713            socket: Plain,
1714            hostname: "localhost",
1715            port: 1025,
1716            username_pattern: Email,
1717        },
1718    ],
1719    opt: ProviderOptions::new(),
1720    config_defaults: None,
1721    oauth2_authorizer: None,
1722};
1723
1724// ziggo.nl.md: ziggo.nl
1725static P_ZIGGO_NL: Provider = Provider {
1726    id: "ziggo.nl",
1727    status: Status::Ok,
1728    before_login_hint: "",
1729    after_login_hint: "",
1730    overview_page: "https://providers.delta.chat/ziggo-nl",
1731    server: &[
1732        Server {
1733            protocol: Imap,
1734            socket: Ssl,
1735            hostname: "imap.ziggo.nl",
1736            port: 993,
1737            username_pattern: Email,
1738        },
1739        Server {
1740            protocol: Smtp,
1741            socket: Starttls,
1742            hostname: "smtp.ziggo.nl",
1743            port: 587,
1744            username_pattern: Email,
1745        },
1746    ],
1747    opt: ProviderOptions::new(),
1748    config_defaults: None,
1749    oauth2_authorizer: None,
1750};
1751
1752// zoho.md: zohomail.eu, zohomail.com, zoho.com
1753static P_ZOHO: Provider = Provider {
1754    id: "zoho",
1755    status: Status::Preparation,
1756    before_login_hint: "To use Zoho Mail, you have to turn on IMAP in the Zoho Mail backend.",
1757    after_login_hint: "",
1758    overview_page: "https://providers.delta.chat/zoho",
1759    server: &[
1760        Server {
1761            protocol: Imap,
1762            socket: Ssl,
1763            hostname: "imap.zoho.eu",
1764            port: 993,
1765            username_pattern: Email,
1766        },
1767        Server {
1768            protocol: Smtp,
1769            socket: Ssl,
1770            hostname: "smtp.zoho.eu",
1771            port: 465,
1772            username_pattern: Email,
1773        },
1774    ],
1775    opt: ProviderOptions::new(),
1776    config_defaults: None,
1777    oauth2_authorizer: None,
1778};
1779
1780pub(crate) static PROVIDER_DATA: [(&str, &Provider); 521] = [
1781    ("163.com", &P_163),
1782    ("aktivix.org", &P_AKTIVIX_ORG),
1783    ("aliyun.com", &P_ALIYUN),
1784    ("aol.com", &P_AOL),
1785    ("arcor.de", &P_ARCOR_DE),
1786    ("autistici.org", &P_AUTISTICI_ORG),
1787    ("delta.blinzeln.de", &P_BLINDZELN_ORG),
1788    ("delta.blindzeln.org", &P_BLINDZELN_ORG),
1789    ("bluewin.ch", &P_BLUEWIN_CH),
1790    ("chello.at", &P_CHELLO_AT),
1791    ("xfinity.com", &P_COMCAST),
1792    ("comcast.net", &P_COMCAST),
1793    ("dismail.de", &P_DISMAIL_DE),
1794    ("disroot.org", &P_DISROOT),
1795    ("e.email", &P_E_EMAIL),
1796    ("espiv.net", &P_ESPIV_NET),
1797    ("example.com", &P_EXAMPLE_COM),
1798    ("example.org", &P_EXAMPLE_COM),
1799    ("example.net", &P_EXAMPLE_COM),
1800    ("123mail.org", &P_FASTMAIL),
1801    ("150mail.com", &P_FASTMAIL),
1802    ("150ml.com", &P_FASTMAIL),
1803    ("16mail.com", &P_FASTMAIL),
1804    ("2-mail.com", &P_FASTMAIL),
1805    ("4email.net", &P_FASTMAIL),
1806    ("50mail.com", &P_FASTMAIL),
1807    ("airpost.net", &P_FASTMAIL),
1808    ("allmail.net", &P_FASTMAIL),
1809    ("bestmail.us", &P_FASTMAIL),
1810    ("cluemail.com", &P_FASTMAIL),
1811    ("elitemail.org", &P_FASTMAIL),
1812    ("emailcorner.net", &P_FASTMAIL),
1813    ("emailengine.net", &P_FASTMAIL),
1814    ("emailengine.org", &P_FASTMAIL),
1815    ("emailgroups.net", &P_FASTMAIL),
1816    ("emailplus.org", &P_FASTMAIL),
1817    ("emailuser.net", &P_FASTMAIL),
1818    ("eml.cc", &P_FASTMAIL),
1819    ("f-m.fm", &P_FASTMAIL),
1820    ("fast-email.com", &P_FASTMAIL),
1821    ("fast-mail.org", &P_FASTMAIL),
1822    ("fastem.com", &P_FASTMAIL),
1823    ("fastemail.us", &P_FASTMAIL),
1824    ("fastemailer.com", &P_FASTMAIL),
1825    ("fastest.cc", &P_FASTMAIL),
1826    ("fastimap.com", &P_FASTMAIL),
1827    ("fastmail.cn", &P_FASTMAIL),
1828    ("fastmail.co.uk", &P_FASTMAIL),
1829    ("fastmail.com", &P_FASTMAIL),
1830    ("fastmail.com.au", &P_FASTMAIL),
1831    ("fastmail.de", &P_FASTMAIL),
1832    ("fastmail.es", &P_FASTMAIL),
1833    ("fastmail.fm", &P_FASTMAIL),
1834    ("fastmail.fr", &P_FASTMAIL),
1835    ("fastmail.im", &P_FASTMAIL),
1836    ("fastmail.in", &P_FASTMAIL),
1837    ("fastmail.jp", &P_FASTMAIL),
1838    ("fastmail.mx", &P_FASTMAIL),
1839    ("fastmail.net", &P_FASTMAIL),
1840    ("fastmail.nl", &P_FASTMAIL),
1841    ("fastmail.org", &P_FASTMAIL),
1842    ("fastmail.se", &P_FASTMAIL),
1843    ("fastmail.to", &P_FASTMAIL),
1844    ("fastmail.tw", &P_FASTMAIL),
1845    ("fastmail.uk", &P_FASTMAIL),
1846    ("fastmail.us", &P_FASTMAIL),
1847    ("fastmailbox.net", &P_FASTMAIL),
1848    ("fastmessaging.com", &P_FASTMAIL),
1849    ("fea.st", &P_FASTMAIL),
1850    ("fmail.co.uk", &P_FASTMAIL),
1851    ("fmailbox.com", &P_FASTMAIL),
1852    ("fmgirl.com", &P_FASTMAIL),
1853    ("fmguy.com", &P_FASTMAIL),
1854    ("ftml.net", &P_FASTMAIL),
1855    ("h-mail.us", &P_FASTMAIL),
1856    ("hailmail.net", &P_FASTMAIL),
1857    ("imap-mail.com", &P_FASTMAIL),
1858    ("imap.cc", &P_FASTMAIL),
1859    ("imapmail.org", &P_FASTMAIL),
1860    ("inoutbox.com", &P_FASTMAIL),
1861    ("internet-e-mail.com", &P_FASTMAIL),
1862    ("internet-mail.org", &P_FASTMAIL),
1863    ("internetemails.net", &P_FASTMAIL),
1864    ("internetmailing.net", &P_FASTMAIL),
1865    ("jetemail.net", &P_FASTMAIL),
1866    ("justemail.net", &P_FASTMAIL),
1867    ("letterboxes.org", &P_FASTMAIL),
1868    ("mail-central.com", &P_FASTMAIL),
1869    ("mail-page.com", &P_FASTMAIL),
1870    ("mailandftp.com", &P_FASTMAIL),
1871    ("mailas.com", &P_FASTMAIL),
1872    ("mailbolt.com", &P_FASTMAIL),
1873    ("mailc.net", &P_FASTMAIL),
1874    ("mailcan.com", &P_FASTMAIL),
1875    ("mailforce.net", &P_FASTMAIL),
1876    ("mailftp.com", &P_FASTMAIL),
1877    ("mailhaven.com", &P_FASTMAIL),
1878    ("mailingaddress.org", &P_FASTMAIL),
1879    ("mailite.com", &P_FASTMAIL),
1880    ("mailmight.com", &P_FASTMAIL),
1881    ("mailnew.com", &P_FASTMAIL),
1882    ("mailsent.net", &P_FASTMAIL),
1883    ("mailservice.ms", &P_FASTMAIL),
1884    ("mailup.net", &P_FASTMAIL),
1885    ("mailworks.org", &P_FASTMAIL),
1886    ("ml1.net", &P_FASTMAIL),
1887    ("mm.st", &P_FASTMAIL),
1888    ("myfastmail.com", &P_FASTMAIL),
1889    ("mymacmail.com", &P_FASTMAIL),
1890    ("nospammail.net", &P_FASTMAIL),
1891    ("ownmail.net", &P_FASTMAIL),
1892    ("petml.com", &P_FASTMAIL),
1893    ("postinbox.com", &P_FASTMAIL),
1894    ("postpro.net", &P_FASTMAIL),
1895    ("proinbox.com", &P_FASTMAIL),
1896    ("promessage.com", &P_FASTMAIL),
1897    ("realemail.net", &P_FASTMAIL),
1898    ("reallyfast.biz", &P_FASTMAIL),
1899    ("reallyfast.info", &P_FASTMAIL),
1900    ("rushpost.com", &P_FASTMAIL),
1901    ("sent.as", &P_FASTMAIL),
1902    ("sent.at", &P_FASTMAIL),
1903    ("sent.com", &P_FASTMAIL),
1904    ("speedpost.net", &P_FASTMAIL),
1905    ("speedymail.org", &P_FASTMAIL),
1906    ("ssl-mail.com", &P_FASTMAIL),
1907    ("swift-mail.com", &P_FASTMAIL),
1908    ("the-fastest.net", &P_FASTMAIL),
1909    ("the-quickest.com", &P_FASTMAIL),
1910    ("theinternetemail.com", &P_FASTMAIL),
1911    ("veryfast.biz", &P_FASTMAIL),
1912    ("veryspeedy.net", &P_FASTMAIL),
1913    ("warpmail.net", &P_FASTMAIL),
1914    ("xsmail.com", &P_FASTMAIL),
1915    ("yepmail.net", &P_FASTMAIL),
1916    ("your-mail.com", &P_FASTMAIL),
1917    ("firemail.at", &P_FIREMAIL_DE),
1918    ("firemail.de", &P_FIREMAIL_DE),
1919    ("freenet.de", &P_FREENET_DE),
1920    ("gmail.com", &P_GMAIL),
1921    ("googlemail.com", &P_GMAIL),
1922    ("google.com", &P_GMAIL),
1923    ("gmx.net", &P_GMX_NET),
1924    ("gmx.de", &P_GMX_NET),
1925    ("gmx.at", &P_GMX_NET),
1926    ("gmx.ch", &P_GMX_NET),
1927    ("gmx.org", &P_GMX_NET),
1928    ("gmx.eu", &P_GMX_NET),
1929    ("gmx.info", &P_GMX_NET),
1930    ("gmx.biz", &P_GMX_NET),
1931    ("gmx.com", &P_GMX_NET),
1932    ("*.hermes.radio", &P_HERMES_RADIO),
1933    ("*.aco-connexion.org", &P_HERMES_RADIO),
1934    ("hey.com", &P_HEY_COM),
1935    ("i.ua", &P_I_UA),
1936    ("i3.net", &P_I3_NET),
1937    ("icloud.com", &P_ICLOUD),
1938    ("me.com", &P_ICLOUD),
1939    ("mac.com", &P_ICLOUD),
1940    ("ik.me", &P_INFOMANIAK_COM),
1941    ("kolst.com", &P_KOLST_COM),
1942    ("kontent.com", &P_KONTENT_COM),
1943    ("email.com", &P_MAIL_COM),
1944    ("groupmail.com", &P_MAIL_COM),
1945    ("post.com", &P_MAIL_COM),
1946    ("homemail.com", &P_MAIL_COM),
1947    ("housemail.com", &P_MAIL_COM),
1948    ("writeme.com", &P_MAIL_COM),
1949    ("mail.com", &P_MAIL_COM),
1950    ("mail-me.com", &P_MAIL_COM),
1951    ("workmail.com", &P_MAIL_COM),
1952    ("accountant.com", &P_MAIL_COM),
1953    ("activist.com", &P_MAIL_COM),
1954    ("adexec.com", &P_MAIL_COM),
1955    ("allergist.com", &P_MAIL_COM),
1956    ("alumni.com", &P_MAIL_COM),
1957    ("alumnidirector.com", &P_MAIL_COM),
1958    ("archaeologist.com", &P_MAIL_COM),
1959    ("auctioneer.net", &P_MAIL_COM),
1960    ("bartender.net", &P_MAIL_COM),
1961    ("brew-master.com", &P_MAIL_COM),
1962    ("chef.net", &P_MAIL_COM),
1963    ("chemist.com", &P_MAIL_COM),
1964    ("collector.org", &P_MAIL_COM),
1965    ("columnist.com", &P_MAIL_COM),
1966    ("comic.com", &P_MAIL_COM),
1967    ("consultant.com", &P_MAIL_COM),
1968    ("contractor.net", &P_MAIL_COM),
1969    ("counsellor.com", &P_MAIL_COM),
1970    ("deliveryman.com", &P_MAIL_COM),
1971    ("diplomats.com", &P_MAIL_COM),
1972    ("dr.com", &P_MAIL_COM),
1973    ("engineer.com", &P_MAIL_COM),
1974    ("financier.com", &P_MAIL_COM),
1975    ("fireman.net", &P_MAIL_COM),
1976    ("gardener.com", &P_MAIL_COM),
1977    ("geologist.com", &P_MAIL_COM),
1978    ("graphic-designer.com", &P_MAIL_COM),
1979    ("graduate.org", &P_MAIL_COM),
1980    ("hairdresser.net", &P_MAIL_COM),
1981    ("instructor.net", &P_MAIL_COM),
1982    ("insurer.com", &P_MAIL_COM),
1983    ("journalist.com", &P_MAIL_COM),
1984    ("legislator.com", &P_MAIL_COM),
1985    ("lobbyist.com", &P_MAIL_COM),
1986    ("minister.com", &P_MAIL_COM),
1987    ("musician.org", &P_MAIL_COM),
1988    ("optician.com", &P_MAIL_COM),
1989    ("orthodontist.net", &P_MAIL_COM),
1990    ("pediatrician.com", &P_MAIL_COM),
1991    ("photographer.net", &P_MAIL_COM),
1992    ("physicist.net", &P_MAIL_COM),
1993    ("politician.com", &P_MAIL_COM),
1994    ("presidency.com", &P_MAIL_COM),
1995    ("priest.com", &P_MAIL_COM),
1996    ("programmer.net", &P_MAIL_COM),
1997    ("publicist.com", &P_MAIL_COM),
1998    ("radiologist.net", &P_MAIL_COM),
1999    ("realtyagent.com", &P_MAIL_COM),
2000    ("registerednurses.com", &P_MAIL_COM),
2001    ("repairman.com", &P_MAIL_COM),
2002    ("representative.com", &P_MAIL_COM),
2003    ("salesperson.net", &P_MAIL_COM),
2004    ("secretary.net", &P_MAIL_COM),
2005    ("socialworker.net", &P_MAIL_COM),
2006    ("sociologist.com", &P_MAIL_COM),
2007    ("songwriter.net", &P_MAIL_COM),
2008    ("teachers.org", &P_MAIL_COM),
2009    ("techie.com", &P_MAIL_COM),
2010    ("technologist.com", &P_MAIL_COM),
2011    ("therapist.net", &P_MAIL_COM),
2012    ("umpire.com", &P_MAIL_COM),
2013    ("worker.com", &P_MAIL_COM),
2014    ("artlover.com", &P_MAIL_COM),
2015    ("bikerider.com", &P_MAIL_COM),
2016    ("birdlover.com", &P_MAIL_COM),
2017    ("blader.com", &P_MAIL_COM),
2018    ("kittymail.com", &P_MAIL_COM),
2019    ("lovecat.com", &P_MAIL_COM),
2020    ("marchmail.com", &P_MAIL_COM),
2021    ("boardermail.com", &P_MAIL_COM),
2022    ("catlover.com", &P_MAIL_COM),
2023    ("clubmember.org", &P_MAIL_COM),
2024    ("nonpartisan.com", &P_MAIL_COM),
2025    ("petlover.com", &P_MAIL_COM),
2026    ("doglover.com", &P_MAIL_COM),
2027    ("greenmail.net", &P_MAIL_COM),
2028    ("hackermail.com", &P_MAIL_COM),
2029    ("theplate.com", &P_MAIL_COM),
2030    ("bsdmail.com", &P_MAIL_COM),
2031    ("computer4u.com", &P_MAIL_COM),
2032    ("coolsite.net", &P_MAIL_COM),
2033    ("cyberdude.com", &P_MAIL_COM),
2034    ("cybergal.com", &P_MAIL_COM),
2035    ("cyberservices.com", &P_MAIL_COM),
2036    ("cyber-wizard.com", &P_MAIL_COM),
2037    ("linuxmail.org", &P_MAIL_COM),
2038    ("null.net", &P_MAIL_COM),
2039    ("solution4u.com", &P_MAIL_COM),
2040    ("tech-center.com", &P_MAIL_COM),
2041    ("webname.com", &P_MAIL_COM),
2042    ("acdcfan.com", &P_MAIL_COM),
2043    ("angelic.com", &P_MAIL_COM),
2044    ("discofan.com", &P_MAIL_COM),
2045    ("elvisfan.com", &P_MAIL_COM),
2046    ("hiphopfan.com", &P_MAIL_COM),
2047    ("kissfans.com", &P_MAIL_COM),
2048    ("madonnafan.com", &P_MAIL_COM),
2049    ("metalfan.com", &P_MAIL_COM),
2050    ("ninfan.com", &P_MAIL_COM),
2051    ("ravemail.com", &P_MAIL_COM),
2052    ("reggaefan.com", &P_MAIL_COM),
2053    ("snakebite.com", &P_MAIL_COM),
2054    ("bellair.net", &P_MAIL_COM),
2055    ("californiamail.com", &P_MAIL_COM),
2056    ("dallasmail.com", &P_MAIL_COM),
2057    ("nycmail.com", &P_MAIL_COM),
2058    ("pacific-ocean.com", &P_MAIL_COM),
2059    ("pacificwest.com", &P_MAIL_COM),
2060    ("sanfranmail.com", &P_MAIL_COM),
2061    ("usa.com", &P_MAIL_COM),
2062    ("africamail.com", &P_MAIL_COM),
2063    ("asia-mail.com", &P_MAIL_COM),
2064    ("australiamail.com", &P_MAIL_COM),
2065    ("berlin.com", &P_MAIL_COM),
2066    ("brazilmail.com", &P_MAIL_COM),
2067    ("chinamail.com", &P_MAIL_COM),
2068    ("dublin.com", &P_MAIL_COM),
2069    ("dutchmail.com", &P_MAIL_COM),
2070    ("englandmail.com", &P_MAIL_COM),
2071    ("europe.com", &P_MAIL_COM),
2072    ("arcticmail.com", &P_MAIL_COM),
2073    ("europemail.com", &P_MAIL_COM),
2074    ("germanymail.com", &P_MAIL_COM),
2075    ("irelandmail.com", &P_MAIL_COM),
2076    ("israelmail.com", &P_MAIL_COM),
2077    ("italymail.com", &P_MAIL_COM),
2078    ("koreamail.com", &P_MAIL_COM),
2079    ("mexicomail.com", &P_MAIL_COM),
2080    ("moscowmail.com", &P_MAIL_COM),
2081    ("munich.com", &P_MAIL_COM),
2082    ("asia.com", &P_MAIL_COM),
2083    ("polandmail.com", &P_MAIL_COM),
2084    ("safrica.com", &P_MAIL_COM),
2085    ("samerica.com", &P_MAIL_COM),
2086    ("scotlandmail.com", &P_MAIL_COM),
2087    ("spainmail.com", &P_MAIL_COM),
2088    ("swedenmail.com", &P_MAIL_COM),
2089    ("swissmail.com", &P_MAIL_COM),
2090    ("torontomail.com", &P_MAIL_COM),
2091    ("aircraftmail.com", &P_MAIL_COM),
2092    ("cash4u.com", &P_MAIL_COM),
2093    ("disposable.com", &P_MAIL_COM),
2094    ("execs.com", &P_MAIL_COM),
2095    ("fastservice.com", &P_MAIL_COM),
2096    ("instruction.com", &P_MAIL_COM),
2097    ("job4u.com", &P_MAIL_COM),
2098    ("net-shopping.com", &P_MAIL_COM),
2099    ("planetmail.com", &P_MAIL_COM),
2100    ("planetmail.net", &P_MAIL_COM),
2101    ("qualityservice.com", &P_MAIL_COM),
2102    ("rescueteam.com", &P_MAIL_COM),
2103    ("surgical.net", &P_MAIL_COM),
2104    ("atheist.com", &P_MAIL_COM),
2105    ("disciples.com", &P_MAIL_COM),
2106    ("muslim.com", &P_MAIL_COM),
2107    ("protestant.com", &P_MAIL_COM),
2108    ("reborn.com", &P_MAIL_COM),
2109    ("reincarnate.com", &P_MAIL_COM),
2110    ("religious.com", &P_MAIL_COM),
2111    ("saintly.com", &P_MAIL_COM),
2112    ("brew-meister.com", &P_MAIL_COM),
2113    ("cutey.com", &P_MAIL_COM),
2114    ("dbzmail.com", &P_MAIL_COM),
2115    ("doramail.com", &P_MAIL_COM),
2116    ("galaxyhit.com", &P_MAIL_COM),
2117    ("hilarious.com", &P_MAIL_COM),
2118    ("humanoid.net", &P_MAIL_COM),
2119    ("hot-shot.com", &P_MAIL_COM),
2120    ("inorbit.com", &P_MAIL_COM),
2121    ("iname.com", &P_MAIL_COM),
2122    ("innocent.com", &P_MAIL_COM),
2123    ("keromail.com", &P_MAIL_COM),
2124    ("myself.com", &P_MAIL_COM),
2125    ("rocketship.com", &P_MAIL_COM),
2126    ("toothfairy.com", &P_MAIL_COM),
2127    ("toke.com", &P_MAIL_COM),
2128    ("tvstar.com", &P_MAIL_COM),
2129    ("uymail.com", &P_MAIL_COM),
2130    ("2trom.com", &P_MAIL_COM),
2131    ("mail.de", &P_MAIL_DE),
2132    ("mail.ru", &P_MAIL_RU),
2133    ("inbox.ru", &P_MAIL_RU),
2134    ("internet.ru", &P_MAIL_RU),
2135    ("bk.ru", &P_MAIL_RU),
2136    ("list.ru", &P_MAIL_RU),
2137    ("mail2tor.com", &P_MAIL2TOR),
2138    ("mailbox.org", &P_MAILBOX_ORG),
2139    ("secure.mailbox.org", &P_MAILBOX_ORG),
2140    ("mailo.com", &P_MAILO_COM),
2141    ("migadu.com", &P_MIGADU),
2142    ("nauta.cu", &P_NAUTA_CU),
2143    ("naver.com", &P_NAVER),
2144    ("nine.testrun.org", &P_NINE_TESTRUN_ORG),
2145    ("nubo.coop", &P_NUBO_COOP),
2146    ("hotmail.com", &P_OUTLOOK_COM),
2147    ("outlook.com", &P_OUTLOOK_COM),
2148    ("office365.com", &P_OUTLOOK_COM),
2149    ("outlook.com.tr", &P_OUTLOOK_COM),
2150    ("live.com", &P_OUTLOOK_COM),
2151    ("outlook.de", &P_OUTLOOK_COM),
2152    ("ouvaton.org", &P_OUVATON_COOP),
2153    ("posteo.de", &P_POSTEO),
2154    ("posteo.af", &P_POSTEO),
2155    ("posteo.at", &P_POSTEO),
2156    ("posteo.be", &P_POSTEO),
2157    ("posteo.ca", &P_POSTEO),
2158    ("posteo.ch", &P_POSTEO),
2159    ("posteo.cl", &P_POSTEO),
2160    ("posteo.co", &P_POSTEO),
2161    ("posteo.co.uk", &P_POSTEO),
2162    ("posteo.com", &P_POSTEO),
2163    ("posteo.com.br", &P_POSTEO),
2164    ("posteo.cr", &P_POSTEO),
2165    ("posteo.cz", &P_POSTEO),
2166    ("posteo.dk", &P_POSTEO),
2167    ("posteo.ee", &P_POSTEO),
2168    ("posteo.es", &P_POSTEO),
2169    ("posteo.eu", &P_POSTEO),
2170    ("posteo.fi", &P_POSTEO),
2171    ("posteo.gl", &P_POSTEO),
2172    ("posteo.gr", &P_POSTEO),
2173    ("posteo.hn", &P_POSTEO),
2174    ("posteo.hr", &P_POSTEO),
2175    ("posteo.hu", &P_POSTEO),
2176    ("posteo.ie", &P_POSTEO),
2177    ("posteo.in", &P_POSTEO),
2178    ("posteo.is", &P_POSTEO),
2179    ("posteo.it", &P_POSTEO),
2180    ("posteo.jp", &P_POSTEO),
2181    ("posteo.la", &P_POSTEO),
2182    ("posteo.li", &P_POSTEO),
2183    ("posteo.lt", &P_POSTEO),
2184    ("posteo.lu", &P_POSTEO),
2185    ("posteo.me", &P_POSTEO),
2186    ("posteo.mx", &P_POSTEO),
2187    ("posteo.my", &P_POSTEO),
2188    ("posteo.net", &P_POSTEO),
2189    ("posteo.nl", &P_POSTEO),
2190    ("posteo.no", &P_POSTEO),
2191    ("posteo.nz", &P_POSTEO),
2192    ("posteo.org", &P_POSTEO),
2193    ("posteo.pe", &P_POSTEO),
2194    ("posteo.pl", &P_POSTEO),
2195    ("posteo.pm", &P_POSTEO),
2196    ("posteo.pt", &P_POSTEO),
2197    ("posteo.ro", &P_POSTEO),
2198    ("posteo.ru", &P_POSTEO),
2199    ("posteo.se", &P_POSTEO),
2200    ("posteo.sg", &P_POSTEO),
2201    ("posteo.si", &P_POSTEO),
2202    ("posteo.tn", &P_POSTEO),
2203    ("posteo.uk", &P_POSTEO),
2204    ("posteo.us", &P_POSTEO),
2205    ("protonmail.com", &P_PROTONMAIL),
2206    ("protonmail.ch", &P_PROTONMAIL),
2207    ("pm.me", &P_PROTONMAIL),
2208    ("purelymail.com", &P_PURELYMAIL_COM),
2209    ("cheapermail.com", &P_PURELYMAIL_COM),
2210    ("placeq.com", &P_PURELYMAIL_COM),
2211    ("rethinkmail.com", &P_PURELYMAIL_COM),
2212    ("worldofmail.com", &P_PURELYMAIL_COM),
2213    ("qq.com", &P_QQ),
2214    ("foxmail.com", &P_QQ),
2215    ("rambler.ru", &P_RAMBLER_RU),
2216    ("autorambler.ru", &P_RAMBLER_RU),
2217    ("myrambler.ru", &P_RAMBLER_RU),
2218    ("rambler.ua", &P_RAMBLER_RU),
2219    ("lenta.ru", &P_RAMBLER_RU),
2220    ("ro.ru", &P_RAMBLER_RU),
2221    ("r0.ru", &P_RAMBLER_RU),
2222    ("riseup.net", &P_RISEUP_NET),
2223    ("rogers.com", &P_ROGERS_COM),
2224    ("sonic.net", &P_SONIC),
2225    ("stinpriza.net", &P_STINPRIZA_NET),
2226    ("stinpriza.eu", &P_STINPRIZA_NET),
2227    ("el-hoyo.net", &P_STINPRIZA_NET),
2228    ("systemausfall.org", &P_SYSTEMAUSFALL_ORG),
2229    ("solidaris.me", &P_SYSTEMAUSFALL_ORG),
2230    ("systemli.org", &P_SYSTEMLI_ORG),
2231    ("t-online.de", &P_T_ONLINE),
2232    ("magenta.de", &P_T_ONLINE),
2233    ("tiscali.it", &P_TISCALI_IT),
2234    ("tutanota.com", &P_TUTANOTA),
2235    ("tutanota.de", &P_TUTANOTA),
2236    ("tutamail.com", &P_TUTANOTA),
2237    ("tuta.io", &P_TUTANOTA),
2238    ("keemail.me", &P_TUTANOTA),
2239    ("ukr.net", &P_UKR_NET),
2240    ("undernet.uy", &P_UNDERNET_UY),
2241    ("vfemail.net", &P_VFEMAIL),
2242    ("vivaldi.net", &P_VIVALDI),
2243    ("vk.com", &P_VK_COM),
2244    ("vodafone.de", &P_VODAFONE_DE),
2245    ("vodafonemail.de", &P_VODAFONE_DE),
2246    ("web.de", &P_WEB_DE),
2247    ("email.de", &P_WEB_DE),
2248    ("flirt.ms", &P_WEB_DE),
2249    ("hallo.ms", &P_WEB_DE),
2250    ("kuss.ms", &P_WEB_DE),
2251    ("love.ms", &P_WEB_DE),
2252    ("magic.ms", &P_WEB_DE),
2253    ("singles.ms", &P_WEB_DE),
2254    ("cool.ms", &P_WEB_DE),
2255    ("kanzler.ms", &P_WEB_DE),
2256    ("okay.ms", &P_WEB_DE),
2257    ("party.ms", &P_WEB_DE),
2258    ("pop.ms", &P_WEB_DE),
2259    ("stars.ms", &P_WEB_DE),
2260    ("techno.ms", &P_WEB_DE),
2261    ("clever.ms", &P_WEB_DE),
2262    ("deutschland.ms", &P_WEB_DE),
2263    ("genial.ms", &P_WEB_DE),
2264    ("ich.ms", &P_WEB_DE),
2265    ("online.ms", &P_WEB_DE),
2266    ("smart.ms", &P_WEB_DE),
2267    ("wichtig.ms", &P_WEB_DE),
2268    ("action.ms", &P_WEB_DE),
2269    ("fussball.ms", &P_WEB_DE),
2270    ("joker.ms", &P_WEB_DE),
2271    ("planet.ms", &P_WEB_DE),
2272    ("power.ms", &P_WEB_DE),
2273    ("wkpb.de", &P_WKPB_DE),
2274    ("yahoo.com", &P_YAHOO),
2275    ("yahoo.de", &P_YAHOO),
2276    ("yahoo.it", &P_YAHOO),
2277    ("yahoo.fr", &P_YAHOO),
2278    ("yahoo.es", &P_YAHOO),
2279    ("yahoo.se", &P_YAHOO),
2280    ("yahoo.co.uk", &P_YAHOO),
2281    ("yahoo.co.nz", &P_YAHOO),
2282    ("yahoo.com.au", &P_YAHOO),
2283    ("yahoo.com.ar", &P_YAHOO),
2284    ("yahoo.com.br", &P_YAHOO),
2285    ("yahoo.com.mx", &P_YAHOO),
2286    ("myyahoo.com", &P_YAHOO),
2287    ("ymail.com", &P_YAHOO),
2288    ("rocketmail.com", &P_YAHOO),
2289    ("yahoodns.net", &P_YAHOO),
2290    ("yandex.com", &P_YANDEX_RU),
2291    ("yandex.by", &P_YANDEX_RU),
2292    ("yandex.kz", &P_YANDEX_RU),
2293    ("yandex.ru", &P_YANDEX_RU),
2294    ("yandex.ua", &P_YANDEX_RU),
2295    ("ya.ru", &P_YANDEX_RU),
2296    ("narod.ru", &P_YANDEX_RU),
2297    ("yggmail", &P_YGGMAIL),
2298    ("ziggo.nl", &P_ZIGGO_NL),
2299    ("zohomail.eu", &P_ZOHO),
2300    ("zohomail.com", &P_ZOHO),
2301    ("zoho.com", &P_ZOHO),
2302];
2303
2304pub(crate) static PROVIDER_IDS: LazyLock<HashMap<&'static str, &'static Provider>> =
2305    LazyLock::new(|| {
2306        HashMap::from([
2307            ("163", &P_163),
2308            ("aktivix.org", &P_AKTIVIX_ORG),
2309            ("aliyun", &P_ALIYUN),
2310            ("aol", &P_AOL),
2311            ("arcor.de", &P_ARCOR_DE),
2312            ("autistici.org", &P_AUTISTICI_ORG),
2313            ("blindzeln.org", &P_BLINDZELN_ORG),
2314            ("bluewin.ch", &P_BLUEWIN_CH),
2315            ("chello.at", &P_CHELLO_AT),
2316            ("comcast", &P_COMCAST),
2317            ("dismail.de", &P_DISMAIL_DE),
2318            ("disroot", &P_DISROOT),
2319            ("e.email", &P_E_EMAIL),
2320            ("espiv.net", &P_ESPIV_NET),
2321            ("example.com", &P_EXAMPLE_COM),
2322            ("fastmail", &P_FASTMAIL),
2323            ("firemail.de", &P_FIREMAIL_DE),
2324            ("freenet.de", &P_FREENET_DE),
2325            ("gmail", &P_GMAIL),
2326            ("gmx.net", &P_GMX_NET),
2327            ("hermes.radio", &P_HERMES_RADIO),
2328            ("hey.com", &P_HEY_COM),
2329            ("i.ua", &P_I_UA),
2330            ("i3.net", &P_I3_NET),
2331            ("icloud", &P_ICLOUD),
2332            ("infomaniak.com", &P_INFOMANIAK_COM),
2333            ("kolst.com", &P_KOLST_COM),
2334            ("kontent.com", &P_KONTENT_COM),
2335            ("mail.com", &P_MAIL_COM),
2336            ("mail.de", &P_MAIL_DE),
2337            ("mail.ru", &P_MAIL_RU),
2338            ("mail2tor", &P_MAIL2TOR),
2339            ("mailbox.org", &P_MAILBOX_ORG),
2340            ("mailo.com", &P_MAILO_COM),
2341            ("migadu", &P_MIGADU),
2342            ("nauta.cu", &P_NAUTA_CU),
2343            ("naver", &P_NAVER),
2344            ("nine.testrun.org", &P_NINE_TESTRUN_ORG),
2345            ("nubo.coop", &P_NUBO_COOP),
2346            ("outlook.com", &P_OUTLOOK_COM),
2347            ("ouvaton.coop", &P_OUVATON_COOP),
2348            ("posteo", &P_POSTEO),
2349            ("protonmail", &P_PROTONMAIL),
2350            ("purelymail.com", &P_PURELYMAIL_COM),
2351            ("qq", &P_QQ),
2352            ("rambler.ru", &P_RAMBLER_RU),
2353            ("riseup.net", &P_RISEUP_NET),
2354            ("rogers.com", &P_ROGERS_COM),
2355            ("sonic", &P_SONIC),
2356            ("stinpriza.net", &P_STINPRIZA_NET),
2357            ("systemausfall.org", &P_SYSTEMAUSFALL_ORG),
2358            ("systemli.org", &P_SYSTEMLI_ORG),
2359            ("t-online", &P_T_ONLINE),
2360            ("tiscali.it", &P_TISCALI_IT),
2361            ("tutanota", &P_TUTANOTA),
2362            ("ukr.net", &P_UKR_NET),
2363            ("undernet.uy", &P_UNDERNET_UY),
2364            ("vfemail", &P_VFEMAIL),
2365            ("vivaldi", &P_VIVALDI),
2366            ("vk.com", &P_VK_COM),
2367            ("vodafone.de", &P_VODAFONE_DE),
2368            ("web.de", &P_WEB_DE),
2369            ("wkpb.de", &P_WKPB_DE),
2370            ("yahoo", &P_YAHOO),
2371            ("yandex.ru", &P_YANDEX_RU),
2372            ("yggmail", &P_YGGMAIL),
2373            ("ziggo.nl", &P_ZIGGO_NL),
2374            ("zoho", &P_ZOHO),
2375        ])
2376    });
2377
2378pub static _PROVIDER_UPDATED: LazyLock<chrono::NaiveDate> =
2379    LazyLock::new(|| chrono::NaiveDate::from_ymd_opt(2026, 5, 6).unwrap());