Как я могу отправить несколько команд mailx в одной команде Bash (например, чтение / печать и удаление) - PullRequest
0 голосов
/ 08 октября 2018

Я тестирую некоторый компонент, который отправляет электронную почту на основе определенной логики.

Чтобы проверить это, я настроил 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

Чем я должен заменить <???>, чтобы выполнять команды в результате поиска (например, флаг, пометить какчитать и т.д.)?Или прочитать первое письмо из результатов поиска?

...