shrk's diary

ι版

Plaggerについて(体験メモ)

かなりビギナーだけど、いろいろググったり、先人のメモとかを参考にしたりして、何とかインストール(WinXP)。
(特にお世話になりましたm(..)m しげふみメモ : Windowsで Plagger インストール#1


今はlivedoor Reader to Gmailとして使ってみている。
LDRが出たときは何日間かそれで読んでたけど、やっぱりGmailに送ると検索/フィルタしやすいし、昔のものをとっておけるし、なによりDIYな感じでなんだかうれしい。


私の場合、Gmailに送信するときに、Gmail経由だと送信数制限の問題が避けられなかったので、使い始めてしばらくはISPSMTPサーバを経由させていた。

 define_recipes:
   publish:
     - module: Publish::Gmail
       config:
         pop3:
           host:    pop.hoge.ne.jp
           username: hoge@hoge.ne.jp
           password: hoge
         mailto:   hoge+Plagger@gmail.com
         mailfrom: hoge@hoge.ne.jp
         mailroute:
           via: smtp
           host: smtp.hoge.ne.jp:25

POP before SMTPの設定も何とかクリアして、1週間ぐらいはこのルートでガシガシ送信していた。


でも、ある日突然、5通目のメールが送信された後にいつも、

4.3.2 connection rate limit exceeded

SMTPサーバからいわれて、Plaggerの1回の起動あたり6通目から先は送信できなくなってしまった。。
次の日でもそのままだったので、ISPのサポートに電話で聞いてみたら、「通常の利用の範囲を超えた高頻度の送信等に制限を設けさせて頂いており…」とのこと。(一応正当なユーザなんだからメールか何かで制限した旨教えてくれればいいのに。。)


5通づつ送信する方法とかわからん。。orz
というわけで、いまはRadishなるものを使って、それを経由してlocalhostから送信できるように。

http://homepage2.nifty.com/spw/software/radish/

 define_recipes:
   radish:
     - module: Publish::Gmail
       config:
         mailto:   hoge+Plagger@gmail.com
         mailfrom: hoge@gmail.com
         mailroute:
           via: smtp
           host: 127.0.0.1:25

で、ここでまたうまくいかずに問題が。
Radishを使うと、大体のフィードは送れるけど、時々、送信途中でエラーが出た。。。特定のフィードのときなのかどうかよくわからない。。

SMTP MAIL command failed:
Syntax error in parameters scanning "From"

 at C:\Perl\site\lib\Plagger\Plugin/Publish/Gmail.pm line 86

とか

SMTP MAIL command failed:
hoge@... Domain part missing

 at C:\Perl\site\lib\Plagger\Plugin/Publish/Gmail.pm line 86

ちょっとググったりもしてみたけどどうすればいいのかよくわからなかった。。


結局、今現在は、Publish::Gmailをテキトーに書き換えて、

    my $msg = MIME::Lite->new(
        Date => $now->format('Mail'),
        From => $cfg->{mailfrom},
#        From => encode('MIME-Header', qq("$feed_title" <$cfg->{mailfrom}>)),
        To   => $cfg->{mailto},
        Subject => encode('MIME-Header', $subject),
        Type => 'multipart/related',

としてみたら、結果的に、一応Radishでもエラーにならずに送信できるようになった。

Fromをフィード名にするのをあきらめてしまっているので、なんか負けた気がしてるけど、他にやり方があるかどうかがわからない。。orz

#ソースとか少しは読めるように勉強したいなぁ。