linux @ 02 Август 2008
Есть замечательный консольный почтовый клиент: mutt.
Особо он примечателен тем, что:
а) консолен(не тратится много ресурсов на обработку почты и прочего)
б) обладает мощными настройками(как и в vim, практически все настройки находятся в .muttrc, конфигурационном файле)
в) мощная система распределения почты
г) широкие возможности по расширению функционала.

В этой статье хочу рассмотреть использование mutt, в качестве клиента для чтения почты GMail, это бывает полезно, когда у Вас нет под рукой браузера(или траффик достаточно дорог/небольшая скорость подключения). Да и для экономии системных ресурсов для более важных задач пригодится.
В любом случае Вам понадобится сначала поставить пару пакетов, в том числе и сам mutt:
sudo apt-get install openssl mutt

Первый способ, достаточно простой - использование imap в качестве подключения.
Добавляете в ~/.muttrc следующие строки:
set imap_user = "youremail@gmail.com"
set imap_pass = "your pass"
set smtp_url = "smtp://gmailuser@smtp.gmail.com:587/"
set smtp_pass = "your pass"
set from = "youremail@gmail.com"
set realname = "Your Name"
set folder = "imaps://imap.gmail.com:993"
set spoolfile = "+INBOX"
set postponed="+[Gmail]/Drafts"
set header_cache=~/.mutt/cache/headers
set message_cachedir=~/.mutt/cache/bodies
set certificate_file=~/.mutt/certificates
set move = no

Запускаете mutt и получаете заголовки писем(лучше конечно прочитанные письма при этом удалять, а то будет как у меня порядка 15000 писем за раз :)

Второй способ, более сложный, но не в трудности выполнения, а в бОльшем количестве действий.
Ставите дополнительные пакеты:
sudo apt-get install ssmtp fetchmail procmail
После этого добавляете в /etc/ssmtp/ssmtp.conf:
root=Email Address # Ваш почтовый адрес
mailhub=smtp.gmail.com:587 # Gmail сервер
UseSTARTTLS=YES # Отправлять письма используя протокол SSL/TSL
AuthUser=Gmail Username # Имя пользователя GMail
AuthPass=Gmail Password # Пароль GMail
rewriteDomain=gmail.com # Позволяет письмам отправлятся с GMail
FromLineOverride=YES # -- " --
hostname=Hostname # Выполняете: hostname -f в терминале и вписываете сюда

Настраиваем получение почты, создаем конфигурационный файл ~/.fetchmailrc и вписываем:
poll pop.gmail.com # Указываем сервер pop3 у GMail
with proto POP3 # Используем pop3 протокол
user 'Gmail Username ' # Ваше имя пользователя
there with password 'Gmail Password' # Ваш пароль
is 'username' here # Ваше локальное имя
mda "/usr/bin/procmail -d %T" # Сообщаем fetchmail какую транспортную почтовую систему использовать
options # Различные опции:
keep # Сохранять почту на сервере
ssl # Использовать SSL
sslcertck # Проверять сертификаты
sslcertpath /etc/ssl/certs # Путь к сертификатам

Защищаем файл, от посягательств:
chmod 600 ~/.fetchmailrc
Теперь настраиваем procmail. Добавляем/заменяем в ~/.bashrc :
# Sets the Mail Environment Variable
MAIL=/var/spool/mail/username && export MAIL

Добавляем в ~/.procmailrc:
# Environment variable assignments
PATH=/bin:/usr/bin:/usr/local/bin
VERBOSE=off # Turn on for verbose log
MAILDIR=$HOME/Mail # Where Procmail recipes deliver
LOGFILE=$HOME/.procmaillog # Keep a log for troubleshooting.
# Recipes
:0:
* ^TOmutt-user
mutt

