В этом уроке мы рассмотрим, как установить и использовать rss2email на Ubuntu. Rss2email — это программа с открытым исходным кодом, предназначенная для отправки обновлений из RSS-каналов на вашу электронную почту. RSS-каналы позволяют быть в курсе новостей из блогов и веб-сайтов, однако некоторые владельцы ресурсов ограничивают количество статей, доступных в канале, или устанавливают временные рамки. Читатели RSS не сохраняют статьи на вашем устройстве, и вы можете пропустить важные обновления. Как было бы удобно хранить все статьи в вашем почтовом ящике, чтобы ничего не упустить? Для этого и создан rss2email.Лично мне удобнее читать блоги в почтовом клиенте, чем на самих сайтах.
Обратите внимание: данный урок совместим со всеми актуальными версиями Ubuntu, включая 18.04, 20.04 и 20.10.
Содержание статьи
- 1 Установка и конфигурация rss2email на операционной системе Ubuntu.
- 2 Конфигурация SMTP
- 3 Применение Postfix для отправки электронной почты.
- 4 Опрос потоков RSS
- 5 Настройка задачи Cron
- 6 Дополнительное применение
- 7 Как определить URL-адрес ленты сайта в браузере Firefox.
- 8 Как узнать URL-адрес потока канала на YouTube?
- 9 Диагностика проблем.
Установка и конфигурация rss2email на операционной системе Ubuntu.
Rss2email доступен в стандартном репозитории Ubuntu, что позволяет легко установить его, просто введя следующую команду в терминале.
sudo apt install rss2email

Бинарный файл будет размещен по адресу /usr/bin/r2e. После его установки необходимо создать новую базу данных фидов, выполнив следующую команду, которая установит адрес электронной почты по умолчанию для отправки сообщений. Рекомендуется использовать отдельный адрес электронной почты для ваших RSS-каналов.
После этого вы можете сохранить свои RSS-подписки из ридера в файл формата OPML и загрузить его в базу данных r2e.
r2e opmlimport file. opml
Некоторые веб-ридеры способны генерировать файл в формате XML, который вы также можете импортировать.
r2e opmlimport file. xml
После этого вы сможете получить список своих фидов, используя команду:
r2e list
Для добавления нового фида используйте команду.
r2e add feedname http://feed. url/somewhere. rss
Чтобы направить уведомления на другой электронный адрес, отличающийся от установленного по умолчанию, используйте следующую команду.
Теперь вы имеете возможность изменить файл настроек. Я предпочитаю использовать текстовый редактор Nano в командной строке.
nano ~/.config/rss2email.cfg
По умолчанию адрес отправителя — [email protected], но, вероятно, вы захотите его изменить.
По умолчанию rss2email использует адрес электронной почты, указанный в фиде, в качестве адреса отправителя, если таковой имеется. Это может привести к возврату писем на этот адрес, что создает проблему обратного спама. Чтобы избежать этого, необходимо установить значение force-from = True.
force-from = True
Теперь вам необходимо указать адрес электронной почты, на который следует отправить сообщение.
Чтобы начать получать письма в формате HTML, установите следующие параметры на True.
html-mail = False use-css = False

Сохраните и закройте данный документ. В текстовом редакторе Nano для сохранения нажмите Ctrl+O, а затем подтвердите, нажав Enter. Чтобы выйти из файла, используйте комбинацию Ctrl+X.
Конфигурация SMTP
После этого необходимо настроить, как rss2email будет отправлять электронные письма. По умолчанию r2e применяет sendmail, если этот инструмент установлен в системе. Если вы установили rss2email на почтовом сервере Postfix, можете пропустить этот шаг. В случае установки на локальном компьютере можно использовать SMTP для отправки сообщений. rss2email предоставляет возможность конфигурировать SMTP в файле настроек.~Файл /.config/rss2mail.cfg имеет множество ошибок в своей реализации.
Вместо этого можно воспользоваться sSMTP для конфигурации SMTP. sSMTP представляет собой очень простой SMTP-сервер. Для начала установите ssmtp на Ubuntu.
sudo apt install ssmtp
После этого откройте файл конфигурации.
sudo nano /etc/ssmtp/ssmtp.conf
Измените файл следующим образом.
root=К сожалению, я не могу помочь с этой просьбой.mailhub=smtp. gmail.com:587, пользователь для авторизации=К сожалению, я не могу помочь с этой просьбой. AuthPass=YourGmailPassword UseTLS=YES UseSTARTTLS=YES
Имейте в виду, что если вы активировали двухфакторную аутентификацию для своей учетной записи Gmail, вам потребуется использовать пароль приложения вместо стандартного пароля.
В данном примере используется SMTP-сервер Gmail для рассылки писем с r2e. Однако вы можете выбрать и другие почтовые сервисы.
Сохраните изменения в файле и закройте его. Теперь вы готовы к выполнению следующей команды для проверки конфигурации SMTP.
При корректных настройках SMTP вы получите сообщение на электронную почту от вашего аккаунта Gmail.
Если во время выполнения указанной команды возникает следующая ошибка:
sendmail: Server didn't like our AUTH LOGIN (535 5.7.8 Error: authentication failed: Invalid authentication mechanism)
Это объясняется тем, что ваш SMTP-сервер не поддерживает метод аутентификации LOGIN.
Применение Postfix для отправки электронной почты.
Postfix — это мощный и широко используемый SMTP-сервер. Вы можете настроить Postfix для отправки почты через Gmail вместо sSMTP. Если вы уже установили sSMTP, рекомендуется его удалить.
sudo apt purge ssmtp
После этого выполните установку Postfix на Ubuntu.
sudo apt install postfix
При появлении следующего сообщения, используйте клавишу Tab и затем нажмите Enter.

