#! /usr/local/bin/perl #################################################################### # メイングラム名: ネットクルーズメールアドレス追加申込み # # サブグラム名: mailadd.cgi          # # このプログラムを無断で転用販売することを禁じます。 # # copyright:ichiroo kawamoto # # 作成日付:2000/06/23 # # 修正日付:2000/06/23 # #################################################################### require "jcode.pl"; require "cgi-lib.pl"; require "henkan.pl"; require "syubetu.pl"; require "chkemail.pl"; require "shoki.pl"; &ReadParse; srand; $rand = int(rand(10000000000)); @dd = split(/&/,$ENV{'QUERY_STRING'}); $dd[0] = $rand; $ddd = $ENV{'QUERY_STRING'}; ($sec,$min,$hour,$mday,$mon,$year,$wday) = localtime; if ($year > 50) {$year = "19" . $year;} else {$year = "20" . $year;} $mon++; @week = ("日","月","火","水","木","金","土"); $wday = $week[$wday]; $time = "$mon月$mday日($wday)$hour時$min分$sec秒"; $NAME = $in{"NAME"}; $STEL = $in{"STEL"}; $TEL = $in{"TEL"}; $MAIL = $in{"MAIL"}; $MAIL1 = $in{"MAIL1"}; $MAIL2 = $in{"MAIL2"}; $MAIL3 = $in{"MAIL3"}; $YEN = $in{"YEN"}; ################################# ファイル書き込み ###################################### if ($in{"KAKUTEI2"} eq "確定"){ if (-d "data" ne 1){ mkdir("data",0777); chmod(0777,"data"); } if (-e "data/data.txt" ne 1){ open(OUT,">data/data.txt"); close(OUT); } else{ #### 重複チェック ##### $atta = 0; open(IN,"data/data.txt"); $konma = ','; for ($i = 0;$i < 100000;$i++){ $line = ; if ($line eq ""){last;} @line = split(/$konma/,$line); if (($line[0] eq $HNAME && $line[10] eq $TEL1) || ($line[1] eq $NAME && $line[10] eq $TEL1)){ $atta = 1; last; } } close(IN); if ($atta eq 1){ print "Content-type: text/html\n\n"; print"\n"; print"\n"; print'ネットクルーズ会員メールアドレス追加申込み入力エラー'."\n"; print"\n"; print"\n"; print"\n"; print"
\n"; print"
\n"; print"\n"; print"\n"; print'ネットクルーズ会員メールアドレス追加申込み入力エラー'."
\n"; print"
\n"; print"
\n"; print"
\n"; print"
\n"; print"\n"; print"\n"; print"\n"; print"\n"; print"
\n"; print"\n"; print"\n"; print"同一データが既に存在します。

