logo

その他にもどる

メール操作

ここでは掲示板に書き込みを行った場合、お礼の返信メールを出すには


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 その他にもどる