我正在测试一些根据特定逻辑发送电子邮件的组件。
为了对此进行测试,我在运行该组件的Docker容器中设置了Postfix和Mailx(Docker容器与该问题无关)。该组件会将电子邮件发送到(root
或root@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
要在搜索结果上运行命令(例如标记,标记为已读等),我应该用<???>
代替什么?还是要从搜索结果中阅读第一封电子邮件?