\n"; print"
\n"; print"
\n"; print"
\n"; print"
\n"; print"
\n"; print"
\n"; print"\n"; print"\n"; print"プラウザの[戻る]キーで戻ってフォーム内容を修正して下さい。\n"; print"\n"; print"\n"; print"
\n"; print"
\n"; print"
\n"; print"
\n"; exit(); } } open(IN,"data/data.txt"); open(OUT,">data/temp.txt"); flock(OUT,2); print OUT $NAME.','; print OUT $STEL.','; print OUT $TEL.','; print OUT $MAIL.','; print OUT $MAIL1.','; print OUT $MAIL2.','; print OUT $MAIL3.','; print OUT $YEN.','; print OUT "\n"; for ($i = 0;$i < 100000;$i++){ $line = ; if ($line eq ""){last;} print OUT $line; } flock(OUT,8); close(OUT); close(IN); rename("data/temp.txt","data/data.txt"); chmod (0777,"data/data.txt"); print "Content-type: text/html\n\n"; print"\n"; print"\n"; print'フォーム入力終了画面'."\n"; print"\n"; print"\n"; print"\n"; print"
\n"; print"
\n"; print"\n"; print"\n"; print'メールアドレス追加申込みありがとうございます!!'."
\n"; print"
\n"; print"
\n"; print"
\n"; print"
\n"; print"
\n"; print"
\n"; $err = &make_message($to_email,'webmaster@netcruise.co.jp',$msg2); $err = &make_message($MAIL,'webmaster@netcruise.co.jp',$msg); print"\n"; print"\n"; print"\n"; print"\n"; print"
\n"; print"\n"; print"\n"; print"フォーム内容は、送信されました。
\n"; print"確認後、郵送にてメールアドレス追加分のIDとパスワードをお送りさせていただきます。
\n"; print"
\n"; print"
\n"; print"
\n"; print"
\n"; print"
\n"; print"
\n"; print"\n"; print"\n"; print"\n"; print"\n"; print"
\n"; print"\n"; print"\n"; print"\n"; print"
\n"; print"
\n"; print"
\n"; print"\n"; print"\n"; exit(); } ################################# 入力フォーム確認 ###################################### if ($in{"KAKUTEI"} eq "確定"){ #print "Content-type: text/html\n\n"; #print"\n"; # 左右の空白を削除 $NAME = &henkan'kuuhaku($NAME); $STEL = &henkan'kuuhaku($STEL); $TEL = &henkan'kuuhaku($TEL); $MAIL = &henkan'kuuhaku($MAIL); $MAIL1 = &henkan'kuuhaku($MAIL1); $MAIL2 = &henkan'kuuhaku($MAIL2); $MAIL3 = &henkan'kuuhaku($MAIL3); # 文字中の空白を削除 $NAME = &henkan'kuuhaku2($NAME); $STEL = &henkan'kuuhaku2($STEL); $TEL = &henkan'kuuhaku2($TEL); $MAIL = &henkan'kuuhaku2($MAIL); $MAIL1 = &henkan'kuuhaku2($MAIL1); $MAIL2 = &henkan'kuuhaku2($MAIL2); $MAIL3 = &henkan'kuuhaku2($MAIL3); # 文字中の"-","−"を削除 $TEL = &henkan'haihun($TEL); $p = 0; $atta = 0; @err = ""; #### 重複チェック ##### #open(IN,"data/data.txt"); #$konma = ','; #for ($i = 0;$i < 100000;$i++){ # $line = ; # if ($line eq ""){last;} # @line = split(/$konma/,$line); # if (($line[0] eq $NAME && $line[2] eq $TEL) || $line[2] eq $TEL || ($line[3] eq $MAIL && $MAIL ne "")){ # $err[$p] = 'あなたのデータは既に登録済みです。'; # $p++; # $atta = 1; # last; # } #} #close(IN); # 必須エラー調査 if ($NAME eq ""){$err[$p] = 'お名前が記入されていません。';$p++;$atta = 1;} if ($STEL eq ""){$err[$p] = '電話番号市外局番が記入されていません。';$p++;$atta = 1;} if ($TEL eq ""){$err[$p] = '電話番号が記入されていません。';$p++;$atta = 1;} if ($MAIL1 eq "" && $MAIL2 eq "" && $MAIL3 eq ""){$err[$p] = '希望メールアドレスが記入されていません。';$p++;$atta = 1;} # ネットクルーズ使用中メールアカウントとの比較 $matta = 0; $satta = 0; $mail = substr($MAIL,0,index($MAIL,"@")); setpwent; for ($i = 0;$i < 1000;$i++){ ($name,$passwd,$uid,$gid,$quota,$comment,$gcos,$homedir,$shell) = getpwent; #print "name=$name homedir=$homedir
\n"; if ($name ne ""){ if ($name eq $mail){ $matta = 1; } if ($name eq $MAIL1){ $err[$p] = '追加希望Eメールアドレス(1) "'.$name.'" は既に登録済みメールと重複しているので使用できません。'; $p++; $atta = 1; $satta = 1; } if ($name eq $MAIL2){ $err[$p] = '追加希望Eメールアドレス(2) "'.$name.'" は既に登録済みメールと重複しているので使用できません。'; $p++; $atta = 1; $satta = 2; } if ($name eq $MAIL3){ $err[$p] = '追加希望Eメールアドレス(3) "'.$name.'" は既に登録済みメールと重複しているので使用できません。'; $p++; $atta = 1; $satta = 3; } } } endpwent; # Eメールが登録しているか #if ($matta ne 1){ # $err[$p] = 'Eメールアドレスが違います。Eメールアドレスを確認してください。'; # $p++; # $atta = 1; #} # 未登録メールアカウントとの比較 #print "Content-type: text/html\n\n"; #print"\n"; open(IN,"data/data.txt"); $konma = ','; for ($i = 0;$i < 100000;$i++){ $line = ; if ($line eq ""){last;} if ((index($line,"$konma$MAIL1$konma") > 0 && $MAIL1 ne "" && $satta ne 1)){ $err[$p] = '追加希望Eメールアドレス(1) "'.$MAIL1.'" は既に申請中メールと重複しているので使用できません。'; $p++; $atta = 1; #print "*$konma$MAIL1$konma*
\n"; last; } if ((index($line,"$konma$MAIL2$konma") > 0 && $MAIL2 ne "" && $satta ne 2)){ $err[$p] = '追加希望Eメールアドレス(2) "'.$MAIL2.'" は既に申請中メールと重複しているので使用できません。'; $p++; $atta = 1; last; } if ((index($line,"$konma$MAIL3$konma") > 0 && $MAIL3 ne "" && $satta ne 3)){ $err[$p] = '追加希望Eメールアドレス(3) "'.$MAIL3.'" は既に申請中メールと重複しているので使用できません。'; $p++; $atta = 1; last; } } close(IN); ################ 申請メール内重複チェック ################## $MAIL[0] = $MAIL1; $MAIL[1] = $MAIL2; $MAIL[2] = $MAIL3; $end = 0; for ($i = 0;$i < 3;$i++){ for ($j = 0;$j < 3;$j++){ if ($i ne $j && $MAIL[$i] eq $MAIL[$j] && $MAIL[$i] ne "" && $MAIL[$j] ne ""){ $err[$p] = '追加希望Eメールアドレス('.$i.') "'.$MAIL[$i].'" と追加希望Eメールアドレス('.$j.') "'.$MAIL[$j].'"は重複しています。'; $p++; $atta = 1; $end = 1; } if ($end eq 1){last;} } } if ($atta ne 1){ # 全角漢字以外はエラー、数字、記号もだめ $atta2 = 0; if (index(&syubetu'syubetu1($NAME),'記号') >= 0){$atta = 1;$atta2 = 1;} elsif (index(&syubetu'syubetu1($NAME),'数字') >= 0){$atta = 1;$atta2 = 1;} elsif (index(&syubetu'syubetu1($NAME),'半角') >= 0){$atta = 1;$atta2 = 1;} if ($atta2 eq 1){$err[$p] = 'お名前が正しく記入されていません。';$p++;} # 数字以外はエラー $atta2 = 0; if (index(&syubetu'syubetu1($STEL),'英') >= 0){$atta = 1;$atta2 = 1;} elsif (index(&syubetu'syubetu1($STEL),'カタカナ') >= 0){$atta = 1;$atta2 = 1;} elsif (index(&syubetu'syubetu1($STEL),'ひらがな') >= 0){$atta = 1;$atta2 = 1;} elsif (index(&syubetu'syubetu1($STEL),'記号') >= 0){$atta = 1;$atta2 = 1;} if (length($STEL) > 4 || length($STEL) < 2){$atta = 1;$atta2 = 1;} if (index(&syubetu'syubetu1($TEL),'英') >= 0){$atta = 1;$atta2 = 1;} elsif (index(&syubetu'syubetu1($TEL),'カタカナ') >= 0){$atta = 1;$atta2 = 1;} elsif (index(&syubetu'syubetu1($TEL),'ひらがな') >= 0){$atta = 1;$atta2 = 1;} elsif (index(&syubetu'syubetu1($TEL),'記号') >= 0){$atta = 1;$atta2 = 1;} if (length($TEL) > 8 || length($TEL) < 6){$atta = 1;$atta2 = 1;} if ($atta2 eq 1){$err[$p] = '自宅電話番号が正しく記入されていません。';$p++;} # 半角英小文字、"-" 記号以外はエラー if ($MAIL ne ""){ $atta2 = 0; if (index(&syubetu'syubetu1($MAIL),'全角') >= 0){$atta = 1;$atta2 = 1;} elsif (index(&syubetu'syubetu1($MAIL),'カタカナ') >= 0){$atta = 1;$atta2 = 1;} elsif (index($MAIL,'@') < 0){$atta = 1;$atta2 = 1;} elsif (index($mail,'.') >= 0 || index($mail,':') >= 0){$atta = 1;$atta2 = 1;} if ($atta2 eq 1){$err[$p] = 'メールアドレスが正しく記入されていません。';$p++;} } # 半角英小文字、"-" 記号以外はエラー $atta2 = 0; for ($i = 0;$i < 3;$i++){ if ($MAIL[$i] ne ""){ if (index(&syubetu'syubetu1($MAIL[$i]),'全角') >= 0){$atta = 1;$atta2 = 1;} elsif (index(&syubetu'syubetu1($MAIL[$i]),'カタカナ') >= 0){$atta = 1;$atta2 = 1;} elsif (index(&syubetu'syubetu1(substr($MAIL[$i],0,1)),'数字') >= 0){$atta = 1;$atta2 = 1;} elsif (index(&syubetu'syubetu1($MAIL[$i]),'半角"@-"以外記号') >= 0){$atta = 1;$atta2 = 1;} elsif (index($MAIL[$i],'@') > 0){$atta = 1;$atta2 = 1;} elsif (index($MAIL[$i],'.') >= 0 || index($MAIL[$i],':') >= 0){$atta = 1;$atta2 = 1;} if (length($MAIL[$i]) > 8 || length($MAIL[$i]) < 2){$atta = 1;$atta2 = 1;} if ($atta2 eq 1){ $j = $i + 1; $err[$p] = '追加希望Eメールアドレス('.$j.')が正しく記入されていません。'; $p++; last; } } } } #print"j=$j"; if ($atta eq 1){ print "Content-type: text/html\n\n"; print"\n"; print"\n"; print'フォーム入力エラー'."\n"; print"\n"; print"\n"; print"\n"; print"
\n"; print"
\n"; print"\n"; print"\n"; print'フォーム入力エラー'."
\n"; print"
\n"; print"
\n"; print"
\n"; print"
\n"; print"\n"; print"\n"; print"\n"; print"\n"; print"
\n"; print"\n"; print"\n"; for ($p = 0;$p < 5;$p++){ if ($err[$p] eq ""){last;} print"$err[$p]

