#!/usr/bin/perl
#求人メール送信処理
=commentout
初期設定はinit.plで行います
=cut
use CGI::Carp qw(fatalsToBrowser);
use lib '/home/webmaster/public_html/lib';
use CGI qw(:cgi-lib :cgi);
use DBI;
use Jcode;
use AE;
use AETmpl;
use AEMail;
require '../lib/init.pl';
$zensu = jcode('0123456789')->euc;
$hansu = jcode('0123456789')->euc;
##----------------------------------------------------------------------------
#SetENV------------------------------------------------------------------
$sendmail = '/usr/sbin/sendmail';
$tmpl{'form'} = 'tmp_form.html'; #画面テンプレート
$tmpl{'err'} = 'tmp_err.html'; #エラー画面テンプレート
$tmpl{'cfm'} = 'tmp_cfm.html'; #確認画面
##----------------------------------------------------------------------------
#jcodeを避けるパラメータ名のリスト
$Files = 'filedata';
#パラメータの処理
foreach (param) {
next unless $_;
if (ref(param("$_")) eq 'ARRAY') {
@{$_} = param("$_");
if (!/^$Files$/o) {
@{$_} = map {jcode($_)->sjis} @{$_};
}
} else {
${$_} = /^$Files$/o ? param($_) : jcode(param($_))->sjis;
}
}
# テンプレート振り分け
if ($phone{'furiwake'} eq 'mobile') {
foreach(keys %tmpl) {
$tmpl{"$_"} =~ s/\.html/_m.html/;
}
}
if ($regname1 && $regname2) { $regname = "$regname1 $regname2"; }
if ($freename1 && $freename2) { $freename = "$freename1 $freename2"; }
if ($zip1 && $zip2) { $zip = "$zip1-$zip2"; }
if ($tel1 && $tel2 && $tel3) { $tel = "$tel1-$tel2-$tel3"; }
##---------------------------------------------------
if ($mode eq 'cfm'){
#入力チェック
✓
} elsif ($mode eq 'mailsend') {
#メール送信
&mailsend;
}
if ($mode eq 'cfm'){
&confirm;
} elsif ($mode eq 'thx') {
&error($tmpl{'err'}, <送信を受け付けました。
送信された内容を弊社にて確認次第、
ご記入いただいた連絡方法のいずれかにてご連絡を差し上げます。
ご利用ありがとうございました。
EOF
} else {
&form;
}
exit;
##---------------------------------------------------
sub form {
if (@er) {
$msg = join "
\n", @er;
}
my $section = $/;
undef $/;
open(TEMP,"$tmpl{'form'}") or &error($tmpl{'err'}, 'templete error.');
$html = ;
close(TEMP);
$/ = $section;
$ken_select = &popup(\@ken, \@ken, $ken || '滋賀県');
if ($sex eq '男') { $chk_man = 'checked'; }
if ($sex eq '女') { $chk_woman = 'checked'; }
if ($contact_email) { $chk_contact_email = 'checked'; }
if ($contact_phone) { $chk_contact_phone = 'checked'; }
if ($contact_post) { $chk_contact_post = 'checked'; }
if ($wday1) { $chk_wday1 = 'checked'; }
if ($wday2) { $chk_wday2 = 'checked'; }
if ($wday3) { $chk_wday3 = 'checked'; }
if ($wday4) { $chk_wday4 = 'checked'; }
if ($wday5) { $chk_wday5 = 'checked'; }
if ($wday6) { $chk_wday6 = 'checked'; }
if ($wday7) { $chk_wday7 = 'checked'; }
print "Content-type: text/html\n\n";
$html =~ s/%(\w+)%/${$1}/g;
$html =~ s//&getssi($1)/ge;
print $html;
}
sub check {
if(!$regname) { push(@er, "・お名前を記入して下さい。");}
if(!$freename) { push(@er, "・ふりがなを記入して下さい。");}
if(!$age) { push(@er, "・年齢を記入して下さい。");}
if(!$zip or !$ken or !$add) { push(@er, "・住所の全てを選択・記入して下さい。");}
#if(!$tel) { push(@er, "・お電話番号を記入して下さい。");}
if(!$email) { push(@er, "・E-mailアドレスを記入して下さい。");}
if($email ne $email2) { push(@er, "・E-mailアドレスの入力を確認してください。");}
if(@er){
$mode = '';
} else {
$mode = 'cfm';
}
}
sub confirm {
#確認画面表示
$adddisp = &nl2br($add);
$cmtdisp = &nl2br($cmt);
($contactdisp, @contact);
if ($contact_email) { push @contact, 'E-Mail'; }
if ($contact_phone) { push @contact, '電話可'; }
if ($contact_post) { push @contact, '郵便可'; }
$contactdisp = join(', ', @contact) || '選択なし';
($wdaydisp, @wday);
if ($wday1) { push @wday, $wday1; }
if ($wday2) { push @wday, $wday2; }
if ($wday3) { push @wday, $wday3; }
if ($wday4) { push @wday, $wday4; }
if ($wday5) { push @wday, $wday5; }
if ($wday6) { push @wday, $wday6; }
if ($wday7) { push @wday, $wday7; }
$wdaydisp = join(', ', @wday) || '選択なし';
my $section = $/;
undef $/;
open(TEMP,"$tmpl{'cfm'}") or &error($tmpl{'err'}, 'template error.');
$html = ;
close(TEMP);
$/ = $section;
print "Content-type: text/html\n\n";
$html =~ s/%(\w+)%/${$1}/g;
$html =~ s//&getssi($1)/ge;
print $html;
}
sub mailsend {
$Mail{'subject'} = $subject;
$Mail{'to'} = $mailto;
$Mail{'from'} = $email;
$add =~ s/\r\n|\r|\n/\n /g;
$cmt =~ s/\r\n|\r|\n/\n /g;
my ($contact, @contact);
if ($contact_email) { push @contact, 'E-Mail'; }
if ($contact_phone) { push @contact, '電話可'; }
if ($contact_post) { push @contact, '郵便可'; }
$contact = join(',', @contact) || '選択なし';
my ($wdaydisp, @wday);
if ($wday1) { push @wday, $wday1; }
if ($wday2) { push @wday, $wday2; }
if ($wday3) { push @wday, $wday3; }
if ($wday4) { push @wday, $wday4; }
if ($wday5) { push @wday, $wday5; }
if ($wday6) { push @wday, $wday6; }
if ($wday7) { push @wday, $wday7; }
$wdaydisp = join(', ', @wday) || '選択なし';
$Mail{'body'} = <<"EOF";
生活工房PCBoot「リクルート」ページより、
以下の内容が送信されました。
--------------------------------------------
氏 名 $regname
ふりがな $freename
年 齢 $age
性 別 $sex
住 所 〒$zip
$ken
$add
電話番号 $tel
メール $email
連絡方法 $contact
勤務可能\日時 $wdaydisp $stime〜$etime
お問い合わせ内容 $cmt
- - - - - - - - - - - - - - - - - - - -
--------------------------------------------
EOF
&AEMail::send(\%Mail) or &error($tmpl{'err'}, $Mail{'error'});
$mode = 'thx';
}
#Subroutine------------------------------------------------------------------