Редактирование: /Mail/Mutt/TwoAccounts

Перейти к: навигация, поиск

Внимание: Вы работаете как анонимный пользователь. Ваш IP-адрес будет записан в историю изменений этой страницы.

Правка может быть отменена. Пожалуйста, просмотрите сравнение версий, чтобы убедиться, что это именно те изменения, которые вас интересуют, и нажмите «Записать страницу», чтобы изменения вступили в силу.
Текущая версия Ваш текст
Строка 1: Строка 1:
#перенаправление [[Mail/Mutt/TwoAccounts]]
+
= Настройка почтовой программы  '''mutt'''  на работу с несколькими аккаунтами и независимыми настройками. =
 +
Возьмем связку из {{cmd|fetchmail}} (это тот,кто будет ловить почту), {{cmd|procmail}} (разгребать пришедшую почту и складывать куда нам надо и как надо) , для отправки {{cmd|msmtp}}, ну и сам {{cmd|mutt}}.
 +
Надо сказать, что все нижеприведенное умеет и сам {{cmd|mutt}}, кроме сортировки почты, но мы рассматриваем сложный случай, когда его функциональности недостаточно.
 +
Итак - приступим.
 +
==настройка fetchmail==
 +
{{cmd|cat  /home/localuser/.fetchmailrc}}
 +
#set daemon 1200
 +
set logfile /home/demo/.fetchmail.log
 +
defaults proto pop3 timeout 120 tracepolls mda "/usr/bin/procmail -d %T" fetchlimit 20 limit 150000
 +
poll pop.gmail.com user "gmailuser@gmail.com" is "localuser" password "SuPeRpArOl" ssl
 +
poll pop.mail.ru  user "supermailuser" keep password "SUperPaSSWord"
 +
 
 +
где ''gmailuser@gmail.com'' и  ''supermailuser''  -имена пользователей (логин) для авторизации на почтовом сервере,  ''localuser'' -  имя локального пользователя, под которым вы будете читать почту (опция ''is "localuser"'' необязательна, все равно почту по почтовым ящикам пользователей рассовывает {{cmd|procmail}}, если у него хватает прав доступа, конечно),  ''SuPeRpArol''  и ''SUperPaSSWord'' - пароли для почтового сервера, ''pop.gmail.com'' и ''pop.mail.ru'' - адрес почтового сервера. <br>
 +
Опция ''proto'' означает тип соединения, в данном случае ''pop3''.<br>
 +
Опция ''timeout'' выставляет таймаут для соединения, по истечении этого времени соединение считается потерянным.<br>
 +
Опция ''tracepolls'' указывает {{cmd|fetchmail}} дописывать в заголовки каждого письма еще один ''Received'' с информацией о дате и пути скачивания письма (бывает, что это важно).<br>
 +
Опция ''mda'' указывает передавать полученные письма следующей программе, в данном случае сортировшику почты {{cmd|procmail}} с опциями ''-t'' — не отбрасывать почту при невозможности доставки (нет хуже отправленного и потерянного письма) и ''%T'' — вместо нее подставляется локальный пользователь, которому следует положить данное письмо в ящик.<br>
 +
Опция ''fetchlimit'' указывает на необходимость реконнекта после получения 20 писем с сервера. Необходимо для медленных и неустойчивых каналов, чтобы не качать письма по несколько раз при обрыве очереди.<br>
 +
Опция ''limit'' предписывает отказывать в получении писем размером более указанного (в байтах).<br>
 +
Опция ''keep'' означает - не удалять письма с почтового сервера после получения.<br>
 +
Опция ''ssl'' требуется для Google/mail, означает безопасное соединение с шифрованием через порт 995 (напомню, обычный почтовый трафик не зашифрован). Gmail требует эту опцию, на остальных серверах включать по желанию и поддержке сервером.<br>
 +
Строка, начинающаяся с ''defaults'', считается общей для всех серверов.<br>
 +
Строка, начинающаяся с ''poll'', заключает в себе опции для одного сервера (ранее эта опция и называлась ''server'', в нынешних версиях переименована). Может заключать в себе несколько почтовых ящиков для разных пользователей (имеет смысл только при запуске {{cmd|fetchmail}} от имени root ).<br>
 +
