Если вы можете связать ответ (RE :) с исходным/предыдущим сообщением о том, что это ответ, тогда я думаю, что вы могли бы захватить основной текст исходного/предыдущего сообщения из вашей базы данных , а затем удалите этот текст из тела ответа. Однако этот метод не будет на 100% точным, так как клиенты могут конвертировать HTML/Rich Text в обычный текст или наоборот. В любом таком случае этот метод, вероятно, не сработает. Тем не менее, этот метод был бы общим и, вероятно, работал большую часть времени.
Кроме того, поставщик электронной почты может добавлять определенные поля заголовка или преамбулы к началу цитируемого сообщения в ответ. В этом случае я не думаю, что есть какое-либо решение «поймать все».
Моя рекомендация будет нацелена на некоторые из действительно огромных поставщиков веб-почты (Gmail, Yahoo, Microsoft и т. Д.), Изучать форматы, которые они используют для своих ответов, и анализировать сообщения соответственно. Кроме того, вы, вероятно, можете обрабатывать несколько общих форматов. Например, символ «>» обычно используется в начале каждой строки цитируемого текста в ответе.
Если вы собираетесь разрабатывать язык, подобный C#, создайте себе интерфейс, такой как IReplyFormat
, с соответствующей реализацией для каждого провайдера и, возможно, с некоторыми стандартными форматами.
Я не думаю, что вы найдете какое-либо уловное решение для этой проблемы, так как слишком много почтовых провайдеров со слишком большим количеством разных форматов. Тем не менее, я думаю, вы можете, по крайней мере, найти некоторые методы, такие как упомянутые выше, которые будут работать для вас больше времени, чем нет, что является лучшим, на что вы можете надеяться на данный момент.
Я не согласен, размер не является ограничением большую часть времени, но нам нужно отображать только сообщение, а не ответы на представление. –
Я согласен с вами в том, что скопированный текст просто беспорядок, однако ему нужно будет сделать компромисс: 1. Разработка фильтра, который когда-либо будет захватывать часть беспорядка и может также удалить соответствующий контент - и, следовательно, быть причиной рисков, скорее всего, окажется дорогостоящим. - или - 2. Жить с беспорядком и доставлять проект с гораздо меньшим риском. - Но, как я уже сказал, это компромисс! – AxelEckenberger