如何在一行Bash命令中发送多个mailx命令(例如,读取/打印和删除)

时间:2018-10-08 15:53:47

标签: bash email mailx

我正在测试一些根据特定逻辑发送电子邮件的组件。

为了对此进行测试,我在运行该组件的Docker容器中设置了Postfix和Mailx(Docker容器与该问题无关)。该组件会将电子邮件发送到(rootroot@localhost

我现在正在尝试编写测试脚本,以验证是否已发送电子邮件。为此,我想在bash脚本中使用mailx / mail实用程序,该实用程序将消化和清理收到的电子邮件(基于某些逻辑)。

我知道如何发送一个mailx命令:

echo "h" | mail -N

这将显示第一条消息的标题并退出。

我想在同一命令中删除摘要消息:

echo "<print_and_delete>" | mail -N

是否可以通过传递一系列mailx命令来做到这一点?

一种替代方法是使用:

echo "p" | mail -N; echo "d" | mail -N;

但是我想知道是否存在一种本机mailx方式来管道/处理多个命令。

我也想在搜索和标记操作中使用它。例如,如何进行搜索并继续搜索结果上的命令?

echo -e "f(text text_in_email)\n<???>" | mail -N

要在搜索结果上运行命令(例如标记,标记为已读等),我应该用<???>代替什么?还是要从搜索结果中阅读第一封电子邮件?

0 个答案:

没有答案