2010,03,19, Friday03:08 pm
空メールシステム&メルマガCGI構築中
またまた前回の続きです。
前回はメールアドレスの抽出まででしたが、今回はアドレスをメルマガCGIに渡します。
メルマガ独自配信システムは登録・解除する場合、フォームにアドレスを入力してもらい、ボタンを押すだけで登録・解除ができるシンプルなシステムなので、wgetに同様の動作をさせることはいたって簡単です。
まず、フォームからregist.cgiに渡すクエリをチェック。
登録の場合は
mode=IN
mail=[登録メールアドレス]
解除の場合は
mode=OUT
mail=[解除メールアドレス]
で、あとは前回のaddress.plのファイル出力の箇所をwgetのコマンドにするだけです。
とりあえず、登録の場合を書きます。解除の場合は保存場所&ファイル名の/home/reg/regist.cgiとクエリの箇所を変更するだけなので問題ないかと…。
--------- address.pl --------
#!/usr/bin/perl
while($_ = <STDIN>){
if($_ =~ m/^From:.*$/){
$_ =~ s/From: //g;
$_ =~ s/From: //g;
$_ =~ s/^(.*)<(.*)>(.*)$/$2/g;
$_ =~ s/ //g;
$address = $_;
}
}
$address =~ s/\n//g;
system("/usr/bin/wget --quiet -O /home/reg/regist.cgi --post-data 'mode=IN&mail=$address' http://**********.***/mailm/regist.cgi");
exit;
------------------------------
ちなみに私は登録アドレス漏洩・いたずら防止のためにmailmディレクトリのディレクトリ名を変更してさらにBasic認証をかけてます。その場合は
system("/usr/bin/wget --quiet -O /home/reg/regist.cgi --http-user=****** --http-passwd=****** --post-data 'mode=IN&mail=$address' http://**********.***/****/regist.cgi");
としてやれば問題ないです。
それにしても、wgetはクエリの送信もでき、Basic認証も通過できて、CGIのトリガーとして動作させれるので頼もしいヤツですよ。
次回はメルマガ独自配信システムの改造をちょこっと書きます。
前回はメールアドレスの抽出まででしたが、今回はアドレスをメルマガCGIに渡します。
メルマガ独自配信システムは登録・解除する場合、フォームにアドレスを入力してもらい、ボタンを押すだけで登録・解除ができるシンプルなシステムなので、wgetに同様の動作をさせることはいたって簡単です。
まず、フォームからregist.cgiに渡すクエリをチェック。
登録の場合は
mode=IN
mail=[登録メールアドレス]
解除の場合は
mode=OUT
mail=[解除メールアドレス]
で、あとは前回のaddress.plのファイル出力の箇所をwgetのコマンドにするだけです。
とりあえず、登録の場合を書きます。解除の場合は保存場所&ファイル名の/home/reg/regist.cgiとクエリの箇所を変更するだけなので問題ないかと…。
--------- address.pl --------
#!/usr/bin/perl
while($_ = <STDIN>){
if($_ =~ m/^From:.*$/){
$_ =~ s/From: //g;
$_ =~ s/From: //g;
$_ =~ s/^(.*)<(.*)>(.*)$/$2/g;
$_ =~ s/ //g;
$address = $_;
}
}
$address =~ s/\n//g;
system("/usr/bin/wget --quiet -O /home/reg/regist.cgi --post-data 'mode=IN&mail=$address' http://**********.***/mailm/regist.cgi");
exit;
------------------------------
ちなみに私は登録アドレス漏洩・いたずら防止のためにmailmディレクトリのディレクトリ名を変更してさらにBasic認証をかけてます。その場合は
system("/usr/bin/wget --quiet -O /home/reg/regist.cgi --http-user=****** --http-passwd=****** --post-data 'mode=IN&mail=$address' http://**********.***/****/regist.cgi");
としてやれば問題ないです。
それにしても、wgetはクエリの送信もでき、Basic認証も通過できて、CGIのトリガーとして動作させれるので頼もしいヤツですよ。
次回はメルマガ独自配信システムの改造をちょこっと書きます。
| Home Page | comments (0) | trackback (0) |
