Fetchmail Сравнение версий

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
wiki:fetchmail [2012/05/16 10:11]
СперанскийСперанскийСперанскийDictum ac factum [Безопасность]
wiki:fetchmail [2017/01/31 00:09] (текущий)
saint-denis [Использование fetchmail для получения почтовых вложений]
Строка 13: Строка 13:
 user '<​user_name>​@gmail.com',​ with password '​*******'​ user '<​user_name>​@gmail.com',​ with password '​*******'​
 </​code>​ </​code>​
-В данном примере приведены настройки для работы с серверами по протоколам POP3 и IMAP, если у вас одна учетная запись почты, то выберете свой вариант,​ вместо <​user_name>​ введите имя контакта,​ а вместо свой ​''​*******'' ​пароль. Параметр ''​skip''​ перед именем сервера указывает,​ что почту нужно проверять только по принудительному запросу. При таком конфигурационном файле обращение к почтовому серверу происходит с явным указанием:​+Присваиваем права на исполнение 
 +<code bash>​chmod 700 ~/​.fetchmailrc</​code>​ 
 + 
 +В данном примере приведены настройки для работы с серверами по протоколам POP3 и IMAP, если у вас одна учетная запись почты, то выберете свой вариант,​ вместо <​user_name>​ введите имя контакта,​ а вместо ​звездочек - свой пароль. Параметр ''​skip''​ перед именем сервера указывает,​ что почту нужно проверять только по принудительному запросу. При таком конфигурационном файле обращение к почтовому серверу происходит с явным указанием:​
 <code bash>​fetchmail [параметры] pop.mail.ru</​code>​ <code bash>​fetchmail [параметры] pop.mail.ru</​code>​
 ======Использование====== ======Использование======
 Fetchmail представляет собой полноценный консольный почтовый клиент,​ при помощи которого можно принимать и пересылать почту, и основное её применение,​ конечно же, различного рода серверы. ​ Fetchmail представляет собой полноценный консольный почтовый клиент,​ при помощи которого можно принимать и пересылать почту, и основное её применение,​ конечно же, различного рода серверы. ​
-======Проверка и отображение новых писем======+=====Проверка и отображение новых писем ​с помощью notify-osd=====
 В приведенном ниже описании рассматривается применение пакета fetchmail на обычных рабочих компьютерах с целью оповещения о наличии новых писем в вашем почтовом ящике. Данный способ основан на применении одного простого скрипта и стандартного пакета ''​cron''​ для того, что бы отказаться от запущенного в фоне тяжелого почтового клиента (Thunderbird,​ Evolution и т.д.). В приведенном ниже описании рассматривается применение пакета fetchmail на обычных рабочих компьютерах с целью оповещения о наличии новых писем в вашем почтовом ящике. Данный способ основан на применении одного простого скрипта и стандартного пакета ''​cron''​ для того, что бы отказаться от запущенного в фоне тяжелого почтового клиента (Thunderbird,​ Evolution и т.д.).
-=====Скрипт проверки писем=====+====Скрипт проверки писем====
 Создайте новый файл в удобной для Вас папке (рекомендуется использовать ~/bin, которая не будет удаляться при переустановке системы):​ Создайте новый файл в удобной для Вас папке (рекомендуется использовать ~/bin, которая не будет удаляться при переустановке системы):​
 <code bash>​mkdir ~/bin <code bash>​mkdir ~/bin
Строка 65: Строка 68:
 Отправьте себе тестовое письмо и в терминале запустите скрипт на исполнение <code bash> ~/​bin/​chck-mail.sh</​code>​ должно появиться подобное уведомление:​ Отправьте себе тестовое письмо и в терминале запустите скрипт на исполнение <code bash> ~/​bin/​chck-mail.sh</​code>​ должно появиться подобное уведомление:​
 {{ wiki:​fetchmail:​notify_send_chck-mail.png }} {{ wiki:​fetchmail:​notify_send_chck-mail.png }}
