Налаштування MTA для Mutt. Надсилання пошти через зовнішній SMTP сервер. Mutt, ssmtp та надсилання звітів

getmail - програма для забору пошти з POP3 скриньок, написана на мовою Python.

getmail – програма для забору пошти з POP3 скриньок, написана мовою Python. Програма набагато простіше і зручніше в налаштуванні, ніж її аналог fetchmail, щоправда, менш функціональна: зокрема, відсутня підтримка IMAP та POP3S (у документації пропонується використовувати для цього stunnel).

НалаштуванняЗа промовчанням файл конфігурації знаходиться в ~/.getmail/getmailrc. Формат його дуже простий: спочатку має бути секція , в якій вказуються Загальні налаштуваннядля всіх облікових записів, потім слід налаштування окремих акаунтів, для яких, зокрема, можуть бути перевизначені налаштування із секції . Зараз я наведу приклад даного файлу, а потім поясню, що означає кожен рядок.

Delete = 1 # видаляти повідомлення після отримання verbose = 1 # виводити на екран налагоджувальну інформацію message_log = "~/.getmail/log" # вести журнал readall = 1 # завантажувати повідомлення, позначені як прочитані postmaster = "|procmail" # перенаправляти пошту procmail"у
# назва облікового запису server = pop.somewhere.ru # адреса POP3-сервера username = somebody # ім'я користувача password = "this is a secret" # пароль (якщо хочете використовувати # спеціальні символи, треба взяти в подвійні лапки) delete = 0 # для даного облікового записузалишати листи на сервері після отримання readall = 0 # для даного облікового запису не завантажувати повідомлення, # позначені як прочитані
server = some.thing.net username = user password = pass

На цьому налаштування getmail'а закінчується для детальної інформаціїчитайте "man getmail", а також документацію, яка, швидше за все, знаходиться в директорії /usr/local/share/doc/getmail.

procmail

procmail служить для фільтрації та сортування листів. Файл конфігурації procmail за промовчанням - ~/.procmailrc, який містить правила фільтрації. Приклад ~/.procmailrc, який фільтрує різні поштові розсилкиі складає їх у різні ящики:

MAILDIR=$HOME/mail # шлях до поштової скриньки LOGFILE=$HOME/.procmaillog# шлях до файлу журналу
:0: * ^List-Id: bugtraq
:0: * ^List-Id: fluxbox-users
:0: * ^Subject:.*WWC.* | iconv -c -f cp1251 -t koi8-r | formail -i "Content-Type: text/plain; charset="koi8-r"" >>wwc
:0: * ^TO_(mutt-users\@mutt\.org) mutt-users
:0: inbox

У першому випадку ми фільтруємо список розсилки [email protected]по List-Id і поміщаємо листи звідти в ящик bugtraq, аналогічно надаємо зі списком розсилки fluxbox-users. Третє правило трохи ітерсніше. Завдання полягає в тому, що листи повідомлення з форуму wwc.ru надходять у кодуванні CP1251, причому не містять заголовок «Content-Type», що дещо ускладнює положення. Ми перекодуємо повідомлення з CP1251 в koi8-r, додаємо заголовок «Content-Type: text/plain; charset="koi8-r"» і кладемо лист у ящик wwc. Четверте правило: Фільтуємо список розсилки mutt-users, який не збере заголовок «List-Id». Останнє правило: складаємо всю пошту, що залишилася в скриньку inbox. Інші приклади можна знайти в «man procmailex».

msmtp – це так званий smtp-плагін для MUA. Він стабільніший і в нього більше можливостейніж у nbsmtp. Підтримує SMTP AUTH: PLAIN, LOGIN та CRAM-MD5, IPv6, TLS зашифровані з'єднання тощо.

Налаштування msmtp

Стандартний файл конфігурації - ~/.msmtprc. Його формат дуже простий, і в більшості випадків для налаштування msmtp вистачить трьох рядків. Приклад найпростішого ~/.msmtprc:

Account default host smtp.mail.ru from [email protected]

Перший рядок – ім'я акаунта. Ім'я облікового запису задається за допомогою аргументу "--account=id". Якщо ім'я облікового запису не встановлено, використовується обліковий запис «default». host - адреса smtp-сервера, яку ви хочете використовувати для надсилання листів. from - ваш e-mail адреса. Опис інших директив конфігураційного файлу ви можете знайти, набравши «man msmtp», там ви також знайдете приклади файлу конфігурації.