Строку вначале файла можно раскомментировать для запуска {{cmd|fetchmail}} в фоновом режиме каждые 1200 секунд (20 минут).
 +
 
 +
 
 +
==Настройка procmail==
 +
{{cmd|cat  /home/localuser/.procmailrc}}
 +
MAILDIR=$HOME/Mail ##вся почта идёт сюда
 +
DEFAULT=$HOME/default
 +
LOGFILE=$HOME/.procmaillog
 +
LOCKFILE=$HOME/.lockmail
 +
LOGABSTRACT=no
 +
VERBOSE=off
 +
FORMAIL=/usr/bin/formail ##программа для отлова копий
 +
NL=""
 +
##условные строки начинаются с :0
 +
##не записывайте комментарии в строки условия
 +
##отредактируйте ненужные условия!
 +
##Строки условий начинаются с *, а регулярные выражения ваши лучшие друзья
 +
##условия, добавленные после * попадают прямо в egrep
 +
##строка, следующая за условиями, в следующем регистре является именем почтового ящика
 +
#Отлавливание копий, используя formail
 +
:0 Whc: .msgid.lock
 +
| $FORMAIL -D 16384 .msgid.cache
 +
:0 a
 +
$MAILDIR/duplicates
 +
#люди которые всегда пишут с одного почтового адреса
 +
:0
 +
* ^From:.*(petya@rambler.ru|petya86@mail.ru)
 +
$MAILDIR/friends
 +
#выборка некоторого спама
 +
:0
 +
* ^Subject:.*(credit|cash|money|debt|sex|sale|loan)
 +
$MAILDIR/spam
 +
#html - ф топку
 +
:0
 +
* ^Content-Type:.*html
 +
$MAILDIR/junk
 +
#сортировка писем из списков рассылки (в данном случае по заголовку письма List-Id)
 +
:0
 +
* ^List-Id:.*Desktop.*
 +
$MAILDIR/desktop
 +
:0
 +
* ^List-Id:.*community.*
 +
$MAILDIR/comm
 +
:0
 +
* ^List-Id:.*sysadmin.*
 +
$MAILDIR/sysadmins
 +
#сортировка по почтовым ящикам писем с разных почтовых учётных записей
 +
:0
 +
* ^To:.*gmailuser@gmail.com
 +
$MAILDIR/gmail
 +
:0
 +
* ^To:.*supermailuser@mail.ru
 +
$MAILDIR/mailru
 +
###########################################
 +
# Последние условие: складирует остальную #
 +
# почту в почтовый ящик по умолчанию #
 +
###########################################
 +
:0
 +
* .*
 +
DEFAULT
 +
 
 +
MAILDIR - каталог с почтой.
 +
DEFAULT - куда будет складываться неотсортированная почта
 +
LOGFILE - куда будем лог писать (иногда бывает полезно читать логи :-)
 +
LOCKFILE - чтобы не запускалось несколько копий одновременно.
 +
 
 +
''gmailuser@gmail.com'' и ''supermailuser@mail.ru''
 +
соответственно ваши адреса электронной почты.
 +
 
 +
==Mutt==
 +
 
 +
 
 +
Теперь в [[DotFiles/Mail/Mutt|настройки mutt]]  следует добавить парочку хуков:
 +
 
 +
folder-hook gmail set from="gmailuser@gmail.com", realname="stalker\ Вова"
 +
folder-hook mailru set from="supermailuser@mail.ru"
 +
 
 +
Теперь при работе с этими 2 мейлбоксами будут автоматом подставляться нужные адреса.
 +
Есть вариант для ручного [пере]определения, через какой ящик уйдет письмо:
 +
macro generic "<esc>1" ":set from=supermailuser@mail.ru realname=stalker\ Vova"
 +
macro generic "<esc>2" ":set from=gmailuser@gmail.com"
 +
Теперь достаточно нажать последовательно '''Esc''', затем '''1''', и отправителем станет ''supermailuser'' с псевдонимом ''stalker Vova'' на сервере ''mail.ru''.
 +
На один мейлбокс можно вешать несколько небольших хуков или один большого размера.Пример:
 +