-В случае возникновения ошибок,​ напишите нам об этом на форуме,​ приведя текст ошибки. +В случае возникновения ошибок,​ напишите нам об этом на [[http://​forum.ubuntu.ru/​index.php?​topic=191678.0|форуме]], приведя текст ошибки. 
- +====Задание cron====
-=====Задание cron=====+
 Для автоматической проверки почтового ящика необходимо добавить задание cron для созданного ранее скрипта,​ для этого в терминале введите команду <code bash>​crontab -e</​code>,​ если вы ни разу этого не делали,​ то появится диалог выбора предпочитаемого редактора,​ укажите ''​nano''​ (выбор 2 по умолчанию). ​ Для автоматической проверки почтового ящика необходимо добавить задание cron для созданного ранее скрипта,​ для этого в терминале введите команду <code bash>​crontab -e</​code>,​ если вы ни разу этого не делали,​ то появится диалог выбора предпочитаемого редактора,​ укажите ''​nano''​ (выбор 2 по умолчанию). ​
 В появившемся окне редактора допишите в конец файла: В появившемся окне редактора допишите в конец файла:
Строка 79: Строка 81:
 ======Безопасность====== ======Безопасность======
 <note warning>​Внимание!!!\\ <note warning>​Внимание!!!\\
-В данном руководстве приведена инструкция,​ в результате которой логин и пароль от вашего почтового ящика будут храниться в текстовом виде в доступном для чтения файле. Если Вы допускаете возможность несанкционированного доступа третьих лиц к вашему компьютеру в ваше отсутствие- не делайте ​это!</​note>​+В данной статье приведена инструкция,​ в результате ​выполнения ​которой логин и пароль от вашего почтового ящика будут храниться в текстовом виде в доступном для чтения файле. Если Вы допускаете возможность несанкционированного доступа третьих лиц к вашему компьютеру в ваше отсутствие- ​воздержитесь от применения ​данного пакета!</​note>​ 
 + 
 +======Использование fetchmail для получения почтовых вложений====== 
 +<note important>​Внимание:​ вместо параметров user, username, password и т.д. вы должны подставить свои значения</​note>​ 
 +Данный раздел описывает следующий сценарий работы:​ у вас есть сервер,​ принимающий почту, в письмах встречаются вложения,​ которые нужно сохранять отдельно (к примеру,​ вложенные в письма торрент-файлы,​ которые сразу ставятся на закачку при сохранении их в определенный каталог). 
 + 
 +Функционала "​голого"​ fetchmail здесь не хватит,​ дополнительно установим криптографический пакет **openssl**,​ почтовый фильтр **procmail** и утилиту для сохранения вложений **uudeview**:​ 
 + 
 +<code bash>​sudo apt install openssl procmail uudeview</​code>​ 
 + 
 +Настройка описывается на примере gmail (сразу рекомендую в дебрях Гугла [[https://​www.google.com/​settings/​security/​lesssecureapps | разрешить непроверенным приложениям получать доступ к вашему почтовому ящику]],​ иначе не оберетесь проблем). Почтовый ящик я для указанной выше цели использую отдельный,​ все подряд на него не сыплется,​ поэтому фильтрацию вложений в этом гайде я не описываю. 
 + 
 +Приводим конфигурационный файл ''​~/​.fetchmailrc''​ к следующему виду: 
 + 
 +<code bash> 
 +set daemon 60 #​интервал в секундах проверки почты демоном 
 + 
 +poll imap.gmail.com 
 +with nodns, 
 +with protocol IMAP 
 +user "​user@gmail.com"​ there is "​user"​ here,#​строка "there is "​user"​ here" позволяет соотнести логин почты с вашим пользователем Ubuntu по имени user; эта строка необязательна 
 +  with password PaSSWorD, 
 +  keep,#​письма остаются на сервере после прочтения 
 +  with ssl, sslcertck;#​при таких настройках сертификат не нужно перекачивать и хешировать вручную 
 +mda '​procmail -d %T' 
 +set syslog set logfile fetchmail/​logs/​fetchmail.log 
 +</​code>​ 
 + 
 +Не забываем про права 600 (без них fetchmail не будет работать с конфигом - небезопасно же, пароль открыт всем - и выругается):​ 
 +<code bash> 
 +chmod 600 ~/​.fetchmailrc 
 +</​code>​ 
 + 
 +Создаем нужные нам каталоги для работы fetchmail:​ 
 + 
 +<code bash>​mkdir -p ~/​fetchmail/​logs/​ ~/​fetchmail/​backup/​ ~/​fetchmail/​attachments/</​code>​ 
 + 
 +По пути ''​~/​fetchmail/​logs/​fetchmail.log''​ нам будет доступен лог работы fetchmail, что мне, к примеру,​ упростило поиск ошибок в настройках (гайды из интернета как всегда не работают,​ возможно,​ у вас не заработает именно этот гайд8-)). Лог нужно создать вручную:​ 
 +<code bash> 
 +> ~/​fetchmail/​logs/​fetchmail.log 
 +</​code>​ 
 + 
 +Создаем конфигурационный файл ''​~/​.procmailrc''​ со следующим содержимым (учтите,​ что права на вашу директорию $HOME для работы procmail должны быть не более, чем 744, как и права на сам .procmailrc - без этого procmail будет заявлять,​ что конфиг подозрителен):​ 
 +<code bash> 
 +:0 
 +*^content-Type:​ 
 +
 +# сделаем копию принятого письма 
 +:0c: 
 +$HOME/​fetchmail/​backup 
 + 
 +#здесь будут распакованы все файлы из письма и сложены в нужный нам каталог 
 +#для этого сделаем форвард в uudeview, который распакует вложения в $HOME/​fetchmail/​attachments 
 +#опция -a создает нумерованные копии файлов,​ если файлы с таким именем уже обнаружены 
 +:0f 
 +| uudeview -i +a +o -p $HOME/​fetchmail/​attachments - 
 +
 +</​code>​ 
 + 
 +Теперь остается добавить fetchmail в [[wiki:​cron|cron]] для автозагрузки. В файле ''​~/​fetchmail/​fetchmail.cron''​ сохраняем следующее содержимое:​ 
 +<code bash> 
 +PATH=/​bin:/​sbin:/​usr/​bin:/​usr/​sbin:/​usr/​local/​bin:/​usr/​local/​sbin 
 +@reboot fetchmail 
 +</​code>​ 
 +Добавляем информацию в планировщик:​ 
 +<code bash> 
 +crontab ~/​fetchmail/​fetchmail.cron 
 +</​code>​ 
 +И запускаем клиент:​ 
 +<code bash> 
 +fetchmail 
 +</​code>​ 
 +Если что-то не сработает - в первую очередь смотрите лог fetchmail, затем гуглите. 
 +======Ссылки====== 
 +[[http://​forum.ubuntu.ru/​index.php?​topic=191678.0|Тема]] с обсуждением данной статьи 
 + 
 +[[http://​youngblog.hoster-ok.com/​ispolzuem-fetchmail-dlya-avtomatizatsii-razbora-pochty/​ | Основная статья по настройке сохранения вложений]] 
 + 
 +[[https://​www.opennet.ru/​base/​net/​fetchmail_setup.txt.html|Fetchmail на Opennet]]
 ---- ----
-{{tag>​программы почта проверка консоль уведомление}}+{{tag>​программы почта проверка консоль уведомление ​notify-osd}}