2010-05-07 3 views
5

Est-il possible de vérifier si le php peut récupérer une sorte de ping/drapeau du serveur de messagerie Exchange pour dire "oui, l'email a été envoyé au destinataire prévu"? Selon le manuel PHP, le retour de mail() booléen pourrait signifier; "Il est important de noter que ce n'est pas parce que le courrier a été accepté pour la livraison que le courrier atteindra la destination prévue." Est-ce que cela signifie que PHP peut retourner le succès, mais en fait il pourrait y avoir un problème sur le serveur de messagerie que php ne serait pas au courant? et dans ce cas, aucun e-mail n'a été envoyé et l'utilisateur n'est pas le plus sage?Vérification de succès de la fonction mail() PHP

TIA Jared

+0

Exactement, le courrier peut donner vrai et l'envoi du courrier peut échouer silencieusement. –

+0

AFAIK, le moyen le plus précis est de demander à l'utilisateur de prendre des mesures dans l'e-mail envoyé. Si l'action est terminée, ils ont probablement reçu l'email. – munch

Répondre

4

La fonction mail() se connecter via SMTP simplement au serveur et envoyer le message. Ensuite, si le serveur dit que le serveur a reçu le message, le courrier retournera avec succès.

En attendant, les choses peuvent mal tourner. Le compte de l'utilisateur pourrait être supprimé, le disque dur sur le serveur de courrier électronique pourrait tomber en panne, le serveur SMTP pourrait ne pas trouver le serveur de messagerie de l'utilisateur. Le serveur de messagerie de l'utilisateur peut rejeter le message car la boîte aux lettres de l'utilisateur est pleine. Beaucoup, beaucoup de choses pourraient mal tourner.

Ce n'est pas la faute de PHP. Et aucune amélioration raisonnable n'a pu être apportée à aucune API de langage de programmation pour s'assurer que quelqu'un a reçu le message. Mais certaines entreprises comme CampaignMonitor offrent un service payant qui permettra de vérifier les rebonds et si les gens ouvrent le message pour mettre à jour vos listes de diffusion. En utilisant les API de services comme ceux-ci, vous pouvez vérifier dans quelques jours si le message a été reçu avec succès. Donc les docs PHP disent juste: 'Nous pouvons seulement vous dire si le premier serveur SMTP a dit qu'ils l'ont eu. Un certain nombre de problèmes peuvent se produire entre les ordinateurs de là à la personne avec le compte de messagerie.

+1

ok, c'est les réponses que je voulais savoir, merci les gars :) p.s dieu J'aime ce site !! <3 – Jared

Questions connexes