Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия Последняя версия Следующая версия справа и слева | ||
wiki:fetchmail [2017/01/16 20:21] [Использование fetchmail для получения почтовых вложений] |
wiki:fetchmail [2017/01/31 00:06] [Использование fetchmail для получения почтовых вложений] |
||
---|---|---|---|
Строка 16: | Строка 16: | ||
<code bash>chmod 700 ~/.fetchmailrc</code> | <code bash>chmod 700 ~/.fetchmailrc</code> | ||
- | В данном примере приведены настройки для работы с серверами по протоколам POP3 и IMAP, если у вас одна учетная запись почты, то выберете свой вариант, вместо <user_name> введите имя контакта, а вместо свой ''*******'' пароль. Параметр ''skip'' перед именем сервера указывает, что почту нужно проверять только по принудительному запросу. При таком конфигурационном файле обращение к почтовому серверу происходит с явным указанием: | + | В данном примере приведены настройки для работы с серверами по протоколам POP3 и IMAP, если у вас одна учетная запись почты, то выберете свой вариант, вместо <user_name> введите имя контакта, а вместо звездочек - свой пароль. Параметр ''skip'' перед именем сервера указывает, что почту нужно проверять только по принудительному запросу. При таком конфигурационном файле обращение к почтовому серверу происходит с явным указанием: |
<code bash>fetchmail [параметры] pop.mail.ru</code> | <code bash>fetchmail [параметры] pop.mail.ru</code> | ||
======Использование====== | ======Использование====== | ||
Строка 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> |
- | <code bash>c_rehash $HOME</code> | + | set daemon 60 #интервал в секундах проверки почты демоном |
- | Получаем отпечаток ключа сертификата: | ||
- | <code bash>openssl x509 -in /home/user/.sslcerts/gmail.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> | ||
- | 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, |
- | 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|Тема]] с обсуждением данной статьи |
+ | |||
+ | [[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}} |