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

Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
wiki:fetchmail [2012/05/16 10:13]
[Безопасность]
wiki:fetchmail [2017/01/31 00:09]
[Использование 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 по умолчанию). ​
 В появившемся окне редактора допишите в конец файла: В появившемся окне редактора допишите в конец файла:
Строка 80: Строка 82:
 <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}}