Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия Последняя версия Следующая версия справа и слева | ||
wiki:fetchmail [2012/05/16 10:11] [Безопасность] |
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> | ||
======Использование====== | ======Использование====== | ||
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 по умолчанию). | ||
В появившемся окне редактора допишите в конец файла: | В появившемся окне редактора допишите в конец файла: | ||
Строка 78: | Строка 80: | ||
======Безопасность====== | ======Безопасность====== | ||
- | <note warning>Внимание в данном руководстве приведена инструкция, в результате которой логин и пароль от вашего почтового ящика будут храниться в текстовом виде в доступном для чтения файле. Если Вы допускаете возможность несанкционированного доступа третьих лиц к вашему компьютеру в ваше отсутствие- не делайте это!</note> | + | <note warning>Внимание!!!\\ |
+ | В данной статье приведена инструкция, в результате выполнения которой логин и пароль от вашего почтового ящика будут храниться в текстовом виде в доступном для чтения файле. Если Вы допускаете возможность несанкционированного доступа третьих лиц к вашему компьютеру в ваше отсутствие- воздержитесь от применения данного пакета!</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, | ||
+ | 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}} |