Si vous êtes en mesure d'associer un message de réponse (RE :) avec le message d'origine/précédent auquel il répond, alors je pense que vous pourriez récupérer le corps du message original/précédent de votre base de données , puis supprimez ce texte du corps de la réponse. Toutefois, cette méthode ne sera pas 100% précise, car les clients peuvent convertir un e-mail HTML/texte enrichi en texte brut, ou vice-versa. Dans tous les cas, cette méthode ne fonctionnerait probablement pas. Même ainsi, cette technique serait générique et fonctionnerait probablement la majorité du temps. En outre, le fournisseur de messagerie électronique peut ajouter certains champs d'en-tête ou préambules aux débuts d'un message cité dans une réponse. Dans ce cas, je ne pense pas qu'il existe une solution «attrape tout». Ma recommandation serait de cibler quelques-uns des fournisseurs de messagerie Web vraiment énormes (Gmail, Yahoo, Microsoft, etc), apprendre les formats qu'ils utilisent pour leurs réponses et analyser les messages en conséquence. En outre, vous pourriez également gérer quelques formats génériques. Par exemple, le caractère '>' est couramment utilisé au début de chaque ligne de texte cité dans une réponse.
Si vous allez développer dans un langage comme C#, créez vous-même une interface comme IReplyFormat
, avec une implémentation correspondante pour chaque fournisseur, et éventuellement des formats génériques.
Je ne pense pas que vous trouverez une solution fourre-tout/parfaite à ce problème, car il y a simplement trop de fournisseurs de messagerie avec trop de formats différents. Cependant, je pense que vous pouvez au moins trouver quelques techniques, comme celles mentionnées ci-dessus, qui fonctionneront pour vous plusieurs fois, ce qui est le meilleur que vous pouvez espérer pour le moment.
Je ne suis pas d'accord, la taille n'est pas la contrainte la plupart du temps, mais nous devons afficher uniquement le message et non les réponses à la vue. –
Je suis d'accord avec vous que le texte copié est juste encombré, cependant, il faudra faire un compromis: 1. Développer un filtre qui ne sera jamais attraper qu'une partie de l'encombrement et a le danger de supprimer également le contenu pertinent - et donc être la cause des risques seront très probablement coûteux. - ou - 2. Vivre avec le fouillis et livrer le projet avec un risque beaucoup plus faible. - Mais comme je l'ai dit, c'est un compromis! – AxelEckenberger