旧札幌市西区

http://d.hatena.ne.jp/kei-s/ だったもの

Plaggerをいじる

完全に現実逃避。論文書かねばなのに。

それplaとか言われてて、ようわからんけどももしかしたら使うことになるかもなので。

私の持っているPlaggerイメージ

(RSSリーダとかフィードとかいろいろ)→入る→Plagger→出る→(メールとかブログとかいろいろ)

仲介業を一手に担う感じ?実際に何を使うかは設定ファイル(yaml)を書けば終わりなのがすごいと。入る側と出る側のプラグインが充実*1なので、やりたいことはそれの組み合わせでできるぞと。

やったことをまたメモ。環境はFedora Core 5です。

PerlCPANモジュールがたくさんいる。が、その前に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はまだ分からんのでおいとく。消してもいいか。
最後、GMailSMTPサーバを持っているので、そっちを使わせてもらうために以下のように変更。

  - 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::TLSCPANから入れましょう*2
で、うまく動くとGMailに転送される


らしい。
ここまでやって、GMail側がサーバエラーで落ちてるなんてね。

*1:これからの期待も込めて。ココいじれるようになれたらうれしいな。

*2:ココではまることがあるらしい。ウチの環境ではうまくいって良かった。