假设我收到一条带有附件的消息,我想做的就是将此消息重新发送到另一个地址。是否可以使用纯 mailx 来做到这一点?如果是这样,怎么办?我知道 Heirloom mailx 有一个重新发送命令,但我想知道是否可以使用更原始版本的 mailx 来实现此结果。
答案1
根据传家宝 mailx 的文档:
重发:获取消息列表和用户名,并将每条消息发送给指定用户。 “Resent-From:”和相关标头字段将添加到新消息副本的前面。
为了以简单的方式实现相同的效果,您甚至根本不需要使用 MUA。您可以只使用 shell 和管道将消息直接提交到 MTA/MSP。因此,如果您的消息(标题+正文)位于名为的文件中foo
:
(
echo "Resent-From: your.email@address
cat foo
) | /usr/lib/sendmail [email protected]
请注意,安装系统的 MTA 无需是 Sendmail 即可实现此功能。/usr/lib/sendmail
只是事实上的标准 UNIX 邮件提交接口。其他 MTA(例如 Postfix 和 exim)/usr/lib/sendmail
也提供。
另请注意,我没有考虑文档中提到的“相关标头字段”。我没有检查我猜他们是Resent-Date
这样的。如果您知道它们是什么并且愿意将它们包括在内,则可以将它们添加为echo
上面的附加语句。
最后,我要指出的是,即使是传家宝 mailx 也有一个名为“重新发送”(注意大写 R)的附加模式,记录如下:
喜欢重发,但不添加任何标题行。这不是隐藏发件人身份的方法,但对于再次向相同收件人发送消息很有用。
因此,如果您确实想要这样做,那就更简单了,因为您只需按原样提交现有消息:
/usr/lib/sendmail somebody@else < foo