Не приходилось отправлять почту из консоли? Бывает так что пишешь приложение на шелле или просто хочется наглядно посмотреть трассировку отправленного письма в реал-тайме, несколько полезных команд для работы с почтой будут рассмотрены ниже.

В нашем распопряжение MTA — sendmail, (/usr/sbin/sendmail)

Sendmail is an alternative Mail Transport Agent (MTA) for Debian. It is suitable for handling sophisticated
mail configurations, although this means that its configuration can also be complex.

В переводе:

Sendmail является альтернативой агент пересылки почты (MTA) для Debian. Он подходит для обработки сложных почта конфигураций, хотя это означает, что его конфигурация также может быть сложным. К счастью, простая вещь можно сделать легко, а сложные вещи возможны)

Использование:

Что бы  отправить письмо из консоли нужно подать на stdin sendmail-а поток данных например так:

Если хотите наглядно видеть что происходит с письмом то есть ключик — v

Тему сообщения можно указать так

Сообщение с темой и отправителем

 

  6 комментариев в “Как отправить письмо из консоли, ssh, sendmail, exim4.”

  1. В CentOS я пользуюсь утилитой mail.

    Отправить произвольное сообщение:
    # echo «test-test-test» | mail -s «Subject» username@example.com

    Отправить файл в теле письма:
    # mail -s «Subject» username@example.com < /var/log/messages

    Отправить письмо в интерактивном режиме:
    # mail -s «Subject» username@example.com
    test-test-test
    .
    Cc:
    #

    (В конце тела письма обязательно строчка с единственной точной)

     
    • Спасибо за дополнение, можно поставить пакет heirloom-mailx тогда будет доступна альтернатива в виде mail, это просто симлинк на /usr/bin/heirloom-mailx.

       
  2. Интересная заметка, позвольте же и мне вставить свои 5коп.
    В своих скриптах всегда использую mutt (есть практически во всех дистрах). Дело в то, что он, в отличие от heirloom-mailx, умеет прилеплять вложения, а не конкатенирует файлы с телом письма (очень удобно слать логи и т.д.). Вот так например выглядит отправка отчёта об успешной сборке ядра (make-kpkg):


    где:
    MBODY = тело сообщения (например «сборка накрылась медным тазом с кодом ошибки $?»);
    MSUBJ = тема письма;
    ATTACH = список файлов для вложения через пробел после списка обязательно ставить заглушку —, иначе следующие аргументы будут восприняты как файлы.
    MADDR = собственно адрес получателя.

     
    • Спасибо за совет использовать mutt, с heirloom-mailx письма мой почтовый сервер почему-то не принимал, с mutt начал.

       
  3. Нормал, тоже использую mail для отправки почты из скриптов,
    желательно еще принудительно выставлять адрес отправителя

     
    • А как вы принудительно вставляете отправителя в mail? Я попробовал через — -F «отправитель» он поменял Имя а сам остался тот же

       

 Оставить комментарий

(обязательно)

(обязательно)

   
Copyright © 2012. Linuxguru.ru