このチュートリアルでは、Ubuntuにrss2emailをインストールして使用する方法を説明します。 Rss2emailは、RSSフィードの更新を電子メールアドレスに送信できるオープンソースプログラムです。 RSSフィードは、ブログやWebサイトで最新の状態に保つための優れた方法ですが、一部のサイト所有者はRSSフィードで一定量の記事を許可し、他のサイト所有者は時間制限を設定します。 RSSフィードリーダーはコンピューターに記事を保存しないため、記事を見逃してしまうことがあります。すべての記事をメールボックスに保存して、ブログの投稿を見逃さないようにできたら素晴らしいと思いませんか?そこでrss2emailが登場します。また、ウェブサイトの記事を読むよりも、メールクライアントでブログの投稿を読む方が好きです。
注 :このチュートリアルは、Ubuntu 18.04、20.04、20.10を含むUbuntuの現在のすべてのバージョンで機能します。
Ubuntuにrss2emailをインストールして構成する
Rss2emailはデフォルトのUbuntuソフトウェアリポジトリにあるため、ターミナルウィンドウで次のコマンドを実行することで簡単にインストールできます。
sudo apt install rss2email
バイナリは/usr/bin/r2e
としてインストールされます 。インストールしたら、以下のコマンドを使用して新しいフィードデータベースを作成する必要があります。これにより、メールの送信先となるデフォルトのメールアドレスが設定されます。 RSSフィードには専用のメールアドレスを使用することをお勧めします。
r2e new [email protected]
次に、RSSフィードサブスクリプションをフィードリーダーからOPMLファイルにエクスポートし、r2eフィードデータベースにインポートできます。
r2e opmlimport file.opml
一部のWebベースのフィードリーダーは、XMLファイルを提供する場合があります。インポートすることもできます。
r2e opmlimport file.xml
次に、次のコマンドでフィードを一覧表示できます:
r2e list
新しいフィードを追加するには、
を実行しますr2e add feedname http://feed.url/somewhere.rss
デフォルトのメールアドレスとは異なるメールアドレスにフィードを送信する場合は、
を実行します。r2e add feedname http://feed.url/somehwere.rss [email protected]
これで、構成ファイルを編集できます。 Nanoコマンドラインテキストエディタを使用します。
nano ~/.config/rss2email.cfg
デフォルトの差出人アドレスは[email protected]
、おそらくそれを変更したいと思うでしょう。
from = [email protected]
デフォルトでは、フィードにメールアドレスがある場合、rss2emailはフィードにあるメールアドレスを差出人アドレスとして使用します。これにより、フィード内の電子メールアドレスにバウンスされた電子メールが送信され、後方散乱の問題が効果的に発生します。この動作を無効にするには、force-from = True
を使用します 。
force-from = True
次に、ターゲットのメールアドレスを追加する必要があります。
to = [email protected]
HTML形式でメールを受信する場合は、次の値をTrue
に変更します。 。
html-mail = False use-css = False
このファイルを保存して閉じます。 Nanoテキストエディタでファイルを保存するには、Ctrl+O
を押します。 、Enterキーを押して確認します。ファイルを閉じるには、Ctrl+X
を押します 。
SMTPの構成
次に、rss2emailが電子メールを送信する方法を構成する必要があります。デフォルトでは、r2eはsendmail
を使用します システムに存在する場合に電子メールを送信するためのバイナリ。 Postfixメールサーバーにrss2emailをインストールした場合は、この部分をスキップできます。ローカルコンピュータにrss2emailをインストールした場合は、SMTPを使用して電子メールを送信できます。 rss2emailでは、~/.config/rss2mail.cfg
でSMTPを構成できますが ファイルの場合、実装は実際にはかなりバグがあります。
代わりに、sSMTPを使用してSMTPを構成できます。 sSMTPは非常にシンプルなSMTPサーバーです。まず、ssmtp
をインストールします Ubuntuで。
sudo apt install ssmtp
次に、構成ファイルを開きます。
sudo nano /etc/ssmtp/ssmtp.conf
以下のようにファイルを編集します。
root=[email protected] mailhub=smtp.gmail.com:587 AuthUser=[email protected] AuthPass=YourGmailPassword UseTLS=YES UseSTARTTLS=YES
Gmailアカウントで2段階認証プロセスを有効にした場合は、通常のパスワードの代わりにアプリのパスワードを使用する必要があることに注意してください。
この例では、r2e用のGmailSMTPサーバーを使用してメールを送信します。他のメールサービスも使用できます。
ファイルを保存して閉じます。これで、次のコマンドを実行してSMTP構成をテストできます。
echo "hello" | sendmail [email protected]
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サーバーです。 sSMTPを使用する代わりに、Postfixを使用してGmailを介してメールを中継できます。以前にsSMTPをインストールしたことがある場合は、それを削除します。
sudo apt purge ssmtp
次に、UbuntuにPostfixをインストールします。
sudo apt install postfix
次のメッセージが表示されたら、Tabキーを押してEnterキーを押します。
次に、3番目のオプションを選択します:Internet with smarthost
、PostfixがGmailなどの別のSMTPサーバーを介してメールを送信するようにしたいからです。
次に、システムメール名を設定します。関係ないので、デフォルト値を使用します。
最後に、SMTPサーバーのアドレスを入力します。 Gmailを使用している場合は、smtp.gmail.com:587
と入力します 。
Postfixをインストールしたら、構成ファイルを開きます。
sudo nano /etc/postfix/main.cf
このファイルの最後に次の行を追加します。
# outbound relay configurations smtp_sasl_auth_enable = yes smtp_sasl_password_maps = static:[email protected]:YourPassword smtp_sasl_security_options = noanonymous smtp_tls_security_level = may header_size_limit = 4096000
ファイルを保存して閉じます。次に、変更を有効にするためにPostfixを再起動します。
sudo systemctl restart postfix
これで、次のコマンドを実行してSMTP構成をテストできます。
echo "hello" | sendmail [email protected]
SMTP構成が正しい場合は、Gmailアカウントからメールが届きます。
RSSフィードのポーリング
SMTPを構成した後、次のコマンドを実行してすべてのフィードをポーリングできます。
r2e run --no-send
rss2emailはフィードデータベース内のすべての記事をポーリングするため、このコマンドは1回だけ実行されます。すでに読んだ記事は受け取りたくないので、--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
FirefoxでウェブサイトのフィードURLを見つける方法
GoogleChromeはずっと前にRSSフィードのサポートを停止しました。一部のサイトでは、訪問者にRSSフィードのURLが表示されません。 Ctrl + I
を押すことができます それらを見つけるためにFirefoxで。
トラブルシューティング
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
このエラーは、FeedBurnerURLからRSSフィードを取得している場合にのみ発生することがわかりました。
このチュートリアルが、Ubuntuにrss2emailをインストールして使用するのに役立つことを願っています。気をつけて。