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

Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
wiki:fetchmail [2017/01/30 18:53]
[Использование fetchmail для получения почтовых вложений]
wiki:fetchmail [2017/01/31 00:09]
[Использование fetchmail для получения почтовых вложений]
Строка 93: Строка 93:
 Настройка описывается на примере gmail (сразу рекомендую в дебрях Гугла [[https://​www.google.com/​settings/​security/​lesssecureapps | разрешить непроверенным приложениям получать доступ к вашему почтовому ящику]],​ иначе не оберетесь проблем). Почтовый ящик я для указанной выше цели использую отдельный,​ все подряд на него не сыплется,​ поэтому фильтрацию вложений в этом гайде я не описываю. Настройка описывается на примере gmail (сразу рекомендую в дебрях Гугла [[https://​www.google.com/​settings/​security/​lesssecureapps | разрешить непроверенным приложениям получать доступ к вашему почтовому ящику]],​ иначе не оберетесь проблем). Почтовый ящик я для указанной выше цели использую отдельный,​ все подряд на него не сыплется,​ поэтому фильтрацию вложений в этом гайде я не описываю.
  
-Получим сертификат Gmail (операции с сертификатом рекомендуется производить в отдельном каталоге с ограниченными правами доступа для посторонних,​ я в примере сохраняю его в домашней папке пользователя под названием **gmail.com.pem**):​ +Приводим конфигурационный файл ''​~/​.fetchmailrc''​ к следующему виду:
-<code bash>cd ~ && echo "​quit"​ | openssl s_client -connect pop.gmail.com:​995 -showcerts 2>&1 | awk '/​^[\-]+BEGIN CERTIFICATE[\-]+$/,/​^[\-]+END CERTIFICATE[\-]+$/​ {if (/​^[\-]+BEGIN CERTIFICATE[\-]+$/​) { count=count+1;​ flag=1 } if (count==1 && flag==1) { print $0 } if (/^[\-]+END CERTIFICATE[\-]+$/​) { flag=0 }}' > gmail.com.pem</​code>​ +
- +
-Хешируем:​ +
-<code bash>​c_rehash $HOME</​code>​ +
- +
-Получаем отпечаток ключа сертификата:​ +
-<code bash>​openssl x509 -in /​home/​user/​gmail.com.pem -noout -md5 -fingerprint</​code>​ +
-В выхлопе будет что-то вроде ''​MD5 Fingerprint=44:​A8:​E9:​2C:​FB:​A9:​7E:​6D:​F9:​DB:​F3:​62:​B2:​9E:​F1:​A9''​. +
- +
-Приводим конфигурационный файл ''​~/​.fetchmailrc''​ к следующему виду ​(не забываем про права 600):+
  
 <code bash> <code bash>
-set daemon 60#это включение режима работы ​в качестве демона и установка периодичности ​проверки почты+set daemon 60 #интервал в секундах проверки почты ​демоном 
 poll imap.gmail.com poll imap.gmail.com
-port 995 +with nodns, 
-proto POP3 +with protocol IMAP 
-user '​username@gmail.com+user "user@gmail.com" ​there is "user" here,#строка "there is "​user"​ here" позволяет соотнести логин почты с вашим пользователем Ubuntu по имени user; эта строка необязательна 
-pass '​password'​ +  with password PaSSWorD, 
-ssl +  keep,#письма остаются на сервере после прочтения 
-sslcertpath /​home/​user +  with ssl, sslcertck;#​при таких ​настройках ​сертификат не нужно перекачивать ​и хешировать вручную
-sslfingerprint ​"44:​A8:​E9:​2C:​FB:​A9:​7E:​6D:​F9:​DB:​F3:​62:​B2:​9E:​F1:​A9"#берем значение из выхлопа выше в данной статье+
 mda '​procmail -d %T' mda '​procmail -d %T'
 set syslog set logfile fetchmail/​logs/​fetchmail.log set syslog set logfile fetchmail/​logs/​fetchmail.log
 +</​code>​
 +
 +Не забываем про права 600 (без них fetchmail не будет работать с конфигом - небезопасно же, пароль открыт всем - и выругается):​
 +<code bash>
 +chmod 600 ~/​.fetchmailrc
 </​code>​ </​code>​
  
Строка 123: Строка 118:
 <code bash>​mkdir -p ~/​fetchmail/​logs/​ ~/​fetchmail/​backup/​ ~/​fetchmail/​attachments/</​code>​ <code bash>​mkdir -p ~/​fetchmail/​logs/​ ~/​fetchmail/​backup/​ ~/​fetchmail/​attachments/</​code>​
  
-По пути ''​~/​fetchmail/​logs/​fetchmail.log''​ нам будет доступен лог работы fetchmail, что мне, к примеру,​ упростило поиск ошибок в настройках (гайды из интернета как всегда не работают,​ возможно,​ у вас не заработает именно этот гайд8-)).+По пути ''​~/​fetchmail/​logs/​fetchmail.log''​ нам будет доступен лог работы fetchmail, что мне, к примеру,​ упростило поиск ошибок в настройках (гайды из интернета как всегда не работают,​ возможно,​ у вас не заработает именно этот гайд8-)). ​Лог нужно создать вручную:​ 
 +<code bash> 
 +> ~/​fetchmail/​logs/​fetchmail.log 
 +</​code>​
  
-Создаем конфигурационный файл ''​~/​.procmailrc''​ со следующим содержимым:​+Создаем конфигурационный файл ''​~/​.procmailrc''​ со следующим содержимым ​(учтите,​ что права на вашу директорию $HOME для работы procmail должны быть не более, чем 744, как и права на сам .procmailrc - без этого procmail будет заявлять,​ что конфиг подозрителен):
 <code bash> <code bash>
 :0 :0
Строка 134: Строка 132:
 $HOME/​fetchmail/​backup $HOME/​fetchmail/​backup
  
-а здесь будут распакованы все файлы из письма и сложены в каталог +#здесь будут распакованы все файлы из письма и сложены в нужный нам ​каталог 
-# для этого сделаем форвард в uudeview, который распакует вложения в $HOME/​fetchmail/​attachments +#для этого сделаем форвард в uudeview, который распакует вложения в $HOME/​fetchmail/​attachments 
-# опция -a создает нумерованные копии файлов,​ если файлы с таким именем уже обнаружены +#опция -a создает нумерованные копии файлов,​ если файлы с таким именем уже обнаружены 
-:0f     #в оригинальном конфиге эта строка выглядела как ":​0fw"​ и не работала+:0f
 | uudeview -i +a +o -p $HOME/​fetchmail/​attachments - | uudeview -i +a +o -p $HOME/​fetchmail/​attachments -
 } }
 </​code>​ </​code>​
  
