[英]Verify if an email exists using mailgun and python
Mailgun有一个电子邮件验证程序,他们有一个示例响应,但我不知道如何使用它。 我想验证“ is_valid”是对还是错,并清除不良电子邮件的电子邮件列表。 当我打印函数调用时,得到响应[401]。 我如何询问is_valid是否为false?
def get_validate(email):
return requests.get(
"https://api.mailgun.net/v3/address/validate",
auth=("api", "key"),
params={"address": email})
with open('emails.csv', 'r') as file:
reader = csv.reader(file)
for i in reader:
s = ''
try:
print(i[0])
s = s + i[0]
print(get_validate(s))
except IndexError:
pass
样本响应为:
{
"address": "foo@mailgun.net",
"did_you_mean": null,
"is_disposable_address": false,
"is_role_address": false,
"is_valid": true,
"parts": {
"display_name": null,
"domain": "mailgun.net",
"local_part": "foo"
}
}
401
是身份验证失败,这是因为"key"
是无效的API密钥。 当您在mailgun上注册时,您的帐户将获得一个API密钥,并且需要使用它来代替"key"
。 在这里查看mailgun文档
def get_validate(email):
return requests.get(
"https://api.mailgun.net/v3/address/validate",
auth=("api", "pubkey"),
params={"address": email})
emails = list()
with open('emails.csv', 'r') as file:
reader = csv.reader(file)
for i in reader:
s = ''
try:
#print(i[0])
s = s + i[0]
response = get_validate(s)
status = response.status_code
content = response.headers['content-type']
valid = response.json()['is_valid']
emails.append((s, valid))
except IndexError:
pass
with open('clean_emails.csv', 'w') as outfile:
writer = csv.writer(outfile)
writer.writerows(emails)
这是最终的解决方案。
一种简单的方法是将CSV上载到Mailgun列表中,然后使用MailboxValidator导入列表并执行验证。
https://www.mailboxvalidator.com/resources/articles/how-to-import-email-list-from-mailgun/
如果您打算以后使用Mailgun发送电子邮件,这是最实用的方法。
但是,如果您只是在寻找电子邮件验证API,请尝试使用MailboxValidator免费API。
免费API密钥: https : //www.mailboxvalidator.com/pay/9
API文档: https : //www.mailboxvalidator.com/api-single-validation
您每30天可获得300次免费验证。
import httplib
import urllib
import hashlib
p = { 'key': 'Enter_License_Key', 'format': 'json', 'email': 'Enter_Email' }
conn = httplib.HTTPConnection("api.mailboxvalidator.com")
conn.request("GET", "/v1/validation/single?" + urllib.urlencode(p))
res = conn.getresponse()
print res.read()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.