我想重现与邮件相关的问题,该问题与我无法控制的系统发送的邮件有关。为此,我想模仿这封有问题的电子邮件。
我有完全相同的邮件,因为它是以文本文件(标题+base64编码的正文)的形式收到的,我如何从我们的一个系统发送非常相似的邮件?
我试过
mail -s "Test" [email protected] < mail.txt
但它将整个文本文件放入正文中。
提前感谢 Jens
答案1
根据RFC 5322 互联网消息格式邮件正文从空行之后开始。
您可以使用在第一个空行之后awk
打印所有内容,如下所示:mail.txt
awk '/^$/,0' mail.txt
所以你可以做类似的事情
awk '/^$/,0' mail.txt | mail -s "Test" [email protected]
但是,这样输出会以空行开始。如果要避免这种情况,请使用稍微复杂一点的awk
范围:
awk 'p; !/./{p=0}/^$/{p=1}' mail.txt | mail -s "Test" [email protected]
这最后一个技巧是我学到的这里。
答案2
如果机器sendmail
安装了兼容程序(通常应该有,这是使用安装的 postfix 测试的),那么您可以使用如下命令:
sendmail -i -f [email protected] [email protected] <test.mail
例如test.mail
如下所示:
From: [email protected]
To: [email protected]
Subject: Test
X-Spam-Flag: NO
some content
您很可能无法重现太多原始电子邮件,因为许多标题只是稍后由邮件服务器本身添加或修改的。