なみかわみさきの日記

2018年ころまでの日記。

Publish::Maildirでこっそりローカルにメールを保存する

そんなに役に立たないけどメモとして。

環境:
Plaager version 0.7.12
Windows ActivePerl5.8.8

たとえば「Plagger」ってキーワードの情報を集めて後で読みたいって時。

YAMLの例(config.yaml):

global:
 assets_path: C:\Perl\site\lib\Plagger\assets
 timezone: Asia/Tokyo
 log:
 level: debug

plugins:
  - module: Subscription::Planet
    config:
      keyword: Plagger
      lang: ja

  - module: Publish::Maildir
    config:
      maildir: C:\hoge
      folder: plagger
      attach_enclosures: 1
      mailfrom: foo@bar.com

これで実行すると

C:\Perl>plagger -c config.yaml
Plagger [info] plugin Plagger::Plugin::Subscription::Planet loaded.
Global symbol "$VERSION" requires explicit package name at 
C:/Perl/site/lib/Plagger/Plugin/Publish/Maildir.pm line 98.
Compilation failed in require at C:/Perl/site/lib/Plagger.pm line 232.

って怒られるので、美しくないとは思うけどMaildir.pmの3行目に

use vars qw( $VERSION );

を追加。

ついでに174行目あたり、ファイル名の拡張子が「.plagger」になるので

my $filename = $id.".eml";

みたいにしておく。

がりがり実行。

結果。(Becky!でインポートした)