Ещё один блог о системном администрировании, операционных системах, СУБД, сетях, костылях-велосипедах и пр.
Иногда передо мной встает задача отправки писем с удаленного *nix-сервера на определенный почтовый ящик. Например, каждый день запускается задача обработки каких-то лог-файлов, по результатам строится отчет и отправляется письмом. Или необходимо проконтролировать создание резервной копии. Для отправки таких вот отчетов я пользуюсь mutt. В этой заметке я опишу процесс подключения к mutt почтового ящика Gmail.
Mutt - почтовый клиент с текстовым интерфейсом для *nix подобных систем. Был написан в 1995 году и до сих пор развивается. Официальный сайт проекта http://www.mutt.org/. Изначально mutt мог только просматривать почту, но последние версии умеют получать, отправлять и фильтровать почтовые сообщения.
Для того, чтобы послать письмо с вложением при помощи mutt, достаточно команды:
mutt -s "Message subject" admin@example.com -a file
где
К письму можно прикрепить несколько файлов или указать несколько получателей. Текст письма программа читает из stdin.
Установить mutt в CentOS можно командой:
# yum install mutt
Конфигурационный файл находится в ~/.muttrc. Ниже описан пример этого файла для подключения почтового ящика Gmail.
set realname = "Backup Account"
set use_from = yes
set editor='nano'
set sort = reverse-threads
set sort_aux = last-date-received
## confirmation skipping
set fast_reply=yes # when replying, don't prompt for address
set include=yes # include original text on reply?
set forward_quote=yes # include original text on forward?
set delete=yes # don't ask for delete confirmation
set from = example@gmail.com
set imap_user = example@gmail.com
set imap_pass = y0urpa55w0r9
set smtp_url = smtp://example@smtp.gmail.com:587/
set smtp_pass = y0urpa55w0r9
## don't let your firewall kill your idle connection
set imap_keepalive = 900
## do not copy sent mail
set copy = no
set move = no
set folder = imaps://imap.gmail.com:993
set spoolfile = +INBOX #or +[Gmail]/Important
set postponed = +[Gmail]/Drafts
## cache
set header_cache = ~/.mutt/cache/headers
set message_cachedir = ~/.mutt/cache/bodies
set certificate_file = ~/.mutt/certificates
## SSL
set ssl_starttls = yes
set ssl_force_tls = yes
set smtp_authenticators = 'login'
Теперь запустим почтовый клиент набрав в команду:
$ mutt
И, возможно, с первого раза у нас не получится подключиться, а на почтовый ящик gmail придет письмо о том, что к вашему аккаунту gmail пытались подключиться из ненадежного источника. Для того, чтобы избежать этого, необходимо в свойствах безопасности аккаунта разрешить подключение от ненадежных источников.
Если при запуске клиента в консоль выводится нечто похожее:
Reading imaps://imap.gmail.com:993/INBOX...
Looking up imap.gmail.com...
Connecting to imap.gmail.com...
TLSv1.2 connection using TLSv1/SSLv3 (ECDHE-RSA-AES128-GCM-SHA256)
Logging in...
[WEBALERT https://accounts.google.com/ContinueSignIn?sarp=1&scc=1&plt=AKgnsbsm0P......
Mailbox is not connected
то необходимо отключить капчу. Для этого переходим по ссылке http://www.google.com/accounts/DisplayUnlockCaptcha и нажимаем "Продолжить".
Теперь, если снова запустить mutt, то должны увидеть примерно следующее:
Проверяем работу mutt:
$ echo "This is test message!" | mutt -s "Test message" admin@example.com
Если появляется сообщение "No authenticators available", то:
# yum -y install cyrus-sasl-plain
На этом настройка закончена и теперь можно использовать mutt в своих скриптах для отправки оповещений, отчетов, лог-файлов и т.д.
Комментарии (RSS)
Приплыл Кашалот и решил съесть эту запись.
Приплыл Кашалот и решил съесть эту запись.