License
4 years ago
Notices
3 years ago
pQuery
4 years ago
APIPermissionHelper.php
4 years ago
CdnAssetUrl.php
4 years ago
ConflictResolver.php
4 years ago
Cookies.php
4 years ago
DBCollationChecker.php
4 years ago
DOM.php
4 years ago
DateConverter.php
4 years ago
FreeDomains.php
4 years ago
Helpers.php
4 years ago
Installation.php
4 years ago
ProgressBar.php
4 years ago
SecondLevelDomainNames.php
4 years ago
Security.php
4 years ago
Url.php
4 years ago
index.php
4 years ago
FreeDomains.php
65 lines
| 1 | <?php |
| 2 | |
| 3 | namespace MailPoet\Util; |
| 4 | |
| 5 | if (!defined('ABSPATH')) exit; |
| 6 | |
| 7 | |
| 8 | class FreeDomains { |
| 9 | |
| 10 | /* https://github.com/mailcheck/mailcheck/wiki/List-of-Popular-Domains */ |
| 11 | const FREE_DOMAINS = [ |
| 12 | /* Default domains included */ |
| 13 | 'aol.com', 'att.net', 'comcast.net', 'facebook.com', 'gmail.com', 'gmx.com', 'googlemail.com', |
| 14 | 'google.com', 'hotmail.com', 'hotmail.co.uk', 'mac.com', 'me.com', 'mail.com', 'msn.com', |
| 15 | 'live.com', 'sbcglobal.net', 'verizon.net', 'yahoo.com', 'yahoo.co.uk', |
| 16 | |
| 17 | /* Other global domains */ |
| 18 | 'email.com', 'fastmail.fm', 'games.com' /* AOL */, 'gmx.net', 'hush.com', 'hushmail.com', 'icloud.com', |
| 19 | 'iname.com', 'inbox.com', 'lavabit.com', 'love.com' /* AOL */, 'outlook.com', 'pobox.com', 'protonmail.com', |
| 20 | 'rocketmail.com' /* Yahoo */, 'safe-mail.net', 'wow.com' /* AOL */, 'ygm.com' /* AOL */, |
| 21 | 'ymail.com' /* Yahoo */, 'zoho.com', 'yandex.com', |
| 22 | |
| 23 | /* United States ISP domains */ |
| 24 | 'bellsouth.net', 'charter.net', 'cox.net', 'earthlink.net', 'juno.com', |
| 25 | |
| 26 | /* British ISP domains */ |
| 27 | 'btinternet.com', 'virginmedia.com', 'blueyonder.co.uk', 'freeserve.co.uk', 'live.co.uk', |
| 28 | 'ntlworld.com', 'o2.co.uk', 'orange.net', 'sky.com', 'talktalk.co.uk', 'tiscali.co.uk', |
| 29 | 'virgin.net', 'wanadoo.co.uk', 'bt.com', |
| 30 | |
| 31 | /* Domains used in Asia */ |
| 32 | 'sina.com', 'sina.cn', 'qq.com', 'naver.com', 'hanmail.net', 'daum.net', 'nate.com', 'yahoo.co.jp', 'yahoo.co.kr', 'yahoo.co.id', 'yahoo.co.in', 'yahoo.com.sg', 'yahoo.com.ph', '163.com', '126.com', 'aliyun.com', 'foxmail.com', |
| 33 | |
| 34 | /* French ISP domains */ |
| 35 | 'hotmail.fr', 'live.fr', 'laposte.net', 'yahoo.fr', 'wanadoo.fr', 'orange.fr', 'gmx.fr', 'sfr.fr', 'neuf.fr', 'free.fr', |
| 36 | |
| 37 | /* German ISP domains */ |
| 38 | 'gmx.de', 'hotmail.de', 'live.de', 'online.de', 't-online.de' /* T-Mobile */, 'web.de', 'yahoo.de', |
| 39 | |
| 40 | /* Italian ISP domains */ |
| 41 | 'libero.it', 'virgilio.it', 'hotmail.it', 'aol.it', 'tiscali.it', 'alice.it', 'live.it', 'yahoo.it', 'email.it', 'tin.it', 'poste.it', 'teletu.it', |
| 42 | |
| 43 | /* Russian ISP domains */ |
| 44 | 'mail.ru', 'rambler.ru', 'yandex.ru', 'ya.ru', 'list.ru', |
| 45 | |
| 46 | /* Belgian ISP domains */ |
| 47 | 'hotmail.be', 'live.be', 'skynet.be', 'voo.be', 'tvcablenet.be', 'telenet.be', |
| 48 | |
| 49 | /* Argentinian ISP domains */ |
| 50 | 'hotmail.com.ar', 'live.com.ar', 'yahoo.com.ar', 'fibertel.com.ar', 'speedy.com.ar', 'arnet.com.ar', |
| 51 | |
| 52 | /* Domains used in Mexico */ |
| 53 | 'yahoo.com.mx', 'live.com.mx', 'hotmail.es', 'hotmail.com.mx', 'prodigy.net.mx', |
| 54 | |
| 55 | /* Domains used in Brazil */ |
| 56 | 'yahoo.com.br', 'hotmail.com.br', 'outlook.com.br', 'uol.com.br', 'bol.com.br', 'terra.com.br', 'ig.com.br', 'itelefonica.com.br', 'r7.com', 'zipmail.com.br', 'globo.com', 'globomail.com', 'oi.com.br', |
| 57 | ]; |
| 58 | |
| 59 | public function isEmailOnFreeDomain($email) { |
| 60 | $emailParts = explode('@', $email); |
| 61 | $domain = end($emailParts); |
| 62 | return in_array($domain, self::FREE_DOMAINS); |
| 63 | } |
| 64 | } |
| 65 |