Plaggerをいじる
完全に現実逃避。論文書かねばなのに。
それplaとか言われてて、ようわからんけどももしかしたら使うことになるかもなので。
私の持っているPlaggerイメージ
仲介業を一手に担う感じ?実際に何を使うかは設定ファイル(yaml)を書けば終わりなのがすごいと。入る側と出る側のプラグインが充実*1なので、やりたいことはそれの組み合わせでできるぞと。
やったことをまたメモ。環境はFedora Core 5です。
PerlのCPANモジュールがたくさんいる。が、その前にyum installで以下を導入しておく。
libxml2 libxml2-devel subversion
libxml2-develが無くてXML関係のモジュールインストールではまった。
CPAN> test plagger
でテストしてくれるはず。よく分からなかった(上の理由ではまっていたため)ので、installもやりました。Plagger自体はテストミスって入らなくても過程でいろいろ入るはず。モジュールのy/nは適当にやりました。yし過ぎるとかなり時間がかかる。
適当な場所で、
svn co http://svn.bulknews.net/repos/plagger/trunk/plagger cd plagger perl Makefile.PL make
3行目でまたCPANモジュールのy/nがある。makeで何も言われなければOK?
examplesフォルダの中にいろいろあるので、livedoorreader2gmail.yamlをいじってみる。変更版は一応別フォルダに退避。
examples/livedoorreader2gmail.yaml
global: plugin_path: - /home/******/plagger/plugins assets_path: /home/******/plagger/assets timezone: Asia/Tokyo log: level: info plugins: - module: Subscription::LivedoorReader config: username: <your-livedoor-id> password: <password> mark_read: 1 - module: Widget::Delicious config: username: ****** - module: Publish::Gmail config: mailto: ******@gmail.com mailfrom: ******@example.com mailroute: via: smtp host: smtp.example.com
パスを「適当な場所」に変更。livedoorリーダのユーザ&パスを書く。Deliciousはまだ分からんのでおいとく。消してもいいか。
最後、GMailがSMTPサーバを持っているので、そっちを使わせてもらうために以下のように変更。
- module: Publish::Gmail config: mailto: ******@gmail.com mailfrom: ******@example.com mailroute: via: smtp_tls host: smtp.gmail.com:587 username: ****** password: ******
変更時、行頭のスペースがタブにならないよう注意。configフォルダに置いといた。
さて実行。
> ./plagger -c config/livedoorreader2gmail.yaml
動いた!とおもたら、エラーを吐いている。smtp_tlsのためのモジュールが足りない。Net::SMTP::TLSをCPANから入れましょう*2。
で、うまく動くとGMailに転送される
らしい。
ここまでやって、GMail側がサーバエラーで落ちてるなんてね。