2015-09-17 61 views
0

我们希望在注册后将用户重定向到他的电子邮件提供商。问题是 - 我们如何找到重定向的位置?通过电子邮件确定电子邮件提供商网址iteslf

是否有工具或API?

+1

你是什么意思?如果用户使用像“gmail.com”这样的域,将用户重定向到“google.com/gmail”? – ojovirtual

+0

@ojovirtual,完全是。 – t1gor

+1

不知道任何服务。您可以创建主要服务提供商的数据库,如果用户属于其中一个用户,则将其重定向到那里。这将为大多数人工作。此外,您可以根据电子邮件帐户的域名,检查DNS域名服务器上的“MX”记录,并使用它来检查提供商。 – ojovirtual

回答

0

由于到目前为止我还没有发现任何有用的东西,并且暂时没有新的答案,所以决定根据@ ojovirtual的评论来编译脚本。

的想法仍然是相同的 - 获取MX记录并将其映射到服务URL

<?php 

function getMailServiceUrl($email) 
{ 
    getmxrr(array_pop(explode('@', $email)), $mx); 

    $servicesMap = [ 
     // MX record => service URL 
     'mx15.ukraine.com.ua' => 'https://webmail.adm.tools', 
     'alt4.gmail-smtp-in.l.google.com' => 'https://gmail.com', 
     'gmail-smtp-in.l.google.com' => 'https://gmail.com' 
    ]; 

    foreach ($mx as $key => $name) { 
     if (isset($servicesMap[$name])) { 
      return $servicesMap[$name]; 
     } 
    } 

    throw new \LogicException('Not found'); 
} 

希望帮助别人。