-Теперь остается добавить fetchmail в cron для автозагрузки. В файле ''​~/​fetchmail/​fetchmail.cron''​ сохраняем следующее содержимое:​+Теперь остается добавить fetchmail в [[wiki:cron|cron]] ​для автозагрузки. В файле ''​~/​fetchmail/​fetchmail.cron''​ сохраняем следующее содержимое:​
 <code bash> <code bash>
 PATH=/​bin:/​sbin:/​usr/​bin:/​usr/​sbin:/​usr/​local/​bin:/​usr/​local/​sbin PATH=/​bin:/​sbin:/​usr/​bin:/​usr/​sbin:/​usr/​local/​bin:/​usr/​local/​sbin
Строка 155: Строка 153:
 fetchmail fetchmail
 </​code>​ </​code>​
-Если что-то не сработает - в первую очередь смотрите лог fetchmail, затем гуглите. Если чего-то в вашей системе не хватает,​ возможно вам потребуется дополнительно установить пакеты **mailutils**,​ **exim4** и **sendmail**.+Если что-то не сработает - в первую очередь смотрите лог fetchmail, затем гуглите.
 ======Ссылки====== ======Ссылки======
 [[http://​forum.ubuntu.ru/​index.php?​topic=191678.0|Тема]] с обсуждением данной статьи [[http://​forum.ubuntu.ru/​index.php?​topic=191678.0|Тема]] с обсуждением данной статьи