\n"; } if ($err[$p] ne ""){print"その他にもエラー有り
\n";} print"
\n"; print"
\n"; print"
\n"; print"
\n"; print"
\n"; print"
\n"; print"\n"; print"\n"; print"プラウザの[戻る]キーで戻ってフォーム内容を修正して下さい。\n"; print"\n"; print"\n"; print"
\n"; print"
\n"; print"
\n"; print"
\n"; exit(); } ################ 申請メールナンバーの空きを埋める ################## for ($i = 0;$i < 3;$i++){ if ($MAIL[$i] eq ""){ for ($j = $i + 1;$j < 3;$j++){ if ($MAIL[$j] ne ""){ $MAIL[$i] = $MAIL[$j]; $MAIL[$j] = ""; last; } } if ($j eq 3){last;} } } $MAIL1 = $MAIL[0]; $MAIL2 = $MAIL[1]; $MAIL3 = $MAIL[2]; print "Content-type: text/html\n\n"; print"\n"; print"\n"; print'ネットクルーズ会員メールアドレス追加申込み内容確認'."\n"; print"\n"; print"\n"; print"\n"; print"\n"; print"
\n"; print"
\n"; print"\n"; print"\n"; print"\n"; print"\n"; print"
\n"; print"
\n"; print"\n"; print"\n"; print"\n"; print"\n"; print"\n"; print"\n"; print"\n"; print"\n"; print"\n"; print"\n"; print"
\n"; print"\n"; print"\n"; print'ネットクルーズ会員メールアドレス追加申込み内容確認'."\n"; print"\n"; print"\n"; print"
\n"; print"\n"; print"\n"; print"\n"; print"\n"; print"\n"; print"\n"; print"\n"; print"\n"; print"\n"; print"\n"; print"\n"; print"\n"; print"\n"; print"\n"; print"
お名前\n"; if ($NAME ne ""){ print"\n"; print $NAME; print"\n"; } else{ print" "; } print"
電話番号\n"; if ($STEL ne "" || $TEL ne ""){ print"\n"; print"$STEL-$TEL"; print"\n"; } else{ print" "; } print"
メールアドレス\n"; if ($MAIL ne ""){ print"\n"; print $MAIL."\n"; print"\n"; } else{ print" "; } print"
\n"; print"
\n"; print"\n"; if ($MAIL1 ne ""){ print"\n"; print"\n"; print"\n"; print"\n"; } if ($MAIL2 ne ""){ print"\n"; print"\n"; print"\n"; print"\n"; } if ($MAIL3 ne ""){ print"\n"; print"\n"; print"\n"; print"\n"; } print"
追加希望Eメールアドレス(1)\n"; print"\n"; print $MAIL1; print"\n"; print"
追加希望Eメールアドレス(2)\n"; print"\n"; print $MAIL2; print"\n"; print"
追加希望Eメールアドレス(3)\n"; print"\n"; print $MAIL3; print"\n"; print"
\n"; print"\n"; print"
\n"; print"\n"; print"
\n"; print"\n"; print"
\n"; print"
\n"; print"\n"; print"\n"; print"\n"; print"\n"; print"\n"; print"\n"; print"\n"; print"\n"; print"\n"; print"\n"; print"\n"; print"\n"; print"\n"; print"\n"; print"\n"; print"
\n"; print"\n"; print"\n"; print"\n"; print"
\n"; print"\n"; print"\n"; print"\n"; print"
\n"; print"\n"; print"
\n"; print"
\n"; print"
\n"; print"\n"; print"\n"; print"\n"; print"\n"; print"\n"; print"
\n"; print"
\n"; print"\n"; print"\n"; exit(); } print "Content-type: text/html\n\n"; print"\n"; print"\n"; print'ネットクルーズ会員メールアドレス追加申込み'."\n"; print''."\n"; print"\n"; print"\n"; print"\n"; print"\n"; print"
\n"; print"
\n"; print"\n"; print"\n"; print"\n"; print"\n"; print"
\n"; print"
\n"; print"\n"; print"\n"; print"\n"; print"\n"; print"\n"; print"\n"; print"\n"; print"\n"; print"\n"; print"\n"; print"\n"; print"\n"; print"\n"; print"\n"; print"\n"; print"\n"; print"\n"; print"\n"; print"\n"; print"\n"; print"\n"; print"\n"; print"
\n"; print"\n"; print"\n"; print'ネットクルーズ会員メールアドレス追加申込み'."\n"; print"\n"; print"\n"; print"
\n"; print"
\n"; print"\n"; print"\n"; print"\n"; print'●既にネットクルーズのメールアドレスをお持ちのお客様で、メールアドレスの追加をご希望される方はこのフォームでお申し込み下さい。
'."\n"; print'確認後、新しいメールIDとパスワードを発行し、書類にて郵送いたします。
'."\n"; print"
\n"; print"
\n"; print"
\n"; print"
\n"; print"
\n"; print"\n"; print"\n"; print' お申込内容記入欄'."\n"; print"\n"; print"\n"; print"
\n"; print"\n"; print"\n"; print"\n"; print"\n"; print"\n"; print"\n"; print"\n"; print"\n"; print"\n"; print"\n"; print"\n"; print"\n"; print"\n"; print"\n"; print"
お名前(必須入力)
\n"; print"\n"; print"
自宅電話番号(必須入力)
\n"; print"市外局番-\n"; print"
連絡先メールアドレス\n"; print"\n"; print"
\n"; print"
\n"; print"
\n"; print"\n"; print"\n"; print' 追加するメールアドレス 1メールアドレスにつき月額200円です。'."\n"; print"\n"; print"\n"; print"
\n"; print"\n"; print"\n"; print"\n"; print"\n"; print"\n"; print"\n"; print"\n"; print"\n"; print"\n"; print"\n"; print"\n"; print"\n"; print"\n"; print"
追加希望Eメールアドレス(1)
\n"; print""; print'@netcruise.co.jp'."\n"; print"
追加希望Eメールアドレス(2)
\n"; print""; print'@netcruise.co.jp'."\n"; print"
追加希望Eメールアドレス(3)
\n"; print""; print'@netcruise.co.jp'."\n"; print"
\n"; print"
\n"; print"使用料(月額)円"; print"
\n"; print"\n"; print"\n"; print"\n"; print"\n"; print"
\n"; print"\n"; print'※半角英数で入力してください。文字数は3文字以上8文字以下の、英字(小文字)、'."
\n"; print'「−」(ハイフン)は使えますが、「.」(ピリオド)、「:」(コロン)は、使用できません。'."
\n"; print'例えば、tanakaとかsaitooとかにします。'."
\n"; print"
\n"; print'※3つ以上のメールアドレスを取得したい場合は、再度このフォームにてお申し込み下さい。'."
\n"; print"
\n"; print"
\n"; print"
\n"; print"\n"; print"
\n"; print"\n"; print"
\n"; print"\n"; print"\n"; print"\n"; print"\n"; print"\n"; print"\n"; print"\n"; print"
\n"; print"\n"; print"\n"; print"\n"; print"
\n"; print"\n"; print"\n"; print"\n"; print"
\n"; print"\n"; print"
\n"; print"
\n"; print"
\n"; print"\n"; print"\n"; print"\n"; print"\n"; print"\n"; print"
\n"; print"
\n"; print"
\n"; print"\n"; print"\n"; exit(); sub make_message{ local($TO_EMAIL,$EMAIL,$BUN) = @_; $sendmail = `which sendmail`; chop($sendmail); if (index($sendmail,'/sendmail') < 0){ $sendmail = `which mail`; chop($sendmail); } $message = ''; $message = $message . "From:$EMAIL\n"; $message = $message . "To:$TO_EMAIL\n"; $message = $message . 'Subject:ネットクルーズメールアドレス追加申し込みフォームよりの通知'."\n"; #$message = $message . 'Name:wooman.jpg'."\n"; #$message = $message . "Type:JPEG Image (image/jpeg)\n"; #$message = $message . "Encoding:base64\n"; $message = $message . $BUN; $message = $message . "\n"; $message = $message . "<入力内容>\n"; $message = $message . 'メールアドレス追加申込み'."\n"; $message = $message . "お名前:$NAME\n"; $message = $message . "電話番号:$STEL-$TEL\n"; $message = $message . "メールアドレス:$MAIL\n"; $message = $message . "\n"; $message = $message . "<追加希望メール名>\n"; if ($MAIL1 ne ""){ $message = $message . "メール1:$MAIL1\n"; } if ($MAIL2 ne ""){ $message = $message . "メール2:$MAIL2\n"; } if ($MAIL3 ne ""){ $message = $message . "メール3:$MAIL3\n"; } if ($YEN ne ""){ $message = $message . "\n"; $message = $message . "<追加分メール使用料(月)>\n"; $message = $message . "$YEN円\n"; } #print "sendmail=$sendmail
\n"; &jcode'convert(*message,'jis'); $err = ""; $err = open (MAIL,"|$sendmail $TO_EMAIL"); print MAIL $message; close (MAIL); return $err; }