2010-06-30 7 views
3

parfois en raison d'une mauvaise entrée du côté de l'utilisateur, le courrier rebondit et n'a pas atteint le destinataire. (envoyé depuis google app engine.)comment détecter le courrier indésirable dans google app engine?

Comment détecter un tel e-mail?

modifier: peut-être je n'étais pas clair dans ma question:

Je veux savoir à quel poste je l'ai envoyé le courrier qui était de retour (pour que je puisse alerter l'utilisateur ou supprimer l'email id) . C'est plus lié à la façon dont le rebond de l'email fonctionne. normalement, le mail de rebond ne vient pas exactement comme envoyé, mais avec des informations différentes, y at-il un en-tête particulier ou quelque chose là pour savoir quel identifiant d'email était-ce? ... Je pense que j'ai compris en écrivant ces derniers, je garde cette question ainsi elle pourrait aider quelqu'un. Je vais tout simplement envoyer un mail à [email protected] et créer un gestionnaire de réception de courrier. :)

alors une question de plus: quelle est la longueur maximale est-ce que app-engine (ou n'importe quel serveur de messagerie) permet l'adresse email?

Répondre

0

Le plus simple est d'encoder une adresse e-mail via l'encodage base64 ou simiar et de la préfixer de l'adresse.

toutes les adresses de [email protected] sont des adresses email valides pour from gae.

simplement créer un gestionnaire de réception de courrier. décoder la chaîne de et obtenir l'adresse e-mail à laquelle vous envoyez l'e-mail à l'origine.

chose triste est la longueur maximale de 64 caractères autorisés pour la partie locale. dans ce cas, le stockage de l'adresse e-mail dans le magasin de données et l'utilisation de sa clé en tant que partie locale pour le courrier électronique peuvent être une option.

1

Utilisez l'une des adresses de votre application en tant qu'adresse from ([email protected]) et register a handler pour cette adresse. Ensuite, vous pouvez intercepter et interpréter les réponses (automatisées ou non).

+0

peut-être que je n'étais pas clair dans ma question, je l'ai modifié, merci pour votre réponse. – iamgopal

2

Malheureusement, cela n'est pas possible.

GAE ajoute automatiquement un en-tête "Return-Path" à votre message électronique. Les messages rebondis seront envoyés à l'adresse identifiée par cet en-tête. Vous ne pouvez pas modifier la valeur de cet en-tête. Pour plus de détails, voir http://code.google.com/p/googleappengine/issues/detail?id=1800 pour plus de détails.

+0

Oui, remarqué et regardé. – iamgopal

3

Depuis, Google a ajouté a method for receiving bounced messages via une requête HTTP. Il exige d'ajouter à votre app.yaml:

inbound_services: 
- mail_bounce 

ce qui entraînera une demande de frapper /_ah/bounce chaque fois qu'un rebond est reçu. Vous pouvez ensuite gérer le rebond en ajoutant un gestionnaire pour cela. Voir la section there sur la gestion des notifications de rebond pour plus de détails sur la façon de glaner les informations supplémentaires à partir de ces demandes.