Я тестирую некоторый компонент, который отправляет электронную почту на основе определенной логики.
Чтобы проверить это, я настроил Postfix и Mailx в контейнере Docker, где я запускаю этот компонент (контейнер Docker неактуален для этого вопроса).Компонент будет отправлять электронные письма на адрес (root
или root@localhost
)
. Я пытаюсь написать тестовые сценарии, подтверждающие отправку электронных писем.Для этого я хотел бы использовать утилиту mailx
/ mail
в bash-скрипте, которая будет переваривать и очищать полученные письма (основываясь на некоторой логике).
Я знаю, как отправить один единственный 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
Чем я должен заменить <???>
, чтобы выполнять команды в результате поиска (например, флаг, пометить какчитать и т.д.)?Или прочитать первое письмо из результатов поиска?