installPlagger.sh を作成して、
#!/bin/sh #install Plagger sudo yum install cpan perl-YAML perl-CPAN-Mini sudo yum install perl-Module-Install perl-DateTime perl-Feed-Find perl-JSON-XS perl-Log-Log4perl perl-MIME-Types perl-MooseX-Getopt perl-DBD-SQLite perl-XML-LibXML-Common perl-libxml-perl perl-Image-Info perl-MooseX-Types-Path-Class perl-Path-Class perl-XML-LibXML php-pear-XML-RSS perl-File-Find-Rule perl-XML-Atom-SimpleFeed perl-Class-Data-Inheritable perl-Digest-SHA1 perl-XML-XPathEngine perl-LWP-Authen-Wsse perl-Cache perl-HTML-Scrubber perl-Test-Pod perl-Test-Pod-Coverage perl-Exporter-Lite perl-Net-SSLeay perl-IPC-Run perl-WWW-Mechanize perl-Data-Dump perl-B-Hooks-EndOfScope perl-Spreadsheet-WriteExcel perl-Template-Provider-Encoding perl-Module-Pluggable perl-Net-DNS perl-Encode-Detect perl-File-Copy-Recursive perl-UNIVERSAL-require sudo perl -MCPAN -e "CPAN::Shell->install(CPAN::Shell->r)" sudo cpan FindBin::libs HTTP::Engine HTTP::Engine MooseX::ConfigFromFile Path::Class::Unicode Rose::DB Rose::DB::Object String::CamelCase XML::RSS::LibXML Digest::SHA XML::Atom XML::Feed DateTime::Format::ISO8601 MooseX::ClassAttribute Cache::FileCache File::Find::Rule::Filesys::Virtual HTML::ResolveLink HTML::Selector::XPath HTML::TreeBuilder::XPath Text::Tags Module::Pluggable::Fast Term::Encoding XML::Liberal XML::RSS::Liberal HTML::FormatText Net::SMTP::TLS Time::Duration::Parse WebService::Bloglines WebService::Bloglines sudo cpan -fi XML::RSS::Liberal XML::Feed::RSS sudo cpan -fi Plagger
$ sudo sh ./installPlagger.sh でインストールします。
$ plagger -v でバージョンを確認します。
assets を取得
$ svn co http://svn.bulknews.net/repos/plagger/trunk/plagger
ブログの内容をメールで送るには、
/home/hiroyuki/plagger/example/rss2email.yaml をベースに、
# Fetch RSS and send HTML emails for each feed global: assets_path: /home/hiroyuki/plagger/assets/ # Set timezone to your local one timezone: Asia/Tokyo # this make logger logs important information log: level: info plugins: - module: Subscription::Config config: feed: - http://bulknews.typepad.com/blog/ # Send HTML email to your Gmail account using external SMTP server - module: Publish::Gmail config: mailto: ユーザー名@gmail.com mailfrom: ユーザー名@gmail.com mailroute: via: smtp_tls host: smtp.gmail.com:587 username: Gmailのユーザー名 password: Gmailのパスワード
エラー(Plagger::Plugin::Publish::Gmail [error] Error while sending emails: Undefined subroutine &MIME::Lite::extract_addrs called at /usr/local/share/perl5/Plagger/Plugin/Publish/Gmail.pm line 217.
)
が出るので、
$ sudo leafpad /usr/local/share/perl5/Plagger/Plugin/Publish/Gmail.pm
で確認。(217行目に my($from) = MIME::Lite::extract_addrs( $self->get('From') ); があります)
$ locate Lite.pm で場所を確認して、
$ sudo leafpad /usr/local/share/perl/5.10.0/MIME/Lite.pm して確認すると
extract_addrs が無いので、
Gmail.pm の extract_addrs を extract_full_addrs に修正します。(3箇所)
そうすると、$ plagger -c test.yaml でメールが送れました。MacにPlaggerをインストールする(実際に動かしてみる編) - goryugo
Perler な Blog を列挙祭り
Perl の学習コストを大幅に軽減するスゴイ方法
# Fetch RSS and send HTML emails for each feed global: assets_path: /home/hiroyuki/plagger/assets/ # Set timezone to your local one timezone: Asia/Tokyo # this make logger logs important information log: level: info plugins: - module: Subscription::XOXO config: url: http://d.hatena.ne.jp/antipop/20050628/1119966355 # Send HTML email to your Gmail account using external SMTP server - module: Publish::Gmail config: mailto: ユーザー名@gmail.com mailfrom: ユーザー名@gmail.com mailroute: via: smtp_tls host: smtp.gmail.com:587 username: Gmailのユーザー名 password: Gmailのパスワード
はてなホットエントリー
はてなブックマークの人気/注目エントリ(5 users)を全文検索
global: assets_path: /home/hiroyuki/plagger/assets timezone: Asia/Tokyo plugins: - module: Subscription::Config config: encoding: UTF-8 feed: - url: http://b.hatena.ne.jp/entrylist?mode=rss&sort=hot&threshold=5 - url: http://b.hatena.ne.jp/hotentry?mode=rss - url: http://1470.net/mm/mylist.html/${id}?mode=xml - module: Filter::EntryFullText config: store_html_on_failure: 1 - module: Filter::ResolveRelativeLink - module: Filter::TruePermalink # Send HTML email to your Gmail account using external SMTP server - module: Publish::Gmail config: mailto: ユーザー名@gmail.com mailfrom: ユーザー名@gmail.com mailroute: via: smtp_tls host: smtp.gmail.com:587 username: Gmailのユーザー名 password: Gmailのパスワード