Налаштування mutt

mutt є одним із найбільш функціональних та зручних консольних mail-клієнтів. Стандартний файл конфігурації - ~/.muttrc. Пройдемося цим файлом, я прокоментую кожну цікаву нам рядок.

Set folder = "~/mail" mailboxes =bugtraq mailboxes =fluxbox-users mailboxes =inbox mailboxes =wwc mailboxes =mutt-users
# Тут ми задаємо робочу директорію та список поточих ящиків.
set sort=threads # сортироку повідомлень за тредами
set realname="Your Name" # встановлює ім'я, тобто в полі from # з'явиться Your Name « [email protected]»
ignore * unignore from: subject to cc \date x-mailer x-url user-agent # цей shows how nicely wrap long lines hdr_order
# Вказуємо, які заголовки нам показувати і в якому порядку.
# Для перенесення довгих рядківможна використовувати символ "\", # як це видно в директиві unignore.
macro index G "! getmail" macro pager G "! getmail"
# Тепер при натисканні Shift+G запускається getmail
set sendmail="/usr/local/bin/msmtp"
# а для надсилання пошти використовується msmtp
set send_charset="us-ascii:koi8-r:utf-8"
# кодування за промовчанням для вихідних російських повідомлень -- koi8-r
subscribe bugtraq fluxbox-users mutt-users
# підписані розсилки
# далі йдуть налаштування кольорів та інші другорядні налаштування, # приклад можна знайти в /usr/local/share/examples/mutt/

Тепер запускаємо mutt -y і тестуємо поштову систему.

Документація: man getmail man procmail man procmailex man msmtp man mutt man muttrc /usr/local/share/doc/getmail/ /usr/local/share/doc/procmail/FAQ /usr/local/share/doc/mutt/manual.txt / usr/local/share/examples/getmail /usr/local/share/examples/procmail /usr/local/share/examples/mutt

(Увага! Шляхи можуть відрізнятися, якщо ви встановили відповідні пакети не за допомогою системи портів FreeBSD.)

Іноді переді мною постає завдання відправлення листів з віддаленого сервера *nix на певний Поштова скринька. Наприклад, щодня запускається завдання обробки якихось лог-файлів, за результатами будується звіт та надсилається листом. Або необхідно проконтролювати створення резервної копії. Для надсилання таких звітів я користуюся mutt. У цьому примітці я опишу процес підключення до mutt поштової скриньки Gmail.

Mutt - поштовий клієнтз текстовим інтерфейсом для *nix подібних систем. Був написаний у 1995 році і досі розвивається. Офіційний сайт проекту http://www.mutt.org/. Спочатку mutt міг тільки переглядати пошту, але останні версіївміють отримувати, надсилати та фільтрувати поштові повідомлення.

Для того, щоб надіслати листа з вкладенням за допомогою mutt, достатньо команди:

Mutt -s "Message subject" [email protected]-a file

  • -s "Message subject" - ставить тему повідомлення
  • -a file - ім'я файлу, що прикріплюється
  • [email protected]- отримувач листа.

До листа можна прикріпити кілька файлів або вказати кілька одержувачів. Текст листа програма читає з 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 include=yes # include original text on reply? set forward_quote=yes # include original text on forward? set delete=yes # don"t [email protected] set imap_user = [email protected] set imap_pass = y0urpa55w0r9 set smtp_url = smtp:// [email protected]: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 +/Important set postponed = +/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"

Тепер запустимо поштовий клієнт, набравши в команду:

І, можливо, з першого разу нам не вдасться підключитися, а на поштовий скринька 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... MAIL FROM:
[<-] 573 root@localhost failed to route the address
ssmtp: 573 root@localhost failed to route the address

Теж не проблема, просто ssmtp вказав неправильну адресу відправника, і smtp-сервер це помітив. Коли будемо надсилати пошту через mutt, все буде поставлено правильно.

Щоб mutt надсилав пошту через ssmtp, у домашньому каталозі користувача, від імені якого ми збираємося надсилати звіти, потрібно підправити файл. muttrc

