携帯からPlaggerしてみる
さくらのメールはmaildropというの使ってるらしいんですが、
そいつにはメールの着信をトリガーにして自作のスクリプトを動かせる機能があるようです。
参考:さくらのレンタルサーバ非公式FAQ
ということは携帯からconfig.yamlのメール送ってPlagger起動できるんじゃね?
と思ったのでさっそくやってみました。
まずはコンパネからメールアドレスをひとつ作成。
すると/home/username/Mailbox/にそのアドレスのディレクトリが作られます。
plagger@username.sakura.ne.jpなら/home/username/Mailbox/plagger/な感じです。
その中に.mailfilterというファイルがあるので、
こいつに設定を書き込みます。
PERL5LIB="/home/username/local/lib/perl5:/home/username/local/lib/perl5/site_perl" cc "| /home/username/plagger/plagger.pl" exit
シェルから呼び出すわけではないのでPERL5LIBのパスを通しておくのを忘れずに。
CPANのインストール先に従って適宜変更してください。
2行目で自作スクリプトを起動させます。
ccだとメールボックスに届いたメールを残す、toなら残さない、という設定になるようです。
きちんと書き換えたら、おもむろに
%chmod 600 .mailfilter
をします。これをやらないと動かない模様。
最後にPlagger起動スクリプト。
メールの中身は
#!/usr/bin/perl use strict; use warnings; use Plagger; my $mail = ''; { local $/ = undef; $mail = <STDIN>; $mail =~ s/^.+?global:/global:/sm; } Plagger->bootstrap(config => \$mail);
正規表現はちょっと適当。。。ヘッダ部分を削除してます。
あとは携帯からyaml書いて、作ったメールアドレスに送信!
global: timezone: Asia/Tokyo log: level: info assets_path: /home/username/local/lib/perl5/Plagger/assets plugins: - module: Subscription::Config config: feed: - http://d.hatena.ne.jp/taraburo/rss - module: Publish::Gmail config: mailto: example@gmail.com mailfrom: example@gmail.com mailroute: via: smtp_tls host: smtp.gmail.com:587 username: example@gmail.com password: password
こんな感じでメールを送ると、着信と同時にPlaggerを実行してくれます。
まあセキュリティ的にどうなのかちょっとわからないんですが
こんなこともできますよ、ということで。