xamppでメール5 MercuryMailを使おう
それでは Xamppのコントロールネルで MercuryMail をStart させましょう
簡単なサンプルコードは こちら
testmail.cgi
#!C:/xampp/perl/bin/perl use CGI; my $q = CGI->new(); print $q->header(-charset => 'utf-8'), $q->start_html(-title=>"TestMail"), $q->h1('TestMail Form'), $q->start_form(-action=>"sendmail.cgi"), $q->em("What's your name?"), $q->br, $q->br, $q->textfield('name'), $q->checkbox('Not my real name'), $q->br, $q->em("What's your e-mail?"), $q->br, $q->br, $q->textfield('email'), $q->br, $q->em("What's your subject?"), $q->br, $q->br, $q->textfield('subject'), $q->br, $q->em('Any parting comments?'), $q->br, $q->br, $q->textarea(-name=>'comments',-rows=>3,-columns=>50), $q->reset, $q->submit(-name =>'Action', -value =>'送信'), $q->submit(-name =>'Action', -value =>'Scream'), $q->end_form, $q->end_html;
#!C:/xampp/perl/bin/perl use utf8; use CGI; use Encode; use MIME::Base64; my $q = CGI->new(); $name= $q->param('name'); $email= $q->param('email'); $subject= $q->param('subject'); $comments= $q->param('comments'); $mailto='trinity@nagoya.jp'; # 汚染チェックとして改行を取り除く $name=~ s/\r|\n//g; $email=~ s/\r|\n//g; $subject=~ s/\r|\n//g; $comments=~ s/\r|\n//g; my $bound='wq5se3d1ew'; $mail_name= encode('MIME-Header-ISO_2022_JP',$name); $mail_email=encode('MIME-Header-ISO_2022_JP',$email); $mail_to=encode('MIME-Header-ISO_2022_JP',$mailto); $mail_subject=encode('MIME-Header-ISO_2022_JP',$subject); $mail_comments=encode('ISO_2022_JP', decode('utf-8', $comments)); # Sendmailのパスの指定 $sendmail = 'C:/xampp/sendmail/sendmail.exe'; # Sendmailのファイルを開いてデータを書き込む open(MAIL,"| $sendmail -t")|| &error(150," 送信に失敗しました"); # mailのヘッダー print MAIL "MIME-Version: 1.0\n"; print MAIL "Content-Type: Multipart/Mixed; boundary=$bound\n"; print MAIL "From: $mail_name <$mail_email>\n"; print MAIL "To: $mail_to\n"; print MAIL "Name: $mail_name\n"; print MAIL "Subject:$mail_subject\n"; print MAIL "--$bound\n"; print MAIL "Content-Type: text/plain; charset=ISO-2022-JP\n"; print MAIL "\n"; # mailの本文 $mail_comments =~s/\r\n/\n/g; print MAIL "$mail_comments\n"; close(MAIL); print $q->header(-charset => 'utf-8'), $q->start_html('Mail Form'), $q->h1('settings in this form'), $q->p('メールを送信しました。'), $q->end_html;