Question

Je dispose d'une base d'environ 10k utilisateurs qui se sont abonnés aux bulletins d'information. Je change mon site de asp php. J'envoie des bulletins d'information par cron job. Je veux suivre le dossier du rapport de livraison infructueuse. Comment est-ce possible? S'il vous plaît Guide-moi, Merci.

Était-ce utile?

La solution

En php lorsque vous l'envoi de courrier avec le courrier fonction vous devriez vérifier avec état

si (courrier ($ à, $ subject, $ message, $ headers)) {// Successfull courrier livraison} else {// Code pour envoi non Successfull}

Ceci est très inaccruate pour ce que l'OP essaie de faire en fait ... De la manuel :

Il est important de noter que tout parce que le courrier a été accepté pour la livraison, cela ne signifie pas l'e-mail sera effectivement atteindre la destinée destination.

En fonction du type de serveur et la configuration, vous obtiendrez des résultats différents. Il est préférable d'utiliser SMTP pour assurer une interface correcte et cohérente. En général, je voudrais utiliser une bibliothèque pour le faire ... vous pouvez le faire vous-même manuellement à l'aide des prises, mais pourquoi réinventer la roue? Il y a 3 bibliothèques i utiliser en fonction du projet ...

Pour ce niveau d'interaction i utiliserais SwiftMailer ou Zend_Mail. Ces deux support obtenir des informations de SMTP ainsi que l'envoi du message, par exemple, vous pouvez obtenir des informations sur les destinataires ayant échoué ( exemple SwitftMailer ). Les deux Zend et Swift prennent également en charge les files d'attente de bobines personnalisées afin que vous puissiez intégrer plus profondément faire la queue et l'envoi de messages d'une manière d'application au courant. SwiftMailer a également la fonctionnalité batchSend ... Je suppose que cela est disponible dans Zend_Mail aussi bien, mais je n'ai jamais creusé pour profond.

Ceci est seulement la moitié de la bataille que ... Pour lire réellement le NDR que vous devez est l'enregistrement de script dans le magasin de courrier, en boucle à travers les messages, puis sur Zend_Mail_Storage pour gérer cela. Si vous avez besoin de faire cela, alors vous voulez probablement juste aller de l'avant et d'utiliser Zend_Mail pour l'envoi et depuis stockage est inclus dans le composant. Vous aurez besoin de jeter un oeil à la RFC pour les codes de statut et NDR afin d'analyser correctement.

Dans l'ensemble, si possible, je recommande simplement intégrer un service 3ème partie comme MailChimp ou Constant contact . Its a beaucoup moins de travail, et à moins que vous avez une équipe de développeurs travaillant sur cette fois-ci sur un service va probablement donner de meilleurs résultats dans tous les domaines.

Autres conseils

En php lorsque vous l'envoi de courrier avec fonction de messagerie que vous devriez vérifier avec l'état

si (courrier ($ à, $ subject, $ message, $ headers)) { // Successfull livraison du courrier } autre { // code pour l'envoi non Successfull }

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top