Bande de signatures et des réponses à des e-mails
Je suis actuellement en train de travailler sur un système qui permet aux utilisateurs de répondre à la notification d'e-mails qui sont envoyés (soupir).
J'ai besoin de dépouiller les réponses et les signatures, de sorte que je suis à gauche avec le contenu réel de la réponse, sans tout le bruit.
Quelqu'un aurait-il des suggestions sur la meilleure façon de le faire?
Vous devez vous connecter pour publier un commentaire.
Si votre système est en interne et/ou vous avez un nombre limité de répondre formats, il est possible de faire un assez bon travail. Ici sont les filtres que nous avons mis en place pour les réponses par courriel à trac billets:
Chute de tout le texte après et notamment:
'-- \n'
(norme e-mail sig délimiteur)'--\n'
(les gens oublient souvent de l'espace dans les sig délimiteur; et ce qui n'est pas commun en dehors de sigs)'-----Original Message-----'
(MS Outlook par défaut)'________________________________
' (32 " souligne, à nouveau Outlook)'On '
et à la fin avec' wrote:\n'
(mac OS X Mail.par défaut de l'application)'From: '
(failsafe quatre Outlook et quelques autres répondre formats)'Sent from my iPhone'
'Sent from my BlackBerry'
Les numéros 3 et 4 sont "commencer" au lieu de "égaux" parce que parfois, les utilisateurs de squash ensemble de lignes de l'accident.
Nous essayons d'être plus libéral au sujet de enlever les réponses, car il est beaucoup plus d'une gêne (pour nous) ont réponse ordures que c'est pour corriger du texte manquant.
Quelqu'un a d'autres formats dans la nature qu'ils veulent le partager?
<div class="gmail_extra">...</div>
, et yahoo:<div class="yahoo_quoted">...</div>
pour la cité de la partie (y compris " .. a écrit:")\n\s*On .* wrote:\s*\n*
Découvrez la email_reply_parser gem - https://github.com/github/email_reply_parser . Il fait un bon travail de la manipulation de ce problème.
Je ne crois pas que vous pouvez le faire de manière fiable (signatures utilisées pour commencer avec
'--'
mais je ne vois pas plus que). Peut-être que vous feriez mieux de demander aux gens de répondre inbetween texte des en-têtes et puis il suffit de bande de la réponse à partir de cela ? Ce n'est pas élégant, mais peut-être plus fiable.par exemple
donc, si vous voulez il suffit de regarder pour les en-têtes ci-dessus et de prendre ce qui est entre les deux.
Si vous voulez quelque chose de puissant & robuste, et ne dérange pas la lecture de publications académiques, vous pouvez consulter cette:
Voici la page d'accueil de l'un des auteurs, avec plus d'info & certains téléchargements:
Une approche qui peut être utilisée pour la signature (en plus de détecter __ ou --) est de tester si le prénom et/ou nom de famille de l'expéditeur est sur un court ligne (~ contenant de 3 à 4 mots, max).
Le nom de l'expéditeur est sur le raw adresse e-mail, la plupart du temps à côté de l'adresse de courriel, comme dans:
From: John Doe <[email protected]>
Ce serait basé sur l'hypothèse que vous rarement écrire votre propre nom dans un e-mail, et si vous le faites, c'est probablement dans une long phrase.
Bien sûr il y aura des faux positifs, mais il peut ne pas être un gros problème en fonction de ce que vous faites (nous l'utilisons à la fois le texte cité et de signature dans un ... gmail-bouton de style, de sorte overdetection de ne pas en perdre tout contenu, il est juste mal placé).
Si vous pouvez supposer que ces e-mails sont en texte brut, simplement enlever les lignes qui commence par ">" que les réponses, et "-- " ligne doit délimiter la signature. Mais ces hypothèses ne peut pas fonctionner, car toutes les personnes de plus de l'utilisation d'internet de logiciel qui est conforme aux règles.
Il y a une très belle bibliothèque PHP dédié à l'e-mail d'analyse
http://williamdurand.fr/EmailReplyParser/
https://github.com/willdurand/EmailReplyParser
La recommandé délimiteur de signature est "-- \n"". Si les gens suivent cette recommandation, le décapage des signatures devrait être facile.