コード例 #1
0
 def _validate_email_from_signup_settings(email: str):
     email_parts = email.split('@')
     mail_server = email_parts[1]
     whitelist = list()
     if signup_settings.domains_for_email_signup_whitelist:
         whitelist = [x.strip() for x in signup_settings.domains_for_email_signup_whitelist.split(',')]
     blacklist = list()
     if signup_settings.forbidden_domains_for_email_signup:
         blacklist = [y.strip() for y in signup_settings.forbidden_domains_for_email_signup.split(',')]
     if mail_server in whitelist:
         # always allow whitelisted domain names for emails
         pass
     else:
         if not signup_settings.allow_free_email_addresses:
             if is_free_mail(email=email):
                 raise serializers.ValidationError(
                     _('You cannot register using an email address from free email services')
                 )
         if mail_server in blacklist:
             raise serializers.ValidationError(
                 _('You cannot register using this kind of email address')
             )
     return True
コード例 #2
0
 def test_gmail(self):
     self.assertTrue(is_free_mail('*****@*****.**'))
コード例 #3
0
 def test_mail_ru(self):
     self.assertTrue(is_free_mail('*****@*****.**'))
コード例 #4
0
 def test_no_at(self):
     self.assertFalse(is_free_mail('someinvalidemail'))
コード例 #5
0
 def test_mutliple_at(self):
     self.assertFalse(is_free_mail('sosxs33me@inv@alid@email'))
コード例 #6
0
 def test_hosterion(self):
     self.assertFalse(is_free_mail('*****@*****.**'))
コード例 #7
0
 def test_fleio(self):
     self.assertFalse(is_free_mail('*****@*****.**'))
コード例 #8
0
 def test_microsoft(self):
     self.assertFalse(is_free_mail('*****@*****.**'))
コード例 #9
0
 def test_google(self):
     self.assertFalse(is_free_mail('*****@*****.**'))
コード例 #10
0
 def test_plus_address(self):
     self.assertTrue(is_free_mail('*****@*****.**'))
コード例 #11
0
 def test_hotmail(self):
     self.assertTrue(is_free_mail('*****@*****.**'))
コード例 #12
0
 def test_email_ro(self):
     self.assertTrue(is_free_mail('*****@*****.**'))