2015-09-17 1 views
0

Nous souhaitons rediriger un utilisateur vers son fournisseur de messagerie après l'enregistrement. La question est - comment pouvons-nous trouver où rediriger?Déterminer l'URL du fournisseur de messagerie par email iteslf

Existe-t-il un outil ou une API pour cela?

+1

Que voulez-vous dire? Rediriger l'utilisateur vers google.com/gmail s'il utilise un domaine comme gmail.com? – ojovirtual

+0

@ojovirtual, oui, exactement. – t1gor

+1

Je ne connais aucun service pour cela. Vous pouvez faire une base de données des fournisseurs de services principaux et si les utilisateurs appartiennent à l'un d'entre eux, le rediriger là. Cela fonctionnera pour la plupart des gens. En outre, vous pouvez, en fonction du domaine du compte de messagerie, vérifier l'enregistrement 'MX' sur le serveur' DNS' pour ce domaine et l'utiliser pour vérifier le fournisseur. – ojovirtual

Répondre

0

Puisque je n'ai rien trouvé d'utile jusqu'à maintenant et qu'il n'y a pas de nouvelles réponses depuis un moment, j'ai décidé de compiler un script basé sur le commentaire de @ ojovirtual.

L'idée reste la même - chercher le MX enregistrement et la carte pour le service 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'); 
} 

espoir qui aide quelqu'un.