Отправляем почту с вложениями из консоли через mutt, mail, ssmtp

Отправка attachment возможна через

  • mutt/mpack из коробки с использованием MIME кодирования
  • mail из коробки
  • ssmtp с использованием uuencode

 

Mutt

Mutt может использовать настройки ssmtp для отправки почты (напр. в файле /etc/ssmtp/ssmtp.conf).

Uuencode считается deprecated способ и нежелателен для использования. На практике у меня почтовый клиент Outlook для телефона не распознавал нормально вложения при кодировании их uuencode.

Кроме того, в Mutt не нужно указывать поля to/from/subject в самом теле сообщения, чтобы он их подставил куда нужно, в отличии от ssmtp.

Поэтому первым делом пример для Mutt:

mutt -s test petr@redkin.net -a result.csv < msg

Используя опции -c/-b можно отправлять копии. По опции -c обычные, по -b – скрытые. Из man:

-b address - Specify a blind-carbon-copy (BCC) recipient
-c address - Specify a carbon-copy (CC) recipient

mutt -s "test mail subj" petr@redkin.net -c petr@redkin.net -b petr@redkin.net -a result.xls <msg

 

Mail

Вывод скрипта как Body, attach через опцию. Attach можно прикрепить несколько используя опцию -a (-a <attach> -a <attach2>).

ruby script.rb | mail -a attach.csv -s "Subject" mail@mail.ru

 

ssmtp + uuencode

Ну и мало ли пригодится для ssmtp/mail + uuencode:

(cat msg; uuencode result.csv result.csv) | ssmtp petr@redkin.net

Leave a Reply