Отправка почты с помощью mutt в файле сценария оболочки

#shell #mutt

#оболочка #mutt

Вопрос:

Я пишу следующую команду в файле .sh, и она открывает интерактивное окно, в котором меня просят ввести адрес электронной почты для отправки электронного письма. Затем электронное письмо отправляется с прикрепленным файлом без проблем.

 mutt -s 'risk items' -a file.xlsx
  

Но если я попробую выполнить следующую команду, она не сможет отправить ее в обход интерактивного окна.

 mutt -s 'risk items' -a file.xlsx my_name@company_name.com
  

Также вторая команда работает вне оболочки. Любая помощь в решении этой проблемы будет оценена.

Сообщение об ошибке:

 my_name@company_name.com: unable to attach file.
  

Ответ №1:

Ваш синтаксис неверен. Посмотрите на вывод mutt -h , который должен включать что-то вроде этого:

 mutt [<options>] [-Ex] [-Hi <file>] [-s <subj>] [-bc <addr>] [-a <file> [...] --] <addr> [...]
  

Посмотрите на -a аргумент, который показывает -a <file> [...] -- .

-a Аргумент ожидает несколько файлов. Вы используете -- для завершения списка, чтобы mutt знал, что вы прекратили перечислять файлы и теперь перечисляете адреса:

 mutt -s 'risk items' -a file.xlsx -- my_name@company_name.com
  

Комментарии:

1. спасибо за вашу помощь. Тем не менее, кажется, что открывается интерактивное окно и предварительно указывается адрес электронной почты для меня. Есть ли способ пропустить интерактивное окно, пожалуйста?

2. решаемая путем добавления < /dev/null перед адресом электронной почты