メールでTwitter
はてなに投稿する場所はまだごちゃごちゃだけれど、メールで投稿する部分だけはある程度綺麗になったので。
#!/usr/bin/perl use MIME::Parser; use MIME::Words qw(decode_mimewords); use LWP::UserAgent; use Jcode; my $username='username'; my $password='pass'; # # mail parse # while(<>){ $data= $data.$_ ;} my $parser = new MIME::Parser; $parser->output_dir('/tmp/'); my $entity = $parser->parse_data($data); my $subject = decode_mimewords($entity->head->get('Subject')); # #Twit post # my $ua = LWP::UserAgent->new; $ua->agent("MTwit0.1"); $ua->timeout(30); $ua->credentials('twitter.com:80', 'twit', $username, $password); my $status=jcode($subject)->h2z->utf8; my $response = $ua->post('http://twitter.com/statuses/update.json', {status => $status});
こんなんを.forwardとか、.qmailとか、aliasesとかに仕込むと良いでしょう。
/etc/aliasesに書くなら、
twitterpostmailaddr: "|/usr/bin/perl /path/to/mailtwit.pl"
※認証がないので、メールアドレスの複雑さが認証代わり(笑
あ、Parseの際に生成されるファイルを消すの忘れてた。