2017-02-16 16 views
1

После того, как пользователь создал учетную запись, я планирую отобразить ссылку, чтобы привести пользователя к почтовому серверу его электронной почты. Например: , если пользователь1 имеет [email protected], ссылка будет указывать на gmail.com или mail.google.com. если пользователь2 имеет [email protected], ссылка будет указывать на mail.yahoo.com.Возможно ли с PHP найти программный почтовый поддомен или URL-адрес с адреса электронной почты?

В PHP я могу сделать

$domain = explode("@", '[email protected]')[1]; 
$domain2 = explode("@", '[email protected]')[1]; 
$mailUrl = $domain; //will work 
$mailUrl2 = $domain; //will not work 
$mailUrl = 'mail.'.$domain; //will not work 
$mailUrl2 = 'mail.'.$domain; // will work 

Так что я не могу предсказать вручную структуру submain. Мне было интересно, есть ли функция PHP или пакет Laravel 4, который возвращает мне правильный субдомен для адреса электронной почты, такого как gmail.com, mail.google.com, mail.yahoo.com, hotmail.com и т. Д.

+2

Вы не можете сделать это с помощью регулярного выражения. На самом деле, я бы сказал, вы не должны этого делать вообще. Что вы здесь делаете? Технически это делается с помощью [записей MX] (https://en.wikipedia.org/wiki/MX_record) и DNS, но это далеко не тривиально. – tadman

+0

Не знаете, что вы просите. Вы спрашиваете, есть ли список доменов веб-почты, которые вы можете использовать для перевода '@ yahoo.com' в' mail.yahoo.com'? – Pitchinnate

+0

Я пытаюсь помочь некоторым пользователям моей страны (которые, похоже, не знают, что они должны проверить их eamil после регистрации), чтобы перейти непосредственно к своей учетной записи электронной почты и проверить их вновь созданную учетную запись. –

ответ

0

Вы можете легко достичь этого, используя функцию PHP getmxrr.

Вот отрывок:

<?php 
    // Where the mx records will be added 
    $records = []; 

    // Calling, change gmail.com to whatever you need 
    getmxrr('gmail.com', $records); 

    // dump the array's contents 
    var_dump($records); 
?> 
+1

Это не дает вам адрес их веб-почты, только их записи MX, и я не вижу, как это помогает. – Andy

+0

Автор упомянул «почтовый сервер своей электронной почты». Я имел в виду фактические записи mx. –

+0

Спасибо за внимание. По крайней мере, я узнал функцию MX records. Но он предоставляет несколько подписок, таких как mx4.hotmail.com для hotmail.com и подпапки, таких как gmail-smtp-in.l.google.com для gmail.com. Ни один из них не перенаправит вас на gmail.com. Если для этого нет другой функции, это не поможет. –