标签: email-validation

python:正确的方法验证电子邮件是否存在

我试图通过首先解析其 dns 来验证电子邮件是否确实存在,然后使用以下代码检查电子邮件是否有效:

    email = test@cisco.com
    domain = email.split("@")[-1]
    records = dns.resolver.query(domain, 'MX')
    mxRecord = records[0].exchange
    mxRecord = str(mxRecord)
    server.connect(mxRecord)
    server.helo(host)
    server.mail('myemail@gmail.com')
    code, message = server.rcpt(str(email))
    server.quit()
    if code == 250:
        print('valid email', message) 
    else:
        print('invalid email', message)
Run Code Online (Sandbox Code Playgroud)

这几次有效,但是当我发送多个请求时,我收到如下消息:

“5.7.1 服务不可用,客户端主机 [122.166.xxx.xxx] 使用 Spamhaus 被阻止。要请求从此列表中删除,请参阅 http://www.spamhaus.org/lookup.lasso (AS160312312) [BL2NAM02FT12312.eop-nam02。 prod.protection.outlook.com]'"

我知道他们正试图阻止我的 IP 地址,因为它认为它是垃圾邮件。

以下是我的问题:

  • 有没有正确的方法来进行这种类型的电子邮件验证,而不会被标记为垃圾邮件?当我在我的系统上运行代码并且只是为电子邮件提供一个虚拟值时,它是否被标记为垃圾邮件

server.mail('myemail@gmail.com')

  • 是否可以使用一些代理来做到这一点?我的用例需要验证 100 个电子邮件地址。我看到一些可用于电子邮件验证的商业 api,但目前对我来说不可行。

python smtp spam-prevention email-validation email-spam

12
推荐指数
2
解决办法
2万
查看次数

为什么filter_var($ email,FILTER_VALIDATE_EMAIL)允许test @ test?

我刚刚设置了一个表单的验证,我决定尝试使用filter_var函数来检查我的电子邮件地址的有效性.我不知道filter_var实际上允许在哪里(因为文档很简单),我发现它允许一个像test @ test这样的电子邮件地址.在域中是否必须有.com,.net等...

php email-validation

11
推荐指数
2
解决办法
9406
查看次数

验证UITextField中的电子邮件地址

我想在包含电子邮件地址的文本字段中进行验证.
在字符串"emailRegEx"中添加什么来限制用户在电子邮件地址中插入三个点或者我必须在方法中写入相同的内容.

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string. 
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

- (BOOL)EmailValidationL:(NSString *)email
{
    NSString *emailRegEx =@"(?:[a-z0-9!#$%\\&'*+/=?\\^_`{|}~-]+(?:\\.[a-z0-9!#$%\\&'*+/=?\\^_`{|}"
    @"~-]+)*|\"(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\"
    @"x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])*\")@(?:(?:[a-z0-9](?:[a-"
    @"z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\\[(?:(?:25[0-5"
    @"]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-"
    @"9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21"
    @"-\\x5a\\x53-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])+)\\])";

    NSPredicate *regExPredicate =
    [NSPredicate predicateWithFormat:@"SELF MATCHES %@", emailRegEx];
    a= [regExPredicate evaluateWithObject:email];
    return a;
}
Run Code Online (Sandbox Code Playgroud)

iphone objective-c email-validation ios swift

11
推荐指数
5
解决办法
2万
查看次数

用户帐户激活,电子邮件确认和Passport/Node.Js邀请

我想为在Passport/Neo4J上运行的用户身份验证系统设置3件事:

1)手动用户帐户激活(以便管理员执行);

2)仅邀请帐户创建;

3)激活前通过电子邮件确认帐户;

我想知道你是否知道任何易于使用的Passport插件(我没有找到任何自己,但也想要你的建议)以及 - 实现它的最佳方法(也许你已经完成/看到它,所以你可以分享代码?)

谢谢!

authentication email-validation user-accounts node.js passport.js

11
推荐指数
1
解决办法
4895
查看次数

什么是全局接受的正则表达式来匹配电子邮件地址

