#!/usr/bin/perl # ↑あなたが加入しているプロバイダの「perl」言語が使用できる # パスを指定します。一般的に「#!/usr/local/bin/perl」で大丈夫 # 何度トライしてもサーバーエラーが出る場合は「perl5」にしてみる #======================================================================================= # mailmagazine.cgi ver2001 by Terra #======================================================================================= #日本語コード変換モジュールのパス #このスクリプトと同じディレクトリにあればこのままで良し require 'jcode.pl'; #--------------------------------------- #メールサーバーのsendmailのアドレスを指定 $sendmail = '/usr/sbin/sendmail'; #--------------------------------------- #あなたのホームページのアドレス $homepage = 'http://loan.1192.tv/'; #--------------------------------------- #管理者(あなた)のメールアドレス $masteremail = 'info@loan.1192.tv'; #--------------------------------------- #タイトル画像 $title1_img = 'mailmagazine.gif'; #i-Mode用タイトル画像 $title2_img = 'magazine.gif'; #--------------------------------------- #メンバーを格納するデータベースファイル #個人情報の漏洩を防ぐ為必ず変更する事 $datafile = 'mailmagazine.dat'; $mailfile = 'thanksmail.dat'; #--------------------------------------- #管理者パスワード #個人情報の漏洩を防ぐ為必ず変更する事 $password = 'st0492'; #--------------------------------------- #ページの名前 $title = 'メールマガジン'; #--------------------------------------- #時差の設定 時間単位 日本時間では「9」 # マイナス6時間の場合は -6 $timelag = 9; #--------------------------------------- #バックグランドカラー $bg_color = '#FFFFFF'; #テキストの文字色 $text_color = '#000000'; #リンク文字色 $link_color = '#888800'; #Vリンク文字色 $vlink_color = '#880088'; #--------------------------------------- #趣味の選択肢 #むやみに増やすとi-Modeで受信できない @HOBBY = ( '釣り','映画','音楽','ボーリング','水泳','旅行','料理/グルメ','ビリヤード','語学', '書道','お茶','短歌・俳句','お花','読書','盆栽','サッカー','野球','ゴルフ', 'テニス','カラオケ','ショッピング','パソコン','車','バイク','競輪/競馬/競艇', 'インターネット','ウィンタースポーツ','パチンコ','その他' ); #--------------------------------------- #エリアの選択肢 #むやみに増やすとi-Modeで受信できない @AREA = ( '北海道','東北','関東','信越','北陸','東海', '近畿','中国','四国','九州','沖縄県' ); #--------------------------------------- #抽出時年齢層の選択肢 $AGE[0] = '0-12=12才以下'; $AGE[1] = '13-15=13才〜15才以下'; $AGE[2] = '16-18=16才〜18才以下'; $AGE[3] = '19-20=19才〜20才以下'; $AGE[4] = '21-22=21才〜22才以下'; $AGE[5] = '23-25=23才〜25才以下'; $AGE[6] = '26-30=26才〜30才以下'; $AGE[7] = '31-35=31才〜35才以下'; $AGE[8] = '36-40=36才〜40才以下'; $AGE[9] = '41-50=41才〜50才以下'; $AGE[10] = '51-60=51才〜60才以下'; $AGE[11] = '61-70=61才〜70才以下'; $AGE[12] = '71-=71才以上'; #======================================================================================= # 初期設定が必要なのはここまでです。 #======================================================================================= #本CGIが稼働しているフルパスを取得 $scriptaddr = "http://$ENV{'SERVER_NAME'}$ENV{'SCRIPT_NAME'}"; #時刻を世界標準時に設定 $ENV{'TZ'} = "GMT"; #時差をプラスして現在の日付と時刻のシリアル値を取得 $DATE = time + ($timelag * 3600); #ブラウザを取得 #携帯からのアクセスとPCからのアクセスで処理を分岐する為 $useragent = $ENV{'HTTP_USER_AGENT'}; $useragent =~ s/</g; $useragent =~ s/>/>/g; if ($useragent =~ /docomo/i) { $imode = 1; } else { $imode = 0; } #ホストを取得 $hostaddr = &domain_name; #フォームからのデータを取得 if ($ENV{'REQUEST_METHOD'} eq "POST") { read(STDIN, $QUERY_DATA, $ENV{'CONTENT_LENGTH'}); } else { $QUERY_DATA = $ENV{'QUERY_STRING'}; } @pairs = split(/&/,$QUERY_DATA); foreach $pair (@pairs) { ($key, $value) = split(/=/, $pair); $value =~ tr/+/ /; $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; $value =~ s/</g; $value =~ s/>/>/g; $value =~ s/\n//g; $value =~ s/\,/,/g; $value =~ s/\t/ /g; &jcode'convert(*value,'sjis'); $QUERY{$key} = $value; } #クッキー取得 $name = ''; $email = ''; $url = ''; $pwd = ''; $area = ''; $icon = ''; &get_cookie; if ($QUERY{'pw'} eq $password && !$imode) { #=============================================================================== # 管理者専用モード # i-Modeからはアクセスできない #------------------------------------------------------------------------------- &data_read; if ($QUERY{'button'} eq '検索結果一覧') { $QUERY{'action'} = 'view'; } if ($QUERY{'button'} eq '会員削除') { #=============================================================================== # 会員一覧モードからの削除処理 #------------------------------------------------------------------------------- &delete($QUERY{'delmail'}); $QUERY{'action'} = ''; } if ($QUERY{'action'} eq 'find') { #======================================================================= # 送信先を検索して設定内容を確認 #----------------------------------------------------------------------- &find; $count = @MATCH; if ($count < 1) { &error(bad_find); } &html_head($imode); print "