Php 使用垃圾域检测一次性电子邮件

Php 使用垃圾域检测一次性电子邮件,php,codeigniter,Php,Codeigniter,我正在使用php/codeigniter开发网站 我已从github()下载了一个临时电子邮件域列表 我将其集成到我的网站以过滤和验证电子邮件地址。但我注意到有些域是垃圾域,无法通过提供的列表进行检测 请看下面的图片 当前Im使用此代码过滤/验证电子邮件: public function is_temp_mail($mail='') { $this->db->select('domain'); $this->db->from('table_dis

我正在使用php/codeigniter开发网站

我已从github()下载了一个临时电子邮件域列表

我将其集成到我的网站以过滤和验证电子邮件地址。但我注意到有些域是垃圾域,无法通过提供的列表进行检测

请看下面的图片

当前Im使用此代码过滤/验证电子邮件:

  public function is_temp_mail($mail='')
  {
    $this->db->select('domain');
    $this->db->from('table_disposal_email_domains');
    $domains=$this->db->get()->result();
    foreach($domains as $domain)
    {
      list(,$mail_domain) = explode('@',$mail);
      if(strcasecmp($mail_domain, $domain->domain) == 0){
            return true;
      }
    }
    return false;
  }

如何阻止垃圾域。请提供帮助。

一次性电子邮件的一个问题是每天都会添加新域。所以,几天后维护自己的列表是不够的

您可以使用API,它是免费的,并且经常更新


免责声明:我制作了这个API,如果您使用第三方软件包来帮助您阻止临时电子邮件域,那就太好了。你可以使用,它每月有300个免费的API积分。您可以在注册后使用免费API密钥


免责声明:我在MailboxValidator工作。

我编写了一个用于确定临时邮件域的简单API,您只需发送一个获取请求即可确定临时邮件:

https://api.testmail.top/domain/check/data=example@mail.com&ip=8.8.8.8
Authorization: Bearer XXXXXXXXXX.XXXXXXXXXX.XXXXXXXXXX
{
    "error": 0,
    "result": false,
    "message": "This domain is in Blacklist"
}
使用授权标题

https://api.testmail.top/domain/check/data=example@mail.com&ip=8.8.8.8
Authorization: Bearer XXXXXXXXXX.XXXXXXXXXX.XXXXXXXXXX
{
    "error": 0,
    "result": false,
    "message": "This domain is in Blacklist"
}
作为回应,如果邮件是临时的,你会收到这样的信息:

https://api.testmail.top/domain/check/data=example@mail.com&ip=8.8.8.8
Authorization: Bearer XXXXXXXXXX.XXXXXXXXXX.XXXXXXXXXX
{
    "error": 0,
    "result": false,
    "message": "This domain is in Blacklist"
}
如果邮件被证明是可信的,你会收到这样的回复(如gmail.com或yahoo.com):


我已经描述了错误代码和关于此的更详细说明

您尝试的代码在哪里?@IslamElshobokshy更新。您如何从逻辑上确定哪些是垃圾,哪些不是垃圾?如图所示,如果它是随机字符串而不可读的,你可以把它看作垃圾可丢弃的域。不像MayiNotocom之类的其他一次性域名,它是可读的。哇!真的免费吗?谢谢@tompec。这很有帮助。我希望我能有更高的限制。:)是的:)如果你想要更高的限制@thomaspetracco,请在twitter上与我联系。干杯。尝试了temp-mail.org上的一些域名,validator.pizza说它不是一次性的。