Set sendmail="/usr/local/sbin/ssmtp" # шлях до ssmtp
set realname="Example Report System" # ім'я відправника
set from=" [email protected]# e-mail відправника

Перевіряємо роботу mutt:

Echo "" | mutt-s Hello [email protected]

Лист має успішно дійти до отримувача. Якщо ви бажаєте використовувати mutt у скриптах, що запускаються по крону, потрібно мати на увазі, що mutt знаходиться в каталозі /usr/local/bin, який за умовчанням не прописаний в змінну оточення PATH у вашому crontab. Рішення два - або виправити змінну оточення PATH у кронтабі, або використати повне ім'я mutt у скриптах.

Буває й таке, що на сервері, з якого доводиться надсилати звіти, у нас немає root-привілеїв. У цьому випадку або доведеться вмовляти адміна встановити та налаштувати mutt, або все-таки написати свій власний скрипт надсилання електронної пошти. Але це вже зовсім інша історія.

Мотивація користуватися замість звичайних поштових клієнтів, таких, як Thunderbird, або, скажімо, Claws Mail, консольним поштовим клієнтом Mutt схожа на мотивацію користуватися irssi замість HexChat . Консольні програми, як правило, набагато простіше своїх GUI-аналогів, а значить не так сильно жеруть батарею і безпечніші. Також вони управляються виключно за допомогою клавіатури, можуть бути запущені на сервері в screen , і це все. На жаль, саме Mutt абсолютно незаслужено користується репутацією програми, дуже складною в налаштуванні. Сьогодні ми переконаємося, що насправді налаштування Mutt не сильно відрізняється від налаштування будь-якого іншого поштового клієнта.

На момент написання цих рядків як основну систему я використовую FreeBSD, тому в мене установка необхідних пакетів виглядає так:

sudo pkg install mutt msmtp

На додаток до пакету mutt потрібен ще й msmtp тому, що сам Mutt є тільки MUA, а не MTA . Іншими словами, безпосередньо для надсилання листів Mutt використовує сторонні програми. Не хвилюйтесь, це не так страшно, як може здатися.

Додаток:Починаючи з версії 1.5 стало можливим використовувати smtp безпосередньо без сторонніх MTA. Для цього Mutt має бути зібраний із відповідними опціями. Залежно від вашої системи/дистрибутиву ці умови можуть виконуватися або не виконуватися, тому в цій статті описується спосіб, який завжди працює.

Насамперед вказуємо параметри підключення до SMTP. У файлі ~/.msmtprc пишемо щось на кшталт:

account [email protected]
host mail.example.ru
port 587
from [email protected]
tls on
tls_starttls on
# tls_trust_file /etc/ssl/cert.pem
tls_trust_file /usr/local/etc/ssl/cert.pem
auth on
user [email protected]
password PASSWORD

Адреса сервера, ім'я користувача та пароль, зрозуміло, потрібно замінити на свої. Крім того, у вашій системі шлях до зв'язування кореневих сертифікатів може бути трохи іншим. Думаю, ви легко знайдете потрібний файл за допомогою утиліти find.

Змінюємо права доступу до конфігу, інакше msmtp відмовиться використовувати його:

chmod go-rwx ~/.msmtprc

Перевіряємо, що листи ходять:

echo "Test message" | \
msmtp --debug -a [email protected] -t -i [email protected]

set spoolfile="imaps:// [email protected]:[email protected]/"
set folder="imaps:// [email protected]:[email protected]/"
set sendmail="/usr/local/bin/msmtp -a [email protected]-t -i"
set from=" [email protected]"
set realname="Aleksander Alekseev"
set use_from=yes
set envelope_from="yes"
set record="=Sent"
set postponed="=Drafts"
set signature="~/.signature"

Наскільки мені відомо, у третьому тисячолітті всі поштові послуги надають IMAP, і про POP3 можна забути.

