2015-09-17 85 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'); 
} 

希望幫助別人。