Создаем директорию ~/Mail:
mkdir ~/Mail
Создаём .muttrc со следующим содержанием:
#======================================================#
# Boring details
set realname = "Your realname"
set from = "Email address"
set use_from = yes
set envelope_from ="yes"
# If not set in environment variables:
set spoolfile = /var/spool/mail/user-name
#======================================================#
# Folders
set folder="~/Mail" # Mailboxes in here
set record="+sent" # where to store sent messages
set postponed="+postponed" # where to store draft messages
set move=no # Don't move mail from the spool.
#======================================================#
# Watch these mailboxes for new mail:
mailboxes ! +Fetchmail +slrn +mutt
set sort_browser=alpha # Sort mailboxes by alpha(bet)
#======================================================#
# Order of headers and what to show
hdr_order Date: From: User-Agent: X-Mailer \
To: Cc: Reply-To: Subject:
ignore *
unignore Date: From: User-Agent: X-Mailer \
To: Cc: Reply-To: Subject:
#======================================================#
# which editor do you want to use?
# vim of course!
set editor="vim -c 'set tw=70 et' '+/^$' "
set edit_headers # See the headers when editing
#======================================================#
# Aliases
set sort_alias=alias # sort aliases in alpha order by alias name
#======================================================#
# Colours: This scheme is fairly basic and only
# really works if your Terminal background is white
color hdrdefault black default
color quoted red default
color signature brightblack default
color indicator brightwhite red
color attachment black green
color error red default
color message blue default
color search brightwhite magenta
color status brightyellow blue
color tree red default
color normal blue default
color tilde green default
color bold brightyellow default
color markers red default
#======================================================#
# Odds and ends
set markers # mark wrapped lines of text in the pager with a +
set smart_wrap # Don't wrap mid-word
set pager_context=5 # Retain 5 lines of previous page when scrolling.
set status_on_top # Status bar on top.
push # Shows mutt version at startup
#Some bindings
macro index,pager I ' fetchmail -v'
#Allows you to fetch mail by pressing I


Различные конфигурации .muttrc можно посмотреть на dotfiles.org или dotfiles.com и аналогичных проектах.

6 Response to “Дружим mutt и GMail.”

  1. www2 (анонимно) Says:

    Объясните мне сакраментальный смысл всего этого. mutt и fetchmail можно подружить с любым почтовым сервером, даже более того - любой почтовый клиент с любым почтовым сервером.

    Смысл GMail в (1) хранении всех писем вообще, то есть в том чтобы забыть про кнопку удаления, в (2) удобном поиске и (3) доступе к почте из любого места.

  2. librarian (анонимно) Says:

    Никто ведь не мешает использовать указанные настройки для других серверов? Я просто привёл пример, как это можно сделать конкретно с GMail. Лично мне чтобы быстро просмотреть почту удобнее mutt использовать.

  3. Ромашка (анонимно) Says:

    Дык, читай вначале:

    "В этой статье хочу рассмотреть использование mutt, в качестве клиента для чтения почты GMail, это бывает полезно, когда у Вас нет под рукой браузера(или траффик достаточно дорог/небольшая скорость подключения). Да и для экономии системных ресурсов для более важных задач пригодится."

  4. librarian (анонимно) Says:

    Я рассмотрел конкретный пример, именно на GMail. Я использую в качестве почтового клиента именно mutt, а настройка многих почтовиков приведена в хелпе GMail.

    Для других серверов просто пару настроек нужно поменять.

  5. Phil Kulin (анонимно) Says:

    у меня кстати нормально не работает imap в mutt - не хочет папки создавать, переименовывать и не работает опция "проверить подписанные папки при запуске" - не знаю почему :(

    P.S. Правда, не копался

  6. librarian (анонимно) Says:

    У меня mutt стоит сейчас в качестве: быстро забежал, глянул, есть ли что новое. Переименованиями не занимался.

    Думаю твою проблему можно решить, видимо что то в конфиге намучено.

Leave a Reply

Не регистрировать/аноним

Используйте нормальные имена. Ваш комментарий будет опубликован после проверки.

Если вы уже зарегистрированы как комментатор или хотите зарегистрироваться, укажите пароль и свой действующий email.
(При регистрации на указанный адрес придет письмо с кодом активации и ссылкой на ваш персональный аккаунт, где вы сможете изменить свои данные, включая адрес сайта, ник, описание, контакты и т.д.)


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