Повторная отправка электронного письма из командной строки

я хочу воспроизвести связанную с почтой проблему относительно почты, которая отправляется от системы, я не имею никакого контроля. С этой целью я хочу подражать этой проблематичной электронной почте.

У меня есть точная почта, поскольку она была получена как текстовый файл (заголовки + base64 закодированное тело), Как я могу отправить очень похожую почту от одной из наших систем?

Я попробовал

mail -s "Test" me@nowhere.net < mail.txt

Но это помещает целый текстовый файл в тело.

заранее спасибо Jens

1
задан 18 July 2018 в 12:28

2 ответа

Согласно интернет-Формату сообщения RFC 5322 тело сообщения запускается после пустой строки.

Можно использовать awk распечатать все в mail.txt после первой пустой строки, как это:

awk '/^$/,0' mail.txt

Таким образом, Вы могли сделать что-то как

awk '/^$/,0' mail.txt | mail -s "Test" me@nowhere.net

Это, однако, запустит вывод с пустой строки. Если Вы хотите избежать, чтобы, используйте немного более сложное awk диапазон:

awk 'p; !/./{p=0}/^$/{p=1}' mail.txt | mail -s "Test" me@nowhere.net

Этот последний прием является тем, который я взял здесь.

0
ответ дан 8 December 2019 в 00:13

Если машина имеет sendmail программа совместимости установила (обычно, она должна иметь его, это было протестировано с установленным постфиксом), затем можно использовать команду как это:

sendmail -i -f from@example.org to@example.org <test.mail

С test.mail сходство с этим, например:

From: from@example.org
To: to@example.org
Subject: Test
X-Spam-Flag: NO

some content

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

0
ответ дан 8 December 2019 в 00:13

Другие вопросы по тегам:

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