Перво-наперво небольшое введение в логику работы Wanderlust — почтовых ящиков как единиц конфигурации в клиенте нет, зато есть папки. В простейшем случае папка может являться аналогом почтового ящика, как например в Thunderbird. Обычно в рамках одного почтового ящика мы имеем несколько основных папок — Входящие, Черновики, Спам, Отправленные. В Wanderlust их можно сгруппировать в одну категорию — и мы получим тот самый почтовый ящик, к которому привыкли в Thunderbird.
Для того чтобы настроить список почтовых ящиков Wanderlust использует файл .folders, пребывая в святой уверенности что никакая другая программа не будет использовать для своих нужд файл с таким же именем. Файл этот хранится в вашей домашней директории. Вот пример содержимого файла .folders для трех учетных записей — IMAP и POP3:
# группа папок, изображающая почтовый ящик на gmail.com some_test@gmail.com { %INBOX:some_test/clear@imap.gmail.com:993! "Входящие" %[Gmail]/Черновики:some_test/clear@imap.gmail.com:993! "Черновики" %[Gmail]/Корзина:some_test/clear@imap.gmail.com:993! "Корзина" %[Gmail]/Отправленные:some_test/clear@imap.gmail.com:993! "Отправленные" # формат строки такой: # % - значит что папка в формате IMAP # INBOX или [Gmail]/Черновики - имя папки на IMAP сервере # : - разделитель # some_test - имя пользователя для авторизации # / - разделитель # clear - тип авторизации, для IMAP почти всегда это значение # @ - разделитель # imap.gmail.com:993 - сервер и порт # ! - означает что при подключении к серверу нужно использовать SSL, если !!, то TLS # "Входящие" - имя папки которое будет отображаться в Wanderlust } # тоже самое что и в предыдущей группе - меняются только имена IMAP папок. # кажется каждый почтовый сервис использует свою схему именования, и вам таки придется # выяснить как называются папки на вашем rambler_test@rambler.ru { %INBOX:rambler_test/clear@imap.rambler.ru:993! "Входящие" %DraftBox:rambler_test/clear@imap.rambler.ru:993! "Черновики" %SentBox:rambler_test/clear@imap.rambler.ru:993! "Отправленные" %Spam:rambler_test/clear@imap.rambler.ru:993! "Спам" %Trash:rambler_test/clear@imap.rambler.ru:993! "Корзина" } # теперь настроим POP3 папку # к сожалению по POP3 возможен доступ только ко входящим сообщениям # забудьте о том что у вас там имеется в остальных папках # или переместите содержимое других папок во "Входящие" в веб-интерфейсе mail_ru_test@mail.ru { &mail_ru_test/user@pop.mail.ru:995! "Входящие" # & - значит что папка в формате POP3 # mail_ru_test - имя пользователя # / - разделитель # user - тип авторизации для POP3 # @ - разделитель # pop.mail.ru:995 - сервер и порт # ! - использовать SSL }
Gmail использует русские имена папок IMAP, что Wanderlust не поддерживает по умолчанию, поэтому чтобы получать почту из них вам придется добавить в свой файл .emacs следующее:
(setq elmo-imap4-use-modified-utf7 t)
Между прочим пакет wl-beta из состава дебиан содержит баг из-за которого загрузка почты из POP3 папки вешает Wanderlust намертво. Так что, возможно вам придется установить более свежую версию с помощью el-get. Хорошая статья, описывающая как его настроить находится тут.
Теперь можете запустить новый экземпляр Emacs, нажать M-x wl и ввести пароли для ваших почтовых ящиков. Чтобы пароли не нужно было каждый раз вводить при запуске Wanderlust, после того как вы введете их все, нажмите A-x elmo-passwd-alist-save.
Теперь вы можете читать почту, но пока только читать — ни писать письма ни даже удалять их вы не можете, а посему давайте попробуем настроить и этот столь желанный функционал. Вот что нужно добавить в файл .emacs, чтобы получить полноценный почтовый клиент:
;; список правил для удаления писем - тут вы указываете какую папку использовать для ;; удаления сообщений в каждом ящике. Правила срабатывают по регулярному выражению, ;; применяемому к имени папки, в которой вы сейчас находитесь. Например папка для входящих ;; сообщений %INBOX:some_test/clear@imap.gmail.com:993! подпадает под регулярное выражение ;; "^%.*some_test", и сообщения удаленные из нее будут перемещаться в папку ;; [Gmail]/Корзина:some_test/clear@imap.gmail.com:993! (setq wl-dispose-folder-alist '( ("^%.*some_test" . "%[Gmail]/Корзина:some_test/clear@imap.gmail.com:993!") ("^%.*rambler_test" . "%Trash:rambler_test/clear@imap.rambler.ru:993!") )) ;; список почтовых адресов, с которых вы планируете отправлять письма (setq wl-user-mail-address-list (quote ("some_test@gmail.com" "rambler_test@rambler.ru" "mail_ru_test@mail.ru"))) ;; чтобы не выдавало ошибку при старте из-за того, что smtp сервер по умолчанию не определен сразу (setq wl-insert-message-id nil) ;; чтобы при создании нового сообщения отправитель подставлялся в ;; зависимости от того в какой папке вы сейчас находитесь (add-hook 'wl-mail-setup-hook 'wl-draft-config-exec) (remove-hook 'wl-draft-send-hook 'wl-draft-config-exec) ;; указываем что выбор SMTP сервера для отправки должен осуществляться в зависимости от правил (setq wl-draft-config-matchone t) ;; и вот эти правила и настройки применяющиеся в случае срабатывания одного из них (setq wl-draft-config-alist '( ;; some_test@gmail.com ( (string-match "some_test" wl-draft-parent-folder) (wl-message-id-domain . "some_test@gmail.com") (wl-from . "some_test ") ("From" . "some_test@gmail.com") (wl-smtp-posting-server . "smtp.gmail.com") (wl-smtp-connection-type . 'starttls) (wl-smtp-posting-port . 587) (wl-smtp-authenticate-type . "plain") (wl-smtp-posting-user . "some_test") (wl-local-domain . "smtp.gmail.com") ) ;; rambler_test@rambler.ru ( (string-match "rambler_test" wl-draft-parent-folder) (wl-message-id-domain . "rambler_test@rambler.ru") (wl-from . "rambler_test ") ("From" . "rambler_test@rambler.ru") (wl-smtp-posting-server . "smtp.rambler.ru") (wl-smtp-connection-type . 'starttls) (wl-smtp-posting-port . 587) (wl-smtp-authenticate-type . "plain") (wl-smtp-posting-user . "rambler_test") (wl-local-domain . "smtp.rambler.ru") ) ;; mail_ru@mail.ru ( (string-match "mail_ru" wl-draft-parent-folder) (wl-message-id-domain . "mail_ru@mail.ru") (wl-from . "mail_ru ") ("From" . "mail_ru@mail.ru") (wl-smtp-posting-server . "smtp.mail.ru") (wl-smtp-connection-type . 'starttls) (wl-smtp-posting-port . 587) (wl-smtp-authenticate-type . "plain") (wl-smtp-posting-user . "mail_ru") (wl-local-domain . "smtp.mail.ru") )))
На всякий случай проверьте имена серверов и способы аутентификации. Узнать эту информацию обычно можно в веб-интерфейсе к вашему почтовому сервису. Более того, чтобы не загрязнять файл .emacs, поддерживает чтение настроек при запуске из файла .wl — он так же как .folders должен находиться в вашей домашней директории. И в завершение — немного подправим внешний вид, чтобы получить что-то похожее на скриншот в начале статьи:
(setq ;; чтобы интерфейсы был как у Thunderbird - слева панель папок, ;; справа список писем и прсомотр текущего сообшения wl-stay-folder-window t wl-folder-window-width 40 ;; чтобы при просмотре сообщения не видеть слишком много ненужных полей wl-message-ignored-field-list '("^.*:") wl-message-visible-field-list '("^\\(To\\|Cc\\):" "^Subject:" "^\\(From\\|Reply-To\\):" "^Organization:" "^Message-Id:" "^\\(Posted\\|Date\\):" ) wl-message-sort-field-list '("^From" "^Organization:" "^X-Attribution:" "^Subject" "^Date" "^To" "^Cc"))
ссылка на оригинал статьи http://habrahabr.ru/post/192460/
Добавить комментарий