その他にもどる
メール操作
ここでは掲示板に書き込みを行った場合、お礼の返信メールを出すには
Sendmail を使う 大量の送信には不向きのようだが、個人のホーム-ページ程度なら問題ない
まず、$sendmail = '/usr/sbin/sendmail'; を書き加える
#!/usr/local/bin/perl
require 'jcode.pl';
require 'cgi-lib.pl';
$sendmail = '/usr/sbin/sendmail';
&decode;
(略)
|
次に、下のようにアドレスを入力する箇所を作る
print "<form action=\"$script\" method=\"POST\" enctype=\"multipart/form-data\">\n";
print "<input type=hidden name=mode value=\"toko\">\n";
print "名前<input type=text name=name size=20><br>\n";
print "メール<input type=text name=mail size=50>\n";
print "<input type=submit value=\"投稿する\"></form>\n";
投稿処理の部分に、&mail_to を下のように入れる
sub toko {
(略)
&lock;
open(IN,"$logfile");
($logfileに書き込み処理を行う)
&unlock;
if ($in{'mail'} ne "") { &mail_to; }
(略)
|
sub mail_to は下のようになり、$mailto には送信元のアドレスを書いておく
sub mail_to {
$mailto = 'minamiaso@aso.ne.jp';
$m_title = "ご投稿のお礼";
$m_name = $in{'name'};
$m_mail = $in{'mail};
$m_moji1 = "様、ご投稿ありがとうございました。";
&jcode'convert(*m_title,'jis');
&jcode'convert(*m_name,'jis');
&jcode'convert(*m_mail,'jis');
&jcode'convert(*m_moji1,'jis');
if (!open(MAIL,"| $sendmail -t")) { &error("メール送信に失敗しました"); }
print MAIL "To: $m_mail\n";
print MAIL "Errors-To: $mailto\n";
print MAIL "From: $mailto\n";
print MAIL "Subject: $m_title\n";
print MAIL "$m_name$m_moji1\n";
close(MAIL);
}
|
複数にメールを送信
例えば、投稿者以外に管理者(送信元)へも同時にメールを出す場合は、
投稿処理の部分に、&mail_to2 を加える
sub toko {
(略)
&lock;
open(IN,"$logfile");
($logfileに書き込み処理を行う)
&unlock;
if ($in{'mail'} ne "") { &mail_to; }
&mail_to2
(略)
|
そして、sub mail_to2 を作れば送信することができる
sub mail_to2 {
$m_title2 = "投稿の通知";
$m_moji2 = "様から投稿がありました。";
&jcode'convert(*m_title2,'jis');
&jcode'convert(*m_moji2,'jis');
if (!open(MAIL,"| $sendmail -t")) { &error("メール送信に失敗しました"); }
print MAIL "To: $mailto\n";
print MAIL "Errors-To: $mailto\n";
print MAIL "From: $m_mail\n";
print MAIL "Subject: $m_title2\n";
print MAIL "$m_name$m_moji2\n";
close(MAIL);
}
|
---- End ----
↑PageTop その他にもどる