コメント |
@SHOW
HTML内の変数をパースさせないでいったん変数にセットし、必要に応じてパースさせて使用。
メールで送られる HTML は、その HTML そのものであるが、日本語が JIS に変換されるので、charset を iso-2022-jpに変更している
@END
@DIV
#! /usr/bin/perl
# stdio.plのパス
require 'stdio.pl';
# jcode.plのパス
require 'jcode.pl';
# sendmailのパス
$stdio::sendmail = '/usr/sbin/sendmail';
# テンポラリファイルを格納するディレクトリのパス
$stdio::tmp_dir = './';
%in = ();
stdio::getFormData(\%in);
# **********************************************************
# 以下入力画面
# **********************************************************
print "Content-Type: text/html; charset=SHIFT_JIS\n";
print "\n";
@C:red(# 後でパースさせる為、シングルクォートで囲う。)
@C:red(# ファイルから単純に取り出しても良い )
$html = <<'_EOF_';
<HTML>
<HEAD>
<META http-equiv="Content-type" content="text/html; charset=$charset">
<TITLE>STDIO.PL メール送信テスト</TITLE>
<STYLE type="text/css">
* {
font-family: "MS Pゴシック";
font-size: 12px;
}
BODY {
background-color: forestgreen;
color: white;
}
</STYLE>
</HEAD>
<!-- *******************************************************
BODY
******************************************************** -->
<BODY>
<!-- *******************************************************
フォーム
******************************************************** -->
<FORM
name="frmMain"
method="GET"
>
件名 <INPUT type="text" name="subject" value="$in{'subject'}"><br>
宛先 <INPUT type="text" name="to" value="$in{'to'}"><br>
差出人 <INPUT type="text" name="from" value="$in{'from'}"><br>
本文 <TEXTAREA name="body" cols="80" rows="5">$in{'body'}</TEXTAREA><br>
<INPUT type="submit" name="send" value="送信">
</FORM>
$message
</BODY>
</HTML>
_EOF_
if ( $in{'send'} ne '' ) {
%header = (
'To' => $in{'to'},
'From' => $in{'from'},
'Subject' => $in{'subject'},
'X-Priority'=> '3',
'X-Mailer' => 'stdio.pl/9.10'
);
$charset="iso-2022-jp";
&get_html( "main_html", $html );
$result = stdio::sendmail(
\%header,
$in{'body'},
$main_html
);
if ($result) {
$message = "<p>メールの送信は成功しました。</p>\n";
}
else {
$message = "<p>メールの送信は失敗しました。</p>\n";
}
}
$charset = "Shift_JIS";
&get_html( "main_html", $html );
print $main_html;
# **********************************************************
# 文字列内変数適用関数
# **********************************************************
sub get_html {
local($var_name,$var_data) = @_;
local($buffer) = "\$$var_name = <<\"HTML_DATA\";\n";
$buffer .= $var_data;
$buffer .= "HTML_DATA";
eval( $buffer );
}
@END
|