2008年01月16日(Wed)
■ さくらインターネットでメールをトリガーにプログラムを起動する。
- 前提条件
- スタンダートプラン以上(要telnet)
- 1. コントロールパネルで新規にメールアドレスを作成する
- sampleaddress@example.comと仮定する。
- 2. telnetでサーバにログインし、メールボックスに移動
>cd $HOME/MailBox/sampleaddress
- 3. ".mailfilter"を作成し、起動するプログラムを記述する
to "| /home/USERNAME/FOLDER/PROGRAMS"
または
cc "| /home/USERNAME/FOLDER/PROGRAMS"
- to の場合は、メールボックスにメールが残らない。ccの場合は残る。
- 参考:メールの着信をトリガーにして自作のプログラムを起動したい
- 4. ".mailfliter"の属性を600にする。
chmod 600 .mailfilter
- 5. perlでメールをファイルに書き出すプログラム(writemail.pl)を用意する。
1 #!/usr/bin/perl 2 use strict; 3 use warnings; 4 5 my $mail = ''; 6 7 { 8 local $/ = undef; 9 $mail = <STDIN>; 10 } 11 12 my $filename = "/home/USERNAME/FOLDER/mail.txt"; 13 14 open (FP, ">$filename") || die("$!:$filename"); 15 print FP $mail; 16 close (FP);
- 6. メールをファイルに書き出すプログラム(writemail.pl)の属性を750にする
chmod 750 writemail.pl
- 7. sampleaddress@example.comに適当なメールを送信すると、mail.txtにヘッダから本文からすべてが記載されていることが確認できる。
■ やりたいこと。
特定メールアドレスから受信したメールの件名と本文を、FSWikiのカレンダに追加したい。(メールからpostというヤツ)。
【追記】 考えてみたら別にtelnetが必要ではなかった。home/MailBoxがftpで見られるならば、ローカルで".mailfilter"を作って、サーバにアップして権限を変えればいいんだ。(なんとなく、telnet+viでないと、server設定とかコーディングする頭の状態にならないヒトなので思い込んでた。ちなみにfreedomcat.comはライトプラン)。