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

Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
Последняя версия Следующая версия справа и слева
wiki:fetchmail [2012/05/16 19:25]
[Задание cron]
wiki:fetchmail [2017/01/31 00:06]
[Использование 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>​
 ======Использование====== ======Использование======
Строка 79: Строка 82:
 <note warning>​Внимание!!!\\ <note warning>​Внимание!!!\\
 В данной статье приведена инструкция,​ в результате выполнения которой логин и пароль от вашего почтового ящика будут храниться в текстовом виде в доступном для чтения файле. Если Вы допускаете возможность несанкционированного доступа третьих лиц к вашему компьютеру в ваше отсутствие- воздержитесь от применения данного пакета!</​note>​ В данной статье приведена инструкция,​ в результате выполнения которой логин и пароль от вашего почтового ящика будут храниться в текстовом виде в доступном для чтения файле. Если Вы допускаете возможность несанкционированного доступа третьих лиц к вашему компьютеру в ваше отсутствие- воздержитесь от применения данного пакета!</​note>​
-======Ссылки===== + 
-[[http://​forum.ubuntu.ru/​index.php?​topic=191678.0|Тема]] с обсуждением данной статьи.+======Использование 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, 
 +  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>​программы почта проверка консоль уведомление notify-osd}} {{tag>​программы почта проверка консоль уведомление notify-osd}}