現在はゲストモードです

USER ID:
PASSWORD:

NEWEST    BACK >

地域外だけどradikoが聞けた!

話題のradiko.jp、地域外のココ広島ですが、あっさり聞けてしまいました。

まず、私の環境を説明すると、プロバイダーは3つ契約しています。

1.メインの動的グローバルIPのプロバイダー(エンジョイネット)
2.サブの激安動的グローバルIPのプロバイダー(BB.excite)
3.Server利用の為の固定IPのプロバイダー(ASAHIネット)

で、3のASAHIネットさんの回線だと東京として判断され、あっさりと聞けちゃいます。
AMラジオがクリアな音質で聞けるのはいいね~。
ただ、個人的には深夜のMBSラジオが聞きたいので関西地域として判断して欲しかった…。


| その他 | comments (0) | trackback (0) |

空メールシステム&メルマガ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) |

.forwardと空メールシステム

空メールシステム構築って事で、前回の続き。
ちなみにServerのMTAはpostfixです。

Serverのユーザーを3個(reg・del・maga)作成しました。
regは登録用、delは解除用、magaは配信用って感じです。

とりあえず、/home/regに.forward(644)とaddress.pl(755)とaddress.txt(666)を置きます。

---------- .forward ----------
"|exec /home/reg/address.pl"
------------------------------

これでメールがaddress.plに渡されますね。

---------- 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;

open(OUT,"> /home/reg/address.txt");
print OUT $address;
close(OUT);

exit;
------------------------------

これでaddress.txtに送信者のアドレスが記述されればテスト終了。

文字で書くとこんなに簡単なのに実際は出力されない&エラーが出まくりで意外に時間がかかった。
注意するのは絶対パスと改行コード。絶対パスにはすぐ気づいたけど、改行コードのエラーにはなかなか気づけなかった…。
続きはまた今度。


| Home Page | comments (0) | trackback (0) |

NEWEST  PAGE TOP    BACK >

SEARCH

CATEGORIES

ARCHIVES

< 前  2010/03  次 >
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31    

LINK

OTHER

人気ブログランキング