Запускаємо Mutt. Деякі основні клавіші (все не наводжу, тому що їх дужебагато і в клієнті все одно скрізь є підказки):

  • ? - Допомога;
  • Вверх вниз- Переміщення між листами;
  • Enter- Відкрити лист;
  • d- Помітити, що лист слід видалити;
  • u- скасовує позначку листа на видалення;
  • N— позначити лист як прочитаний/непрочитаний;
  • $ - Зберегти зміни (видалити помічені листи, і т.д.);
  • (цифра)- Перехід до листа із заданим номером;
  • m- Написати новий лист;
  • r- відповісти на лист;
  • g- group reply, відповісти всім;
  • f- forward, перенаправити лист;
  • h- показати/приховати Усезаголовки листа;
  • a- Створити аліас для відправника листа;
  • t- Поставити/зняти мітку (tag);
  • ;(щось)- Виконати щось з зазначеним;
  • s— зберегти лист на диск чи папку;
  • c?- Перегляд папок (там же див довідку про створення / видалення папок);
  • q- Вийти з Mutt;

У будь-якій незрозумілій ситуації просто натисніть Ctr+C, і на запитання чи закрити Mutt дайте відповідь «no». Пошук за листами працює приблизно так. Натисніть T , потім введіть ~B pattern для пошуку по тілу повідомлення або ~s pattern для пошуку subject. За тим же принципом можна робити untag знайдених раніше повідомлень, тільки замість T слід використовувати Ctr+T. Подробиці про пошук можна знайти в документації.

Зауважте, що натискання $ не призводить до завантаження нових листів. Завантажити нові листи можна за допомогою команди c? , і знову відкривши папку INBOX. Зрозуміло, що постійно так робити незручно, тому в ~/.muttrc варто дописати такий хоткей:

bind index G imap-fetch-mail

Ще один момент, який спочатку не дуже зрозумілий. Нові непрочитані листи позначаються як N(new). Але якщо перепідключитись, то вони будуть відзначені, як O (old). Це все ще непрочитані листи, але які ми вже бачили минулого разу. Таким чином можна відрізнити нові листи від зовсім нових.

Ще один хінт. За умовчанням Mutt відображає всі листи "плоско". Мені особисто деревоподібне відображення подобається більше. Включається воно так:

set sort=threads

Зверніть увагу, що Mutt має дуже гнучкі налаштування щодо якого кольором підсвічувати. Ось вам для прикладу невеликий шматок ~/.muttrc, щоб ви могли уявити масштаби (який рядок що означає, думаю, і так зрозуміло):

# old unread messages
color index green default "~O"

# New unread messages
color index brightgreen default "~N"

# messages to me
color index cyan default "~p"
color index brightcyan default "~p~O"
color index brightcyan default "~p~N"

# messages from me
color index yellow default "~P"

# tagged messages
color index red default "~T"

# messages about to be deleted
color index brightyellow default "~D"

# message displaying settings
color hdrdefault green default
color header brightgreen default ^Subject:
color quoted cyan default
color signature red default

Мені дуже подобається, що можна підсвітити повідомлення, надіслані особисто тобі, а не просто в якийсь мейлінг аркуш! Взагалі, Mutt настільки гнучкий у плані налаштування кольорів, що для нього роблять цілі теми.

До речі, після внесення змін до ~/.muttrc їх можна підвантажити без перезапуску Mutt, ввівши:

:source ~/.muttrc

За умовчанням Mutt скролить текст листів та списки листів екранами, а не по одному рядку. Щоб виправити це, я дописав у конфіг:

# scroll message line by line using arraws
bind pager previous-line
bind pager next-line

# scroll index line by line
set menu_scroll

Також у Mutt є штучні паузи, щоб користувач встигав прочитати все, що клієнт виводить при підключенні до сервера IMAP, і так далі. Загалом це створює відчуття, що клієнт гальмує, тому відключаємо:

# disable artifitial pauses
set sleep_time = 0

Ще, щоб клієнт працював швидше, можна включити кешування (не забудьте заздалегідь створити відповідні каталоги):

# enable caching
set header_cache="~/.mutt/header_cache"
set message_cachedir="~/.mutt/message_cache"

Тепер, скажімо, нам потрібна адресна книга. Немає нічого простішого!

У ~/.muttrc дописуємо щось на кшталт:

alias afiskon "Aleksander Alekseev"

Тепер, коли пропонується ввести адресу одержувача під час написання нового листа, просто почніть вводити його нікнейм. Нікнейми автодоповнюються при натисканні Tab. А якщо натиснути Tab двічі, відкривається повний список аліасів.

І остання пара полезняшек. Щоб при редагуванні листів у Vim ширина тексту автоматично обмежувалася до 72 символів, в ~/.vimrc допишіть:

" limit the width of e-mail text to 72 characters
au BufRead /tmp/mutt-* set tw=72

Цікаво також, що Mutt дозволяє надсилати листи прямо з консолі:

echo "Message from a console" | mutt-s "Test msg" [email protected]

Щоб ви могли уявити, як відбувається робота з Mutt, я приготував пару скріншотів. Обидва скришоти клікабельні, в повному розмірі мають формат PNG, 1366 x 768 пікселів, розмір менше ніж 250 Кб.

Перегляд списку листів:

Читання конкретного листа:

А тепер, увага, питання! А як працювати з декількома мейлбоксами? Ну, ну, хто вже здогадався? :)

Так просто дописуємо інформацію про ще один SMTP-аккаунт в ~/.msmtprc, створюємо ще один .muttrc і перемикаємося між ними за допомогою :source . Я особисто склав усі облікові записи в ~/.mutt/user1, ~/.mutt/user2 і так далі, а дефолтний підключив у ~/.muttrc за допомогою директиви source. Адресну книгу за тим же принципом можна покласти в ~/.mutt/contacts. Єдина хитрість полягає в тому, що після перемикання на інший обліковий запис за допомогою :source, потрібно зробити c! щоб клієнт перепідключився. Все геніальне просто! Зрозуміло, для зручності можна визначити хоткеї для перемикання між аккаунтами. Приклад ви знайдете у повній версії ~/.muttrc до цієї статті.

У ньому ж ви знайдете деякі інші цікаві речі. Наприклад, відкриття посилань з листа в браузері через urlscan , рендеринг HTML-листів за допомогою lynx та їх відкриття в браузері за замовчуванням, відкриття картинок у gpicview, і не тільки. До речі, багато корисних рецептів, пов'язаних з Mutt, можна знайти на wiki-сайті Arch Linux. Ну і, звичайно ж, зверніть увагу на офіційний мануал по Mutt. Він класний і легко перетворюється на PDF-книгу, якщо натиснути Ctr+P (print) у Chrome або Chromium.

Багато чого, на жаль, залишається за кадром. Наприклад, налаштування фільтрів та робота з IMAP в офлайні. Для останнього часто використовують offlineimap. Але ці питання вже виходять за рамки даного посту і, відверто кажучи, мені це зараз просто не потрібне.

А чи використовуєте ви Mutt і якщо так, можливо, вам є що доповнити?

Ця стаття покаже вам, як розпочати використання потужного текстового клієнта електронної пошти mutt.

Якщо ви не являєтеся електронною поштою клієнтів з широким графічним user interfaces, або ви можете скористатися електронною поштою через SSH з'єднання, категорія доступу до електронної пошти клієнтів може бути для вас.

Contents

Вступ

Хоча спочатку Mutt був розроблений, щоб читати пошту з локальної поштової скриньки (наприклад, /var/spool/mail/ ), сьогодні він має повну підтримку каталогів Maildir, віддаленого підключення до серверів POP3, і повну підтримку акаунтів IMAP. Для повного опису того, що може робити Mutt, будь ласка, прочитайте його документацію та відвідайте його веб-сайт за адресою http://www.mutt.org/ .

Встановлення

Щоб почати вашу пригоду з Mutt, потрібно просто встановити його. Однак Mutt має багато різних опцій, які включають або вимикають різні його можливості. Нижче ми коротко обговоримо більшість важливих прапорів USE, які ви можете захотіти включити, залежно від того, як ви збираєтеся використовувати Mutt. Зауважте, що включення більшості з них не зашкодить програмі, але змусити робити її більше, ніж може захотіти досвідчений користувач Mutt.

Emerge

root # emerge --ask --verbose mail-client/mutt

USE flags

