2008-09-20 6 views
4

Lorsque vous développez une application qui envoie des messages électroniques de notification, quelles sont les meilleures pratiques pourComment envoyer des e-mails propres à partir de votre application?

  1. ne se battant pavillon comme un spammeur par votre société d'hébergement. (Couvrir tout de la meilleure technique :)
    • pour ne pas inonder un serveur de messagerie
    • meilleurs produits du serveur de messagerie, si vous deviez mettre en place vos propres
    • envoyer des messages comme si d'un utilisateur spécifique, mais encore clairement votre demande (pour assurer des plaintes, etc revenir à vous) sans casser la bonne étiquette e-mail
    • tout autre leçons apprises
  2. pas se marqués comme spam par le client du récepteur? (Couvrir tout de :)
    • configuration et l'utilisation sender-id, domaine-clés, SPF, reverse-dns, etc pour vous assurer que vos e-mails sont correctement identifiés
    • meilleures techniques d'en-tête SMTP pour éviter d'être signalé comme spam lors de l'envoi des e-mails pour les utilisateurs (par exemple, en utilisant Sender et en-têtes From ensemble)
    • tout autre leçons apprises

une exigence supplémentaire: cette application enverrions un seul message à un seul destinataire en fonction un un événement. Ainsi, les techniques d'envoi des mêmes messages à plusieurs destinataires ne s'appliqueront pas.

Répondre

5
meilleure technique

pour ne pas inonder un serveur de messagerie

pas beaucoup que vous pouvez faire à ce sujet au-delà de la vérification avec l'administrateur de votre serveur de messagerie (si elle est un compte d'hébergement partagé/pas dans votre contrôle). mais si l'exigence est d'un courriel à un seul destinataire par événement, cela ne devrait pas poser trop de problèmes. les choses qui tendent à obstruer les systèmes de messagerie sont des emails avec des centaines (ou plus) de destinataires.

Si vous avez des événements se déclenchant tout le temps, pensez à les consolider et à envoyer un e-mail qui les résume périodiquement.

envoyer des messages comme si d'un utilisateur spécifique, mais encore clairement de votre application (pour assurer des plaintes, etc revenir à vous) sans casser la bonne étiquette e-mail

vous pouvez accomplir cela en utilisant le " Reply-To "en-tête, qui aura alors les clients utilisent cette adresse au lieu de l'adresse De lors de la composition d'un message électronique.

Vous devez également définir l'en-tête "Return-Path" de tout e-mail, car les e-mails ne seront souvent pas filtrés.

ex.

From: [email protected] 
Return-Path: [email protected] 
Reply-To: [email protected] 

configuration et l'utilisation émetteur-id, les clés de domaine, SPF, reverse-dns, etc pour vous assurer que vos e-mails sont correctement identifiés

cela est fortement dépendante de la quantité de propriété vous avez de votre courrier et des serveurs DNS. spf/sender-id etc ... sont tous des problèmes DNS, vous devez donc avoir accès au DNS. Dans votre exemple, cela pourrait poser un problème. Comme vous définissez le courrier à partir d'un utilisateur spécifique, cet utilisateur doit avoir un SPF (par exemple) défini dans son DNS pour autoriser votre serveur de messagerie en tant qu'expéditeur valide. vous pouvez imaginer comment désordonné (sinon carrément impossible) cela arriverait avec un certain nombre d'utilisateurs avec différents noms de domaine. En ce qui concerne DNS inverse et autres, cela dépend vraiment. la plupart des ISP clients, etc ... vont simplement vérifier que le DNS inverse est activé. (c.-à-d. que 1.2.3.4 résout d'héberger.here.domain.com, même si host.here.domain.com ne résout pas en 1.2.3.4). cela est dû à la quantité d'hébergement partagé là-bas (où les serveurs de messagerie se signaleront souvent comme le nom de domaine du client, et non le vrai serveur de messagerie).

Il existe quelques réseaux rigoureux qui nécessitent un DNS inverse correspondant, mais cela nécessite que vous ayez le contrôle sur le serveur de messagerie s'il ne correspond pas en premier lieu. Si vous pouvez être un peu plus précis, je peux vous donner un peu plus de conseils, mais en général, pour les personnes qui ont besoin d'envoyer un courrier d'application, et qui n'ont pas un tas de contrôle sur leur environnement, je ne sais pas. d suggérer les éléments suivants:

  • assurez-vous de définir un « Return-Path »
  • il est bon d'ajouter votre application et les informations de l'abus et les en-têtes à savoir: « X-Mailer » et « X-Abuse- À "(il s'agit d'en-têtes personnalisés, à titre purement informatif)
  • Assurez-vous que DNS inversé est défini pour l'adresse IP de votre serveur de messagerie sortant
0

d'abord une correction rapide au retour chemin précédent

: un en-tête ajouté par le système recieving basé sur l'enveloppe-expéditeur du message incomming

pour spf travailler le retour chemin/Enveloppe-expéditeur doit être [email protected]

et assurez-vous que l'enregistrement spf pour yourdomain.com {ou si SPF par utilisateur pour [email protected] permet l'envoi de mails sur le serveur qui héberge l'application/envoie l'e-mail

ce-expéditeur de l'enveloppe est l'adresse qui recieve tous les bounces/erreurs

maintenant émetteur-id est totalement différent, il vérifie le retour chemin/enveloppe émetteur et de: adresse {stockée dans le message} si l'envoi de: hisname [email protected] réponse à: hisname [email protected]

ce sera pas un problème si l'envoi de: hisname hisaddres @ hisdomain.com

il sera et vous devez ajouter un Resent-From: hisname [email protected] car cela indique ignorer la de: pour les chèques-id expéditeur utilisent ce lieu comme il a été envoyé par vous sur son nom

0

maintenant pour les autres bits qui en valent la peine

mentionnés d'IP sont vos les serveurs de messagerie

a ont votre point de ptr de IP à un nom qui résout également le même ip FQDN

b ont votre serveur HELO/EHLO avec whatever.domain.com où domain.com est le même que le domaine du nom à l'étape A {pas le même nom pour resons ci-dessous}

c ont que HELO/EHLO servername également résoudre à l'adresse IP de votre serveur

d ajouter l'enregistrement spf suivant que HELO/nom de EHLO « v = spf1 un -Tous » {qui signifie permettre HELO/EHLO avec ce nom de ip de ce point nom seulement }

e ajouter les lignes d'expéditeur-id suivantes au nom de helo/ehlo {purement pour l'exhaustivité "spf2.0/mfrom, pra -all" {ie il n'y a aucun utilisateur @ ce-domaine}

f ajouter le spf suivante au nom de domaine complet et tout autre hostname pour votre serveur « v = spf1 -Tous » {c.-à-pas de machines sera jamais HELO/EHLO comme ce nom et aucun utilisateur @ ce domaine}

{comme nom de domaine complet peut être déterminé par les robots collecteurs/infections de son mieux pour ne jamais autoriser ce nom à utiliser dans HELO/EHLO salutations directement, il suffit que ce soit du même domaine que l'identité HELO/de EHLO pour prouver la validité des deux}

+0

oh tout cela et plus sur http://www.alandoherty.net/info/mailservers/ –

Questions connexes