folder-hook asd set from="supermailuser@mail.ru"; my_hdr X-Operating-System:`uname -a`
 +
 
 +
Также необходимо все это хозяйство ({{cmd|fetchmail, procmail, formail, msmtp}}) подчинить "командному пункту" — {{cmd|mutt}}:
 +
# получение почты стандартной клавишей Shift+G
 +
macro index G "!/usr/bin/fetchmail  -f ~/.fetchmailrc"
 +
macro pager G "!/usr/bin/fetchmail  -f ~/.fetchmailrc"
 +
macro generic G "!/usr/bin/fetchmail  -f ~/.fetchmailrc"
 +
# отправка почты через msmtp
 +
set sendmail="/usr/bin/msmtp"
 +
set use_from=yes
 +
set from="supermailuser@mail.ru"    #дефолтный отправитель, можно и закомментировать, ибо есть записи в "~/.msmtprc"
 +
set envelope_from=yes
 +
set realname="Vova Petrov"
 +
 
 +
 
 +
 
 +
==msmtp==
 +
 
 +
Конфигурация {{cmd|msmtp}}:
 +
 
 +
{{cmd|cat /home/localuser/.msmtprc}}
 +
defaults
 +
logfile ~/.msmtp.log
 +
 +
account default : mailru
 +
 +
account mailru
 +
host smtp.mail.ru
 +
port 25
 +
from supermailuser@mail.ru
 +
user supermailuser
 +
password SuPeRpArOl
 +
auth plain
 +
 +
account gmailcom
 +
host smtp.gmail.com
 +
port 587
 +
auth on
 +
tls on
 +
tls_starttls on
 +
tls_certcheck off
 +
from gmailuser@gmail.com
 +
user gmailuser@gmail.com
 +
password SUperPaSSWord
 +
 
 +
Здесь ''host'' — smtp-адрес сервера, куда отправлять почту; ''port'' — порт приема почты; ''from'' — от чьего имени; ''user'' и ''password'' — логин и пароль для аутентификации на сервере; опции ''auth'' и ''tls*'' — для создания защищенного соединения.
 +
 
 +
==Безопасность==
 +
 
 +
Следует помнить, что все вышеперечисленные файлы должны иметь владельцем и группой только своего пользователя, и иметь права доступа 0600 — чтение и запись только для владельца, так как '''они содержат пароли в открытом виде'''. {{cmd|fetchmail}} и {{cmd|msmtp}} не поддерживают опцию "взять пароль из такого-то файла", но если он не указан, будут искать его в файле ~/.netrc ({{cmd|man ftp}}), так что можно указать пароль там один раз вместо нескольких. Если и там пароля нет, то по возможности на консоль будет выведен запрос на ручной ввод пароля. Опять же можно использовать сам {{cmd|mutt}} и не доверять пароль более никакой программе.
 +
 
 +
[[Категория:Почта]]

Обратите внимание, что все добавления и изменения текста статьи рассматриваются, как выпущенные на условиях лицензии CC-BY-SA-3.0.

В целях защиты вики от автоматического спама в правках просим вас решить следующую каптчу:

Отменить Справка по редактированию (в новом окне)
Вики-разметка
Заголовки: 1-го: == ==, 2-го: === ===, 3-го: ==== ==== уровня.
Быстрая вставка: «» | [[]] [[|]] {{}} {{|}} [[Категория:]] [[altbug:]] <source lang=""></source> <pre></pre> <!-- -->.
Определения: {{man|}} {{lists|}} {{cmd|}} {{path|}} {{prg|}} {{pkg|}} {{term|}} {{span||}} {{altbug|}}
Выделение: ''italics'', '''bold''', <tt>моноширинный</tt>, <code>код</code>.
Списки: * ненумерованный список, ** вложенный список, # нумерованный список, ## вложенный нумерованный список, *# вложенный смешанный список, ;список :определений.
Verbatim: Пробел в начале строки или <pre>Явный тэг</pre>
Ссылки: [http://www.altlinux.ru/ внешние], [[Main Page|внутренние]], [http://altlinux.ru], [[Main Page]]
Шаблоны: {{Crap}} {{D}} {{Policy}} {{DraftPolicy}} {{Merge|}} {{Улучшение}} {{Тимовец|}}