Возможно ли использовать imap для изменения сообщения электронной почты? - PullRequest
0 голосов
/ 11 октября 2018

возможно ли добавить всплывающее сообщение на полученное письмо?

Я искал IMAP, но он может только получить письмо, просмотреть его содержимое.и я рассмотрел milter, но он использует только для фильтрации.Моя идея заключается в том, что когда в контексте электронной почты есть URL, я мог бы показать предупреждающее сообщение, чтобы сообщить пользователям, что это фишинговый URL или нет.Я хотел бы сделать предупреждение доступным независимо от того, какой почтовый клиент я использую.

1 Ответ

0 голосов
/ 26 августа 2019

Поскольку вы уже упомянули milter в своем вопросе: milter сможет изменить тела сообщений и решить вашу проблему.

Обратный вызов xxfi_body libmilter позволяет вам получить тело сообщения.Когда вызывается обратный вызов xxfi_eom, вы можете использовать smfi_replacebody для замены тела сообщения.
Это позволит вам искать URL в теле и добавлять к ним предупреждающее сообщение.

Примечания:

  • Вам необходимо добавить флаг SMFIF_CHGBODY к значению xxfi_flags при вызове smfi_register, в противном случае вызов smfi_replacebody не удастся
  • Изменение сообщенияbody может оказать существенное влияние на производительность
  • При настройке MTA порядок фильтров имеет значение: более поздние фильтры получают новое содержимое тела, когда предыдущий фильтр заменяет тело
  • Как отмечено в комментариях: при изменении содержимого сообщения такие вещи, как PGP, S-MIME и т. д. могут сломаться
  • Возможно, вам придется интерпретировать Content-Type сообщения (и его части MIME), чтобы вы могли различатьtext/plain и text/html сообщений и добавьте предупреждающее сообщение в нужную позицию

Для получения дополнительной информации о том, как написать приложение milter, вы можете найти текущий HTMLдокументы в источнике sendmail по пути libmilter/docs/index.html.Существует также онлайн-версия (может быть, не самая последняя).

...