замена вложения в почтовом сообщении
действуем в несколько этапов:
- подключаем к нашей почте клиент Thunderbird
- устанавливаем расширение ImportExportTools NG
- загружаем письмо на локальный компьютер
- редактируем содержимое письма
- загружаем обратно письмо на сервер
первый пункт я пропущу, т. к. для этого есть официальные инструкции (не важно какой у вас почтовый сервер)
для того, чтобы установить расширение, нажмите Alt и в меню выберите «Инструменты» -> «Дополнения и темы»
через поиск найдите расширение ImportExportTools NG и установите его
далее мы получаем сообщение с вложением (роза)
далее скачиваем письмо в формате eml
если пользуетесь windows — то проще воспользоваться Total Commander и Notepad++, если другая платформа — пишите в комментарии, я дополню инструкцию
получаем такой файл
готовим документ, на который нам надо заменить исходный, кодируем его в формат base64
отметьте файл для кодирования и в меню выберите «Кодировать (MIME, UUE, XXE)...»
кодируем в ту же папку, выбрав формат «MIME (Base64)»
был файл «.jpeg», стал «.b64»
открываем файл в редакторе Notepad++ и копируем кодированную часть сообщения, пропуская технический заголовок (с 6 строки и до конца)
теперь открываем для редактирования файл eml, если видите ошибку при открытии — завершите Thunderbird
закодированные вложения хранятся в конце письма, т. к. изначально почтовый протокол поддерживал передачу только текста, то и бинарные файлы кодируются в текст, обратите внимание:
1 — разделитель
2 — служебный заголовок вложения
3 — само тело вложения
нам надо заменить само тело вложения, не затрагиваем заголовки и разделитель
после замены, уберите из атрибутов (в заголовке вложения) размер файла, он изменился, по понятным причинам, а почтовую программу не будем смущать, просто удалите строку
сохраните письмо!
осталось загрузить его обратно н сервер
правый клик на папке «Входящие» -> «ImportExportTools NG» -> «Импортировать файл eml»
загружаем наше отредактированное письмо и мы получаем два идентичных письма во «Входящих»
даже имена вложенных файлов остались идентичны
это самый надёжный способ замены вложения в существующем письме