2009-11-17 3 views
0

Je recherche une solution qui me permettra de me connecter à une boîte aux lettres, d'obtenir un e-mail, d'appliquer des modifications spécifiques au corps du message (par exemple, modifier le contenu), email récemment modifié à une nouvelle adresse email. L'astuce est que cette modification ne doit pas détruire le format et les en-têtes de l'e-mail d'origine et je ne dois pas perdre les pièces jointes qui étaient dans l'e-mail d'origine.Manipuler le contenu d'un e-mail

Le type de manipulation qui sera effectué devra être fait par un processus externe qui connaît la logique de mon application.

La solution que je recherche peut être un logiciel externe qui peut invoquer une API pour traiter le contenu des emails, ou même API par lui-même que mon code va invoquer.

Notre solution est actuellement basée sur PHP, mais toute autre solution est également acceptable.

J'ai commencé à travailler avec la bibliothèque Zend Mail, mais je rencontre un problème pour comprendre le fonctionnement interne des formats de courrier électronique. Je ne voudrais pas commencer à déconner avec les objets mime dans le format d'email. Je veux seulement modifier le contenu textuel du message et garder le reste intact.

+1

Pouvons-nous savoir exactement ce que vous essayez de réaliser? – Franz

+0

Un exemple: Je voudrais interroger une base de données et récupérer des informations sur l'expéditeur, et ajouter le résultat au corps du message électronique. – sagi

Répondre

0

http://php.net/manual/en/book.imap.php - fonctions qui vous permettent de manipuler les systèmes de messagerie.

+0

Je sais. Mais en l'utilisant, je dois gérer toute l'analyse MIME par moi-même. C'est trop risqué et compliqué. Je veux quelque chose qui peut facilement me permettre d'attraper seulement le texte ou le corps HTML du message, le changer et transmettre le message à un autre endroit, tandis que toute autre propriété du message est laissée intacte. – sagi

0

Quel serveur de messagerie utilisez-vous? Dans qmail, il est facile de traiter n'importe quel e-mail entrant. Vous pouvez mettre n'importe quel script dans n'importe quelle langue pour traiter les lignes de l'email.

Si vous avez un accès IMAP à votre serveur, vous pouvez utiliser la librairie IMAP php. http://www.php.net/manual/en/book.imap.php

0

J'ai écrit une bibliothèque dans le cadre d'une application open source plus grande qui pourrait vous aider un peu. C'est un wrapper orienté objet autour des fonctions PHP imap et peut être trouvé à google code.

Malheureusement, cela ne fait pas exactement ce que vous voulez. Que voulez-vous changer dans le message? Il me sera peut-être possible de saisir simplement une version brute et de rechercher spécifiquement ce que vous voulez changer, en ignorant complètement le traitement du type MIME, puis de renvoyer tout le message. Il est assez simple de renvoyer l'email, et ceci (petit tutoriel) * sur l'envoi d'email avec des pièces jointes peut vous rafraîchir sur les bases (bien que la plupart de ce qui est dedans puisse être ignoré car les attachements et mimetypes seront déjà construits) .

* Je ne peux pas publier le lien car ma réputation n'est pas assez élevée pour deux liens dans un seul article. Je l'ajouterai donc dans un commentaire.

+0

Le tutoriel est ici - http://www.webcheatsheet.com/php/send_email_text_html_attachment.php – tedivm