berkdb Enable sys-libs/db database backend for header caching
crypt Add support for encryption -- за допомогою mcrypt or gpg where applicable
gdbm Enable sys-libs/gdbm database backend for header caching
gpg Enable support for app-crypt/gpgme
gpgme Build gpgme backend to support S/MIME, PGP/MIME та традиційний/inline PGP
hcache Enable header cache, one database backend необхідні для надання
idn Enable support for Internationalized Domain Names
imap Add support for IMAP (Internet Mail Application Protocol)
lmdb Enable dev-db/lmdb database backend for header caching
mbox Add support for mbox (/var/spool/mail) style mail spools
nntp Add support for newsgroups (Network News Transfer Protocol)
notmuch Enable support for net-mail/notmuch
pgp_classic Build classic_pgp backend to support PGP/MIME and traditional/inline PGP
pop Enable support for POP3 mailboxes
prefix Defines if a Gentoo Prefix offset installation is used
slang Add support for slang text display library (і"s як ncurses, but different)
smime Enable support for smime
smime_classic Build classic_smime backend to support S/MIME
smtp Enable support for direct SMTP delivery
tokyocabinet Enable dev-db/tokyocabinet database backend for header caching

Насамперед, для новачків, USE прапор imap , напевно, є найважливішим. Якщо ви його увімкнете, нічого не зламається, тому якщо ви не впевнені, який обліковий запис ви будете використовувати з Mutt, просто увімкніть його. Більшість провайдерів електронної пошти, навіть безкоштовні, на кшталт GMail, сьогодні використовують IMAP, оскільки це найзручніший спосіб зберігати пошту, до якої звертаються з кількох клієнтів одночасно і/або з різних місць. Так як IMAP зберігає всю пошту на сервері, Mutt просто завантажує повідомлення, які ви хочете бачити.

Часто вам потрібно прочитати кілька повідомлень кілька разів практично один за одним, що призведе до того, що доведеться завантажувати ті ж повідомлення знову і знову. Так як це просто марнування, Mutt використовує штуку, яка називається "кеш заголовків" (hcache), щоб зберігати найважливіші частини повідомлень для своїх потреб. Цей hcache зберігається за допомогою бібліотеки бази даних, з яких підтримуються чотири: gdbm, berkdb, qdbm і tokyocabinet. Якщо ви не знаєте, яка вам краще, виберіть gdbm, або berkdb. Швидше за все, обидві з них вже встановлені у вашій системі. Якщо увімкнути USE прапори для більш ніж однієї системи hcache, Mutt вибере ту, яка йому сподобається більше. Він завжди використовуватиме лише одну (або взагалі жодної) системи.

Хоча IMAP важливий для читання пошти, поштовий сервер необхідний для надсилання пошти. Mutt може спілкуватися з поштовим сервером, якщо він є на локальній системі, але часто це не варіант або просто не дуже хороше рішення, наприклад для ноутбуків, які часто переміщаються. Mutt має підтримку SMTP, яка включається USE прапором smtp USE-flag. Знову ж таки, увімкнувши цей прапор, якщо ви не впевнені в ньому, ви не пошкодите вашу систему. Підтримка SMTP в Mutt просто дозволяє вам відправити пошту через поштовий сервер на ваш вибір, зазвичай це той, який дасть вам ваш провайдер електронної пошти.

Сьогодні як IMAP, так і SMTP в основному передаються через захищені канали, тому якщо ви ще не включили жодного з таких прапорів, буде розумним включити USE-прапор ssl , або gnutls . Обидва з них додають безпечні варіанти (imaps і smtps) до списку підтримуваних протоколів Mutt, використовуючи або реалізацію OpenSSL, або GNUTLS. Якщо у вас немає суворого упередження щодо цього, просто виберіть ssl . Швидше за все, він уже є у ваших глобальних прапорах USE в будь-якому випадку. Якщо ви хочете аутентифікувати себе при передачі пошти, також додайте до USE прапорів sasl , оскільки це необхідно для цієї дії.

Nowadays, it gets more and more common to sign or even encrypt messages. Mutt supports traditional OpenPGP, S/MIME і з них через gpgme wrapper. Досить добре, щоб допомогти підтримувати сигнали та розглянуті повідомлення, використовуючи USE flag. Documentation and experiences в цій області є confusing для того, щоб прийняти, і при gpgme код-паші є достатньою для встановлення, вона є документована scarcely. Якщо ви маєте gpgme ensure you also enable цей backend в вашому налаштуванні, бачте.

Конфігурація

Після того, як ви встановили Mutt із вибраним набором USE-прапорів, далі необхідно створити файл .muttrc у домашньому каталозі вашого користувача. Приклади Muttrc-файлів можна знайти в багатьох місцях Інтернету, а також документації Mutt. В каталозі /usr/share/doc/mutt- /samplesви можете знайти деякі приклади файлів muttrc з офіційного постачання. Ми обговоримо дуже маленький файл .muttrc для облікового запису з використанням протоколу IMAP та доставкою пошти по SMTP нижче.

Files

.muttrc

Файл ~/.muttrcПриклад файлу.

# Кодова сторінка для надісланих нами повідомлень set send_charset="utf-8" # Якщо для вхідних повідомлень не задано кодової сторінки, то, швидше за все, це windows set assumed_charset="iso-8859-1" # Переконайтеся, що Vim знає про те, що Mutt це поштовий клієнт і вкажемо йому, що створюємо повідомлень в UTF-8 set editor="vim -c "set syntax=mail ft=mail enc=utf-8"" # =yes # Ми хочемо дивитися деякі MIME-типи не виходячи з програми, дивись нижче (після цього лістингу коду) пояснення auto_view application/msword auto_view application/pdf # Шаблон за замовчуванням для пошуку в To, Cc та Subject set simple_search="~f %s | ~C %s | ~s %s" # Налаштування потоків, сортувати за потоками set sort=threads set strict_threads=yes # Показуємо окуляри спаму (тільки зі SpamAssassin) при читанні повідомлення spam "X-Spam-Score: (+ ).*" "SA: %1" set pager_format = " %C - %[%H:%M] %.20v, %s%* %?H? [%H] ?" # Не показувати всі заголовки, тільки деякі ignore * unignore From To Cc Bcc Date Subject # в такому порядку unhdr_order * hdr_order From: To: Cc: Bcc: Date: Subject: # Розфарбуємо всі кольори, для прикладів розмальовки дивись сайт # http:/ /aperiodic.net/phil/configs/mutt/colors чорна біла чорна чорна кольору hdrdefault green default color quoted green default color quoted1 yellow default color quoted2 brightmagenta black color tilde blue default color attachment brightyellow default color markers brightred default color message white black color search brightwhite magenta color bold brightyellow default # Якщо ви не любите чорний прогрессбар внизу екрана, # закоментуйте наступний рядок "Andrew Dalziel" set from = " [email protected]"alternates" [email protected]|[email protected]" # Даний файл повинен існувати, і в ньому повинен бути ваш підпис. Закоментуйте його, якщо ви # не хочете використовувати підпис set signature = ~/.signature # Аліаси (щось на кшталт адресної книги) source ~/.aliases # Налаштування з'єднання IMAP set mail_check=60 set imap_keepalive=300 # Установки облікового запису IMAP set folder=imaps:// [email protected]/set spoolfile=imaps:// [email protected]/set record=imaps:// [email protected]/Sent set postponed=imaps:// [email protected]/Drafts # Використовувати headercache для IMAP (перевірте, що це каталог для більшої швидкодії!) set header_cache=/var/tmp/.mutt # Поштові скриньки для перевірки на нову пошту mailboxes "=" mailboxes "=Lists" # Поштові розсилки, на які ми підписані (використовуються регулярні вирази!) subscribe "gentoo-.*@gentoo\\.org" # Конфігурація SMTP для надсилання пошти set smtp_url=smtp://mail.server/

Нотатка
Буде гарною практикою розібратися з усіма налаштуваннями з прикладу. Є набагато більше налаштувань, а деякі налаштування можуть не співпадати з вашими. Пам'ятайте це, коли вам здасться, що Mutt працює не так, як вам хочеться.

Приклад .muttrc , показаний вище, налаштовує ваш обліковий запис IMAP, використовує SMTP сервер для передачі пошти, зберігає її в кеші /var/tmp/.mutt , читає відомі аліаси адрес (думайте про це як про адресну книгу) з файлу ~/. aliases і додає підпис з ~/.signature під час створення нової пошти. Для серверів IMAP може бути необхідно змінити каталоги для пошти, що надсилається, отримана і затримана, так як каталоги Sent і Drafts можуть знаходитися всередині каталогу, званого INBOX . Просто спробувавши Mutt, ви легко визначите, чи так це у вашому випадку.

Як тільки ви налаштували ваш .muttrc, ви готові запустити Mutt, просто набравши mutt. Якщо ви ввели правильну адресу для сервера IMAP, Mutt запросить ваш пароль, а потім завантажить повідомлення. Зауважте, що вперше вхід до вашої поштової скриньки може зайняти багато часу, якщо у вас є багато повідомлень, так як кеш заголовків Mutt поки порожній. Якщо все вийде, ви опинитеся у вашій поштовій скриньці IMAP, готовому до роботи.

Навігація досить інтуїтивна, наприклад, може читати повідомлення просто натискаючи Template:Ket або пропуск. Mutt досить схожий Vim у тому плані, що він використовує натискання клавіш для виконання більшості своїх дій. Найкраще прочитати документацію по Mutt в Інтернеті, щоб дізнатися всі існуючі функції (або просто натисніть? Mutt), а також, щоб дізнатися, які клавіші потрібно натиснути, щоб їх викликати (або, до якої клавіші ви б хотіли їх прив'язати). Деякі важливі клавіші це m (від message) для написання нового повідомлення, q для виходу, r для відповіді повідомлення, s для збереження та p для друку.

.mailcap

Одна з можливостей, які є в Mutt, але якої все ще немає у сьогоднішніх найпросунутіших клієнтів електронної пошти - це можливість відображати вкладення прямо в самій програмі за допомогою будь-якого переглядача. Директива auto_view у файлі .muttrc каже Mutt, які вкладення (відповідно до їх типу MIME) потрібно таким чином відображати. Щоб визначити, як це зробити, Mutt використовує mailcap, де знаходить, як відображати конкретні типи MIME. Зазвичай загальносистемного файлу mailcap тут недостатньо, так що ви можете створити свій файл ~/.mailcap , і помістити туди щось для copiousoutput , щоб Mutt міг відображати їх у самій програмі.

У прикладі вище для файлу .muttrc auto_view включений для файлів application/msword і application/pdf . Ці два види файлів показують велику корисність даної можливості, оскільки це означає, що нотатки, надіслані вам як файлів doc тепер повністю читаються без необхідності зберігати вкладення, і відкривати їх у LibreOffice. Замість цього, текст показується прямо в програмі читання повідомлень, якщо, звичайно, у вас є відповідний запис у вашому файлі ~/.mailcap .

Файл ~/.mailcapПриклад файлу.mailcap

Application/msword; antiword "%s"; copiousoutput; description=Word Document; nametemplate=%s.doc application/pdf; pdftotext "%s" -; copiousoutput; description=PDF Document; nametemplate=%s.pdf

Наведений приклад файлу .mailcap говорить Mutt, що потрібно робити, щоб "переглядати" ("view") файли msword і pdf . Для першого він має запустити програму antiword (emerge app-text/antiword), для останнього – програму pdftotext (emerge app-text/poppler). Ви можете додати туди програму для перегляду HTML у текстовому вигляді (спробуйте app-text/vilistextum), відображати vcard, або показувати ASCII відображення зображень у вкладеннях. Все, що вам потрібно це визначити, як викликати програму у вашому файлі .mailcap і сказати Mutt, щоб він спробував відобразити результат у самій програмі, за допомогою директиви auto_view .

Висновок

Mutt це консольний клієнт електронної пошти, що дуже настроюється. Якщо вам сподобалася концепція, Mutt можна змінювати будь-яким способом через його конфігураційний файл. Пошукайте в Інтернеті, щоб знайти, як інші люди зробили "це", або знайдіть один із багатьох існуючих патчів, щоб Mutt став робити ще більше. Gentoo застосовує кілька дуже популярних патчів для Mutt, так що перевірте mutt -v якщо ви хочете чогось ще (цілком можливо, воно вже є). Хоча вивчити Mutt це не обов'язково легко, але як тільки ви це зробите, він може зробити ваше спілкування з поштою набагато швидше та ефективніше, ніж решта клієнтів. Пошук прикладів це дуже потужна річ, якщо ви знаєте, як використовувати правильні прапори, і знаєте, як регулярні вирази допоможуть обмежити коло пошуку. Насолоджуйтесь програмою Mutt! Ця сторінка базується на документі, що містить основу нашого головного веб-сайту gentoo.org.
Наступні люди спричиняються до оригіналу: Fabian Groffen (grobian)
Вони існують як wiki history, які не можуть бути зроблені для будь-якого external atribution. If you edit the wiki article, please do not add yourself here; Ваші contributions є затверджені на всіх статтях з поєднаною сторією сторінок.