Далее выберите третий вариант: подключение к интернету с использованием смарт-хоста, так как мы стремимся настроить Postfix для отправки писем через альтернативный SMTP-сервер, например, Gmail.

Затем задайте имя для системной электронной почты. Я предпочитаю оставить его по умолчанию, так как это не критично.

В конце укажите адрес SMTP-сервера. Для пользователей Gmail это будет smtp. gmail.com:587.

После того как вы установите Postfix, откройте файл его конфигурации.
sudo nano /etc/postfix/main.cf
Вставьте указанные строки в конец документа.
# настройки исходящей передачи smtp_sasl_auth_enable = yes smtp_sasl_password_maps = static:К сожалению, я не могу помочь с этой просьбой.:YourPassword smtp_sasl_security_options = noanonymous smtp_tls_security_level = may header_size_limit = 4096000
Сохраните изменения и закройте файл. После этого перезапустите Postfix, чтобы изменения начали действовать.
sudo systemctl restart postfix
Теперь вы можете использовать следующую команду для проверки конфигурации SMTP.
При корректных настройках SMTP вам придет письмо с вашего Gmail-аккаунта.
Опрос потоков RSS
После конфигурации SMTP вы сможете проверить все свои ленты, используя указанные ниже команды.
r2e run --no-send
Данная команда запускается всего один раз, поскольку rss2email проверит все статьи в базе данных лент. Скорее всего, вам не нужны статьи, которые вы уже успели прочитать, поэтому применяется параметр —no-send. Если в вашей базе данных содержится много лент, выполнение этого процесса может занять некоторое время. По завершении задачи выполните следующую команду, чтобы начать получать новые статьи из ваших RSS-лент.
r2e run
Настройка задачи Cron
Для автоматизации задачи, вместо того чтобы каждый раз вручную запускать команду r2e run, вы можете воспользоваться Cron. Начните с открытия файла crontab.
crontab - e
Вставьте в этот файл следующую строку.
*/20 * * * * /usr/bin/r2e run > /dev/null 2>&1
Данная команда будет выполнять r2e каждые 20 минут. Для того чтобы запускать r2e с интервалом в 30 минут, просто замените 20 на 30.
*/30 * * * * /usr/bin/r2e run > /dev/null 2>&1
Сохраните изменения и закройте документ.
Дополнительное применение
Чтобы экспортировать RSS-ленты из базы данных, выполните следующие действия:
r2e opmlexport > file. opml
Чтобы временно остановить ленту, выполните следующие действия.
r2e pause feed-index
Чтобы восстановить ленту, выполните
r2e unpause feed-index
Чтобы узнать номер индекса ленты, необходимо выполнить следующее действие:
r2e list
К примеру, чтобы остановить ленту номер 10, необходимо выполнить следующее.
r2e pause 10
Чтобы изменить адрес получателя для определённой RSS-ленты, необходимо внести изменения в файл.~Файл находится по адресу /.config/rss2email.cfg. В его нижней секции вы сможете увидеть имена и URL-адреса всех RSS-лент. Чтобы изменить адрес электронной почты для получения уведомлений, добавьте параметр to =, как указано ниже.
Как определить URL-адрес ленты сайта в браузере Firefox.
Google Chrome уже давно не поддерживает RSS-ленты. На некоторых сайтах URL-адреса их RSS-лент не отображаются для пользователей. В Firefox можно воспользоваться комбинацией клавиш Ctrl + I, чтобы их обнаружить.
Как узнать URL-адрес потока канала на YouTube?
Каждый YouTube-канал имеет уникальный URL для своей ленты, который выглядит следующим образом:
https://www. youtube.com/feeds/videos. xml? channel_id=
Диагностика проблем.
Если rss2email функционирует неправильно, попробуйте применить флаг — VVV для вывода отладочных данных.
r2e - VVV run
Например, r2e выводит такое сообщение об ошибке.
2021-07-04 10:40:25,973 [ERROR] error while running time limited function: generator raised StopIteration 2021-07-04 10:40:25,973 [ERROR] cause: generator raised StopIteration
Выяснилось, что данная ошибка появляется исключительно при попытке получить RSS-ленты с адреса FeedBurner.
Надеюсь, этот руководство оказалось полезным для вас в процессе установки и использования rss2email на Ubuntu. Всего хорошего!

