LoginSignup
0
1

More than 5 years have passed since last update.

メーリングリストの過去ログとTwitter自動投稿

Posted at

はじめに

メーリングリストを運用していると、その過去ログを自動生成したり、投稿があったらTwitterも連動させたくなるが、やってみるとわりと苦労する(した)。我々がやった方法がベストだとは思わないが、参考のために方法をまとめておく。

構成と仕組み

構成

  • メーリングリスト管理:GNU Mailman
  • 過去ログ管理: WordPress
  • WordPressの記事への自動投稿:Postie (WordPressプラグイン)
  • Twitterへの投稿: SNAP (WordPressプラグイン)

このうち、MailmanとWordPressはオンプレで運用している。

これらが、以下のような形で連動している。

image.png

メーリングリスト

メーリングリスト管理はなんでも良いが、我々は歴史的な事情でGNU Mailmanを使っている。最近だとGoogle Groupとか使うのが良いんでしょうか。それだと過去ログ管理も自動でできるみたいだし。

過去ログ

過去ログ表示にはWordPressを使った。要するにメール投稿できるブログがあればなんでも良いのだが、できれば独自DNSで運用したい、というニーズがあった。昔はGoogle Blogで、DNSを登録して自分のドメインのフリができたっぽいのだが、ある時期からドメイン偽装ができなくなった。いろいろ調べたのだが、公的な性格を持っているメーリングリストの過去ログを変なフリーサービスに載せるのも気が引けたので、結局オンプレでWordPressを立てて、そこに表示することにした。

具体的には、まずメーリングリストにWordPress記事投稿用のダミーアドレスを登録する。そして、WordPressにPostieというプラグインを入れる。

postie_plugin.png

このプラグインは、指定のメールアドレスを読みに行き、そこにメールが来ていたら記事として投稿してくれる。とりあえず投稿用メールアドレスを用意し、そこにメールを読みに行けるか、読みに行ったら記事化されるか、動作確認しよう。プラグインの設定の右側に動作確認ボタンがある。

postie2.png

投稿用アドレスにメールを投げて、Process Emailでメールを読みに行き、それが記事化されれば成功である。もしうまくいかなかった場合はDebugや設定テストをすると、問題箇所がわかるかもしれない。我々の場合はTLS絡みの設定がうまくいかず、なかなかメールを読み込めなくて苦労した。

通常は、投稿用メールアドレスにメールを送信できる人は限った方が良い。しかし、色んな人がそのメーリングリストに投稿する関係上、誰から送られて来たメールでも記事に載せる必要がある。そこで、設定で「誰でもメールで投稿可能」にチェックを入れる必要がある。

postie1.png

SPAMも記事化されてしまうので、この投稿用メールアドレスは他の人に知られてはならない。また、設定で「WordPressに登録されていないアカウントからのメール投稿があったら、誰の投稿とするか」という項目があるので、適当なWordPressアカウントを作って、そのアカウントが投稿したことにしよう。

TwitterのAPIキー取得

さて、Twitter連携をするためには、まず、witter APIキーを取得しなければならないのだが、これがわりと面倒くさい。どうも最近面倒になったらしい。詳細は適当なサイトを参照してもらうことにして、ざっと

  • 連携用のTwitterアカウントを作成し、ログインする
  • https://developer.twitter.com/ に行く
  • 作成したアカウントでDeveloper Accountを申請(apply)する
  • 電話番号を設定していなければ設定する
  • 何のために使うか、英語で説明を書く(何文字以上かけとか制約がある)
  • 読み書きできる権限とする(Read and Writeでいいのかな?)
  • 得られたAPI Key、API Secret、Access Key, Access Secretの4つを保存する。

といった手順になる。

途中、「このAPIキーを何に使うか」みたいな説明を英語で4項目にわけて300字以上かかなければいけなかったのだが、面倒になって「WordPressに投稿された記事をTwitterにも転送したいだけだよ。他に何を書けばいいんだよ」みたいに書いたらBANくらった。

いや、登録したてで何もつぶやいていないTwitterアカウントでDeveloper Accountを申請したのが怪しまれて自動BANされたんだろうけど・・・

具体的に何をしたか忘れたが、とにかく「私は人間です」みたいなことをしたらアクセスできるようになった。

SNAPの設定

次に、「WordPressに記事が投稿されたら自動的にTwitterにも投稿する」ためのプラグイン、NextScripts: Social Networks Auto-Poster (SNAP)を入れる。

SNAP_plugin.png

設定は、たとえば「WordPressからTwitterへ自動投稿させる方法」を参照。TwitterアカウントとAPIキー四点セットを登録したら、テスト投稿ボタンを押して、実際に当該アカウントに内容がつぶやかれることを確認しよう。

ここで、デフォルトでは「毎日定時に処理」になっているが、即時反映させたいのでSNAPの設定で「Publish immediately」を選んでおく。

snap4.png

ちなみに上記の設定は、WordPressの左のサイドメニューのこの辺にある。普通にプラグインの「設定」のところからはたどり着けないので注意。

spap3.png

ちなみに投稿内容は、デフォルトでは「タイトル」と「記事のURL」である。

snap1.png

上記設定のMessage Formatをいじれば投稿内容を編集できるので、好きなように設定しよう。下にある「Submit Test Post to Twitter」がテスト投稿ボタンである。

まとめ

メーリングリストの過去ログ作成とTwitter連携をやってみた。自分でも「やりたいことにたいして道具立てが大仰かな」という気がしなくもない。例えばメーリングリスト管理と過去ログ作成をオンプレでやっているが、URLとかにこだわりがないのならGoogle Groupとかで良い気がする。ただ、Twitter連携をするためにはTwitterにメールで投稿する手段を作らないといけないが、調べた範囲ではあまり良いサービスが見つからなかった(あるにはあったのだが、サポート面で不安があった)。自分で作ってもたいしたことなさそうだが、それよりは誰かが作った信頼できる仕組みを使った方がよかろう。そんなわけでWordPressのプラグインで対応した。

正直な話、もうメーリングリストというメディアはそろそろobsoleteな気がしなくもない。しかし、まだいろんなところでメーリングリストは運用されており、かつ「いつのまにかそのメーリングリストの管理人になっていた」というような人(例えば俺)もいるだろう。そんな人が過去ログとかTwitter連携とかやることになった時、本稿が少しでも参考になれば幸いである。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1