IT News: Digital Camera, OS, Laptop, Smartphone, Smart TV, Sound...

The Author's Project by Valeri N.Kravchuk
Сайт проверен Dr.Web
Меню сайта
  • Главная страница
  • Информация о сайте
  • Дневник
  • Каталог файлов
  • Обратная связь
  • Каталог сайтов
  • FAQ
  • Доска объявлений
  • Форум
  • Фотоальбом
  • Категории раздела
    Автомобильные гаджеты, ремонт... [220]
    Безопасность IT [484]
    Блоки питания, Power Banks, зарядки... [490]
    Видеорегистраторы [220]
    Гаджеты для спорта и здоровья... [190]
    Гаджеты, аксессуары... [625]
    Измерительная техника, инструменты [449]
    Накопители данных [226]
    Нетбуки, Ноутбуки, Ультрабуки [680]
    Мультиварки, блендеры и не только... [158]
    Планшеты [758]
    Радар-детекторы [26]
    Роботы-пылесосы [37]
    Своими руками [357]
    Сети, сетевые технологии, оборудование... [269]
    Смартфоны [4966]
    Фотокамеры, объективы, искусство фотографии.. [543]
    Умный дом [47]
    Электронные книги [96]
    CB, LPD, PMR- связь... [171]
    DECT, IP-телефоны [18]
    Drones, boats, cars... [108]
    electric cars [35]
    GPS-навигаторы, трекеры... [51]
    Linux и не только [4380]
    mini computers и не только... [409]
    News IT, Это интересно, ликбез... [1113]
    Smart TV, UltraHD, приставки, проекторы... [414]
    Smart Watch [263]
    Sound: наушники, плееры, усилители... [616]
    Windows 10... [298]
    Windows 11 [28]
    Погода

  • Метеорадар БРЕСТ
  • Погода в Бресте от www.yr.no

    Яндекс.Погода БРЕСТ

  • Интересные ссылки

    COMPIZOMANIA

    Наш опрос
    Оцените мой сайт
    Всего ответов: 1340
    Статистика
    Анализ веб сайтов

    Яндекс.Метрика

    Рейтинг@Mail.ru Яндекс цитирования

    Russian America Top. Рейтинг ресурсов Русской Америки.

    eXTReMe Tracker

    Правильный CSS!


    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0
    Locations of visitors to this page
    Форма входа
    Главная » 2013 » Декабрь » 14 » Прием и отправка почты из командной строки
    08:02
    Прием и отправка почты из командной строки

    Прием и отправка почты из командной строки

    Оригинал: Linux mail command examples - send mails from command line
    Автор: Silver Moon
    Дата публикации: 27 августа 2013 года
    Перевод: А. Кривошей
    Дата перевода: декабрь 2013 г.

    Обычно для приемки и отправки почты используются веб-сервисы типа gmail и yahoo, или графические почтовые клиенты. Однако в linux мы можем также отправлять или получать почту в командной строке. Это полезно в таких ситуациях, как отправка почты из скриптов, или в случаях, когда графическая оболочка недоступна.
    В этом руководстве описывается, как использовать команду mail для приема и отправки почты.

    Отправка почты

    В зависимости от дистрибутива, который вы используете, может понадобиться установить дополнительные пакеты, такие как mailutils, чтобы команда mail нормально работала.

    Пользователи Debian/Ubuntu могут воспользоваться командой apt-get:

    # apt-get install mailutils
    

    Пользователи Fedora / CentOS / Red Hat Enterprise Linux (RHEL) могут сделать это с помощью yum:

    # yum install mailutils
    

    Теперь команда mail должна быть готова к работе.

    Выполните приведенную ниже команду, заменив "user@yourmaildomain.com" на свой адрес электронной почты. Опция s задает тему письма.

    $ mail -s "Hello World" user@yourmaildomain.com
    

    Теперь вы можете вводить текст письма. Когда закончите, нажмите "control-D" в начале новой строки.

    # mail -s "This is the subject" m00n.silv3r@gmail.com
    Cc: 
    Hi Silver
    How are you doing
    Hope its going fine.
    Bye
    

    Вы отправили первое письмо из командной строки. Содержимое письма можно вставить из файла.
    В некоторых дистрибутивах командная оболочка сначала запросит в интерактивном режиме ввод других полей, таких как "Cc" (Carbon copy). Просто нажимайте "Enter", чтобы пропустить этот этап. Когда вы введете адрес или адреса электронной почты, необходимо нажать "Enter", чтобы перейти на новую строку, к телу письма.
    После нажатия Ctrl+D вы возвращаетесь в командную строку без каких либо дополнительных оповещений. Однако ваше письмо было отправлено.
    Интересно, что если вы ничего не введете в теле письма и нажмете Ctrl+D, команда mail отреагирует на это:

    # mail -s "This is the subject" m00n.silv3r@gmail.com
    Cc: 
    Null message body; hope that's ok
    

    Если тело письма хранится у нас в отдельном файле, мы можем напрямую использовать его для отправки письма. Это полезно при вызове команды mail из скриптов, или других программ, написанных, например, на perl или php.

    $ mail -s "Hello World" user@yourmaildomain.com < /home/user/mailcontent.txt
    

    Или быстрая отправка письма одной строкой:

    # echo "This is the message body" | mail -s "This is the subject" m00n.silv3r@gmail.com
    

    Другие полезные параметры команды mail:

    -s subject (тема письма)
    -c email-address (CC - отправка копии письма по адресам email-address)
    -b email-address (BCC - отправка скрытой копии письма по адресам email-address)

    Ниже пример использования этих опций:

    $ mail -s "Hello World" user@yourmaildomain.com -c usertocc@yourmaildomain.com -b usertobcc@yourmaildomain.com
    

    Возможно задавать несколько получателей, перечисляя их адреса через запятую.

    $ mail -s "Hello World" user1@yourmaildomain.com,user2@yourmaildomain.com
    

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

    (двойное тире) (пробел) (одинарное тире) (без пробела) f

    Ниже пример:

    $ mail -s "Hello World" user@yourmaildomain.com -- -f from_user@yourmaildomain.com
    

    Однако приведенная выше последовательность может работать в centos, но не в debian или ubuntu. В этих системах используется альтернативный синтаксис:

    # echo "This is the message body" | mail -s "This is the subject" m00n.silv3r@gmail.com -aFrom:blog@binarytides.com
    

    Опция a в целом добавляет дополнительные заголовки. Чтобы задать с ее помощью отправителя, используется следующий синтаксис:

    # echo "This is the message body" | mail -s "This is the subject" m00n.silv3r@gmail.com -aFrom:Blogger\
    

    Обратите внимание, что бы экранируем угловые скобки, так как они могут иметь свое назначение для командной оболочки.

    Отправка писем с вложениями

    Команда mail используется до сих пор, так как это простой и быстрый способ отправки писем, однако она, к сожалению, не поддерживает отправку вложений. Теперь мы сделаем следующий шаг и откроем для себя MUTT. Это очень мощный консольный почтовый клиент, и он умеет намного больше, чем просто отправка писем с вложениями, но в данном случае нас интересует именно эта возможность.

    Если mutt по умолчанию у вас не установлен, вы можете сделать это с помощью apt-get или yum от имени root (или используя sudo):

    Для пользователей Debian / Ubuntu:

    # apt-get install mutt
    

    Для пользователей Fedora / CentOS или Red Hat Enterprise Linux (RHEL):

    # yum install mutt
    

    Теперь вы можете отправлять письма с вложениями из командной строки.

    Отправка простого письма:

    # echo "This is the message body" | mutt -s "hello" m00n.silv3r@gmail.com
    

    Отправка письма с вложением:

    $ mutt -s "Hello World" -a /home/user/file_to_attach.tar.gz user@yourmaildomain.com < home/user/mailcontent.txt
    

    Все просто.

    Отправка писем из скриптов bash/shell

    Теперь давайте копнем глубже и попробуем отправить письмо из скрипта оболочки. Ниже простой скрипт, отправляющий информацию по использованию диска.

    #!/bin/bash
    du -sh | mail -s "disk usage report" user@yourmaildomain.com
    

    Откройте новый файл, вставьте в него приведенные выше строки, сохраните и запустите. Вы получите письмо, содержащее вывод команды "du -sh".
    И последняя хитрость в письмах из командной сроки - добавление вложений к письмам, отправляемым из скриптов. Предположим, вам необходимо сделать резервную копию директории с конфигурационными файлами, заархивировать ее и отправить в качестве вложения с помощью mutt:

    #!/bin/bash
    tar -zcf /home/user/backup.tar.gz /home/user/files_to_backup
    echo "Archived configuration files" | mutt -a /home/user/backup.tar.gz -s "backup data" user@yourmaildomain.com
    

    Команда echo в начале третьей строки добавляет текст "Archived configuration files" в тело письма.

    Чтение писем

    До сих пор мы рассматривали отправку писем из командной строки. На самом деле также легко можно читать письма из командной строки:

    $ mail
    

    Вы вероятно заметили, что для отправки и получения писем мы используем одну и ту же команду. Однако для чтения писем не нужно добавлять никаких опций.
    Ниже простой вывод:

    $ mail
    Heirloom Mail version 12.4 7/29/08. Type ? for help.
    "/var/spool/mail/hcg": 2 messages 2 new
    >N 1 hcg@hcghost.localdomain Thu Aug 1 16:53 81/3034 "Hello World"
    N 2 hcg@hcghost.localdomain Thu Aug 1 16:54 82/3061 "disk usage report"
    &
    

    Первая строка вывода - это версия программы mail. Вторая строка говорит о том, что имеется два сообщения, оба непрочитанные, и почта хранится в файле /var/spool/mail/hcg.
    У всех пользователей linux файл с почтой находится в директории /var/spool/mail/. При получении нового письма оно добавляется в конец этого файла. После информации о файле выводится список писем.
    Настоятельно рекомендуется не редактировать этот файл без использования mail или аналогичной программы. Читать или производить поиск писем лучше всего с помощью grep.
    Чтобы прочитать первое письмо, просто введите 1 и нажмите enter. При чтении письма, если вам необходимо вернуться к списку писем, просто нажмите "q". Символ > показывает, какое из писем в настоящее время является текущим.

    Команда Maildir-utils

    "mu" - это набор утилит командной строки для Linux/Unix, который позволяет производить быстрый поиск писем.

    Пользователи Debian/Ubuntu могут установить его с помощью apt-get:

    # apt-get install maildir-utils
    

    Пользователи Fedora / CentOS / Red Hat Enterprise Linux (RHEL) могут использовать yum:

    # yum install maildir-utils
    

    Ниже пара простых команд из этого пакета:

    $ mu find from:william subject:report
    

    для поиска писем от william с темой report.

    Чтобы проверить текущие настройки почты, используется опция info.

    # mu-tool info
    VERSION=2.99.97
    SYSCONFDIR=/etc
    MAILSPOOLDIR=/var/mail/
    SCHEME=mbox
    LOG_FACILITY=mail
    .....
    

    Итак, можно подвести итоги. На самом деле получение и отправление писем из командной строки не представляет особой сложности, если вы знаете, что делаете.

    http://rus-linux.net/MyLDP/consol/mails.html

    Категория: Linux и не только | Просмотров: 2104 | Добавил: laptop | Рейтинг: 4.5/2
    Всего комментариев: 0
    Добавлять комментарии могут только зарегистрированные пользователи.
    [ Регистрация | Вход ]
    Волк слабее льва и тигра, но в цирке волк не выступает!
    Волк слабее льва и тигра, но в цирке волк не выступает!
    Волк - единственный из зверей, который может пойти в бой на более сильного противника.
    Если же он проиграл бой, то до последнего вздоха смотрит в глаза противника. После этого умирает...

    Праздники сегодня

    Поиск
    Календарь
    Архив записей
    Друзья сайта
  • Официальный блог
  • JEEP - the best! Mercedes - the best! Автомобильный портал города Бреста: технические характеристики с фото, авторынок, автоспорт...
    Наша кнопка
    IT новости с моего лаптопа...

    Внимание!
    Администратор сайта laptop.ucoz.ru не несет ответственности за содержание рекламных объявлений. Все используемые на сайте зарегистрированные товарные знаки принадлежат своим законным владельцам! Используемая со сторонних источников информация публикуется с обязательными ссылками на эти источники.
    Copyright Valeri N.Kravchuk © 2007-2024