я хочу воспроизвести связанную с почтой проблему относительно почты, которая отправляется от системы, я не имею никакого контроля. С этой целью я хочу подражать этой проблематичной электронной почте.
У меня есть точная почта, поскольку она была получена как текстовый файл (заголовки + base64 закодированное тело), Как я могу отправить очень похожую почту от одной из наших систем?
Я попробовал
mail -s "Test" me@nowhere.net < mail.txt
Но это помещает целый текстовый файл в тело.
заранее спасибо Jens
Согласно интернет-Формату сообщения 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
Этот последний прием является тем, который я взял здесь.
Если машина имеет 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
Вы, скорее всего, не сможете воспроизвести слишком много исходной электронной почты, так как много заголовков только добавляются или изменяются позже самим почтовым сервером.