Как добавить вложение к электронному письму в формате HTML в UNIX?

Не очень много ответов, но мне сказали, что размещение ответа в сообщении с вопросом неприемлемо.

В значительной степени решение было таким: «он начал работать, как и ожидалось». То есть «супер → «клавиатура» → нажмите «Клавиатура»», которую я пробовал раньше, но которая не удалась из-за того, что требуемая опция отсутствовала ранее, увенчалась успехом, потому что требуемая опция теперь присутствовала.

0
27.08.2017, 05:35
1 ответ

Я предлагаю вам отправить себе реальное электронное письмо с zip файл вложения и посмотрите на необработанное содержимое.

Вы обнаружите, что электронное письмо будет отформатировано в соответствии со стандартом MIME, который определяет, как включать различные форматы файлов в текстовое электронное письмо.

В вашем случае Content-typeверхнего уровня будет что-то вроде multipart/alternativeили multipart/mixed. Внутри него будут две или более частей или разделов со своим собственным Content-type.Один будет иметь тип application/zip. Раздел application/zipбудет иметь текстовую кодировку (например, Base 64) zip-файла.

Вот пример:

From: John Doe <example@example.com>
MIME-Version: 1.0
Content-Type: multipart/mixed;
        boundary="XXXXboundary text"

This is a multipart message in MIME format.

--XXXXboundary text 
Content-Type: text/plain

this is the body text


--XXXXboundary text 
Content-Type: text/html

<html>
  ...Body of email in HTML format...
</html>

--XXXXboundary text 
Content-Type: application/zip;
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
        filename="test.zip"

BASE64 ENCODING TEXT HERE

--XXXXboundary text--

Дополнительная информация: Вложение файлов по электронной почте с использованием MIME

Вернемся к корню вашего вопроса, как это сделать? Я не знаком с какими-либо автономными инструментами, помогающими создать подобное электронное письмо, но я был бы удивлен, если бы вы не смогли найти что-то полезное. Возможно, один из почтовых клиентов поддерживает операции командной строки/массовые операции. Но в худшем случае это всего лишь текст ASCII, поэтому вы можете легко создать его вручную в соответствии с тем, что вы делаете с электронной почтой в формате HTML. Но я предлагаю вам создать сообщение во временном файле, прежде чем передавать его почтовому агенту. (Загляните в «Здесь документы», чтобы легко сохранять большие объемы текста.)

И, как указано, вам нужно будет преобразовать ваш zip-файл в Base 64. Почти каждая установка Linux должна иметь base64. ] полезность или эквивалент. Просто передайте ему свой почтовый индекс и добавьте к своему файлу электронной почты в нужное время...

base64 test.zip >> my-email-file.txt
3
28.01.2020, 02:24

Теги

Похожие вопросы