我见过很多例子,有很多'不,你错过了什么'评论.匹配电子邮件地址的正确方法是什么?

出于Sanity的缘故,只有完全限定的域名,不允许使用@localhost.(或两种方式)

必须允许子域名(issac@deptartment.company.museum)

regex language-agnostic email-validation

10
推荐指数
3
解决办法
7898
查看次数

jQuery电子邮件验证要求

我正在使用jQuery.Validation插件进行客户端验证,其中包括验证电子邮件地址.现在我也想在服务器端验证(对于没有javascript的用户等).由于缺乏更好的想法,我开始使用正则表达式,但很快我就意识到我希望使用与jQuery方法相同的要求.或者,如果我能找到一些方法来覆盖我自己的jQuery验证要求,那就可以了.

有谁知道jQuery方法有什么要求?它是正则表达式验证,并且,如果是,表达式是什么?有没有办法覆盖它,即使我不知道它?

(我已经注意到可以预先形成远程验证,但如果可能的话,我想避免这种额外的网络流量......)

jquery email-validation client-side-validation

10
推荐指数
1
解决办法
2万
查看次数

如何检查电子邮件地址是否是假的?

我需要知道如何在不使用电子邮件确认链接的情况下检查电子邮件地址是否有效.我怎样才能做到这一点?

email email-validation

10
推荐指数
3
解决办法
6998
查看次数

有效的电子邮件地址 - XSS和SQL注入

由于电子邮件地址有很多有效字符,是否有任何有效的电子邮件地址本身可以是XSS攻击或SQL注入?我在网上找不到任何相关信息.

电子邮件地址的本地部分可以使用以下任何ASCII字符:

  • 大写和小写英文字母(a-z,A-Z)
  • 数字0到9
  • 人物!#$%&'*+ - /=?^ _` {| }〜
  • 性格.(点,句号,句号),条件是它不是最后一个字符,并且还提供它不连续出现两次或多次(例如John..Doe @ example.com).

http://en.wikipedia.org/wiki/E-mail_address#RFC_specification

我不是在问如何防止这些攻击(我已经在使用参数化查询和转义/ HTML净化器),这更像是一个概念验证.

首先想到的是'OR 1=1--@gmail.com,除了不允许空格.所有SQL注入都需要空格吗?

php xss sql-injection email-validation

10
推荐指数
1
解决办法
1万
查看次数

用于规范化(规范化但不仅仅是清理)电子邮件地址的库

有多种方法可以生成电子邮件地址字符串,这些字符串与直接字符串比较(见下文)不同,但在逻辑上是等效的(即发送到两者的邮件都转到同一个邮箱).这通常允许用户提供看似独特的电子邮件地址,即使不允许严格的平等.

我希望找到一个试图进行规范化的库,以便从大量的电子邮件地址中找到一些重复项.这里的目标是找到尽可能多的重复项.鉴于这对于多种用途有多大用处(在我的情况下,它是简单的滥用检测,因为滥用帐户倾向于(尝试)只重用某些帐户),我认为可能存在现有的解决方案.

那么什么样的东西可以变化?我至少知道这样的事情:

  • 域名部分不区分大小写(根据DNS); 但本地部分可能是也可能不是,这取决于邮件提供商(例如,Gmail认为它不区分大小写)
  • 很多域都有别名(googlemail.com相当于gmail.com)
  • 一些电子邮件提供商允许他们忽略的其他变体(例如,gmail忽略电子邮件地址中的任何点!)

理想情况下,这将是Java,虽然脚本语言也可以工作(命令行工具)

java email normalization email-validation

10
推荐指数
2
解决办法
2899
查看次数

如何在TSQL中使用正则表达式?

我需要一个正则表达式,以便我可以在数据库表中找到所有无效的电子邮件地址.

SELECT *
FROM dbo.[Users] AS u 
WHERE u.EmailAddress not like 'regular expression of valid email addresses'
Run Code Online (Sandbox Code Playgroud)

SQL Server是否支持正则表达式?如果是这样,我怎么能写一个电子邮件地址?

regex sql t-sql sql-server email-validation

10
推荐指数
1
解决办法
2万
查看次数