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