source: temp/trunk/html/test/naka/cgi/postmail.cgi @ 1694

Revision 1694, 13.7 KB checked in by naka, 20 years ago (diff)

* empty log message *

  • Property svn:mime-type set to application/octet-stream
Line 
1#!/usr/bin/perl
2
3#¨£¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡
4#¨¢ PostMail v1.91 (2002/08/14)
5#¨¢ Copyright(C) Kent Web 2002
6#¨¢ [email protected]
7#¨¢ http://www.kent-web.com/
8#¨¦¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡
9$ver = 'PostMail v1.91';
10#¨£¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡
11#¨¢ [Ãí°Õ»ö¹à]
12#¨¢ 1. ¤³¤Î¥¹¥¯¥ê¥×¥È¤Ï¥Õ¥ê¡¼¥½¥Õ¥È¤Ç¤¹¡£¤³¤Î¥¹¥¯¥ê¥×¥È¤ò»ÈÍѤ·¤¿
13#¨¢    ¤¤¤«¤Ê¤ë»³²¤ËÂФ·¤Æºî¼Ô¤Ï°ìÀÚ¤ÎÀÕǤ¤òÉ餤¤Þ¤»¤ó¡£
14#¨¢ 2. ¾¡¼ê¤Ê¤¬¤é¡¢BlatJ¤ò»È¤Ã¤¿Á÷¿®¤Ë´Ø¤¹¤ë¼ÁÌä¤Ï¥µ¥Ý¡¼¥ÈÂоݳ°
15#¨¢    ¤È¤µ¤»¤Æ¤¤¤¿¤À¤­¤Þ¤¹¡£
16#¨¢ 3. Á÷¿®¥Õ¥©¡¼¥à¤ÎHTML¥Ú¡¼¥¸¤ÎºîÀ®¤Ë´Ø¤·¤Æ¤Ï¡¢HTMLʸˡ¤ÎÈÏáÆ
17#¨¢    ¤È¤Ê¤ë¤¿¤á¡¢¥µ¥Ý¡¼¥È¤ÎÂоݳ°¤È¤Ê¤ê¤Þ¤¹¡£
18#¨¢ 4. ¤½¤ì°Ê³°¤ÎÀßÃ֤˴ؤ¹¤ë¼ÁÌä¤Ï¥µ¥Ý¡¼¥È·Ç¼¨ÈĤˤª´ê¤¤¤¤¤¿¤·
19#¨¢    ¤Þ¤¹¡£Ä¾Àܥ᡼¥ë¤Ë¤è¤ë¼ÁÌä¤Ï¤ª¼õ¤±¤¤¤¿¤·¤Æ¤ª¤ê¤Þ¤»¤ó¡£
20#¨¦¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡
21#
22# [ Á÷¿®¥Õ¥©¡¼¥à (HTML) ¤Îµ­½ÒÎã ]
23#
24# ¡¦¥¿¥°¤Îµ­½ÒÎã (1)
25#   ¤ª¤Ê¤Þ¤¨ <input type=text name="name" size=25>
26#   ¢ª ¤³¤Î¥Õ¥©¡¼¥à¤Ë¡Ö»³ÅÄÂÀϺ¡×¤ÈÆþÎϤ·¤ÆÁ÷¿®¤¹¤ë¤È¡¢
27#      ¡Öname = »³ÅÄÂÀϺ¡×¤È¤¤¤¦·Á¼°¤Ç¼õ¿®¤·¤Þ¤¹
28#
29# ¡¦¥¿¥°¤Îµ­½ÒÎã (2)
30#   ¤ª¹¥¤­¤Ê¿§ <input type=radio name="color" value="ÀÄ">
31#   ¢ª ¤³¤Î¥é¥¸¥ª¥Ü¥Ã¥¯¥¹¤Ë¥Á¥§¥Ã¥¯¤·¤ÆÁ÷¿®¤¹¤ë¤È¡¢
32#      ¡Öcolor = ÀġפȤ¤¤¦·Á¼°¤Ç¼õ¿®¤·¤Þ¤¹
33#
34# ¡¦¥¿¥°¤Îµ­½ÒÎã (3)
35#   E-mail <input type=text name="email" size=25>
36#   ¢ª nameÃͤˡÖemail¡×¤È¤¤¤¦Ê¸»ú¤ò»È¤¦¤È¤³¤ì¤Ï¥á¡¼¥ë¥¢¥É¥ì¥¹
37#      ¤Èǧ¼±¤·¡¢¥¢¥É¥ì¥¹¤Î½ñ¼°¤ò´Ê°×¥Á¥§¥Ã¥¯¤·¤Þ¤¹
38#   ¢ª (¡û) [email protected]
39#   ¢ª (¡ß) abc.xxx.co.jp ¢ª ÆþÎÏ¥¨¥é¡¼¤È¤Ê¤ê¤Þ¤¹
40#
41# ¡¦¥¿¥°¤Îµ­½ÒÎã (4)
42#   E-mail <input type=text name="_email" size=25>
43#   ¢ª nameÃͤÎÀèÆ¬¤Ë¡Ö¥¢¥ó¥À¡¼¥Ð¡¼ ¡×¤òÉÕ¤±¤ë¤È¡¢¤½¤ÎÆþÎÏÃͤÏ
44#     ¡ÖÆþÎÏɬ¿Ü¡×¤È¤Ê¤ê¤Þ¤¹¡£
45#      ¾åµ­¤ÎÎã¤Ç¤Ï¡¢¡Ö¥á¡¼¥ë¥¢¥É¥ì¥¹¤ÏÆþÎÏɬ¿Ü¡×¤È¤Ê¤ê¤Þ¤¹¡£
46#
47# ¡¦nameÃͤؤΡÖÁ´³Ñʸ»ú¡×¤Î»ÈÍѤϲÄǽ¤Ç¤¹¡Ê¤¿¤À¤·°ìÉô¤Î¥Ö¥é¥¦¥¶¤Ç¤Ï
48#   ¤´¤¯¤Þ¤ì¤Ëʸ»ú²½¤±¤¹¤ë²ÄǽÀ­¤â¤¢¤ê¡¢¤Ç¤­¤ì¤Ð¡ÖȾ³Ñ±Ñ¿ô»ú¡×¤ò»È¤¦Êý
49#   ¤¬ÌµÆñ¤Ç¤Ï¤¢¤ê¤Þ¤¹¡Ë
50#  (Îã) <input type=radio name="ǯÎð" value="20ºÐÂå">
51#  ¢ª ¾åµ­¤Î¥é¥¸¥ª¥Ü¥Ã¥¯¥¹¤Ë¥Á¥§¥Ã¥¯¤òÆþ¤ì¤ÆÁ÷¿®¤¹¤ë¤È¡¢
52#     ¡ÖǯÎð = 20ºÐÂå¡×¤È¤¤¤¦½ñ¼°¤Ç¼õ¤±¼è¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
53#
54# ¡¦mimew.pl»ÈÍÑ»þ¡¢nameÃͤò¡Öname¡×¤È¤¹¤ë¤È¤³¤ì¤ò¡ÖÁ÷¿®¼Ô̾¡×¤Èǧ¼±
55#   ¤·¤ÆÁ÷¿®¸µ¤Î¥á¡¼¥ë¥¢¥É¥ì¥¹¤ò¡ÖÁ÷¿®¼Ô <¥á¡¼¥ë¥¢¥É¥ì¥¹>¡×¤È¤¤¤¦
56#   ¥Õ¥©¡¼¥Þ¥Ã¥È¤Ë¼«Æ°ÊÑ´¹¤·¤Þ¤¹¡£
57#  (¥Õ¥©¡¼¥àµ­½ÒÎã)  <input type=text name="name">
58#  (Á÷¿®¸µ¥¢¥É¥ì¥¹)  ÂÀϺ <[email protected]>
59#
60#  [ ´Ê°×¥Á¥§¥Ã¥¯ ]
61#   http://¢·¢·/postmail.cgi?mode=check
62#
63#  [ ÀßÃÖÎã ]
64#
65#  public_html / index.html (¥È¥Ã¥×¥Ú¡¼¥¸Åù¡Ë
66#       |
67#       +-- postmail / postmail.cgi [755]
68#                      jcode.pl     [644]
69#                      mimew.pl     [644] ... Ǥ°Õ
70#                      postmail.html
71
72#------------#
73#  ´ðËÜÀßÄê  #
74#------------#
75
76# ʸ»ú¥³¡¼¥ÉÊÑ´¹¥é¥¤¥Ö¥é¥ê
77$jcode = '../jcode.pl';
78
79# MIME¥¨¥ó¥³¡¼¥É¥é¥¤¥Ö¥é¥ê¤ò»È¤¦¾ì¹ç¡Ê¿ä¾©¡Ë
80#  ¢ª ¥á¡¼¥ë¥Ø¥Ã¥À¤ÎÁ´³Ñʸ»ú¤òBASE64ÊÑ´¹¤¹¤ëµ¡Ç½
81#  ¢ª mimew.pl¤ò»ØÄê
82#$mimer = './mimew.pl';
83
84# ¥á¡¼¥ë¥½¥Õ¥È¤Þ¤Ç¤Î¥Ñ¥¹
85#  ¢ª sendmail¤ÎÎã ¡§/usr/lib/sendmail
86#  ¢ª BlatJ¤ÎÎã    ¡§c:\blatj\blatj.exe
87$mailprog = '/usr/sbin/sendmail';
88
89# Á÷¿®Àè¥á¡¼¥ë¥¢¥É¥ì¥¹
90$mailto = '[email protected]';
91
92# Á÷¿®Á°³Îǧ
93#   0 : no
94#   1 : yes
95$preview = 1;
96
97# ¥á¡¼¥ë¥¿¥¤¥È¥ë
98$subject = '¤ªÌ䤤¹ç¤ï¤»';
99
100# ¥¹¥¯¥ê¥×¥È̾
101$script = './postmail.cgi';
102
103# Á÷¿®¸å¤ÎÌá¤êÀè
104$back = 'http://www.foulee.co.jp/index.html';
105
106# Á÷¿®¤Ï method=POST ¸ÂÄê (0=no 1=yes)
107# ¢ª ¥»¥­¥å¥ê¥Æ¥£Âкö
108$postonly = 1;
109
110# body¥¿¥°
111$body = '<body bgcolor="#F0F0F0" text="#000000" link="#000FF" vlink="#800080">';
112
113# ¥×¥ì¥Ó¥å¡¼²èÌ̤ÎÏȤο§
114$tbl_col1 = "#003399";
115
116# ¥×¥ì¥Ó¥å¡¼²èÌ̤β¼ÃϤο§
117$tbl_col2 = "#FFFFFF";
118
119#------------#
120#  ÀßÄ괰λ  #
121#------------#
122
123# ¥Ç¥³¡¼¥É½èÍý
124require $jcode;
125&decode;
126
127# ¥Á¥§¥Ã¥¯¥â¡¼¥É
128if ($in{'mode'} eq "check") { &check; }
129
130# POST¥Á¥§¥Ã¥¯
131if ($postonly && !$postflag) { &error("ÉÔÀµ¤Ê¥¢¥¯¥»¥¹¤Ç¤¹"); }
132
133# ¥á¡¼¥ë¥×¥í¥°¥é¥à¤Î¥Ñ¥¹¥Á¥§¥Ã¥¯¡¿¼ïÎà¥Á¥§¥Ã¥¯
134unless (-e $mailprog) { &error("¥á¡¼¥ë¥×¥í¥°¥é¥à¤Î¥Ñ¥¹¤¬ÉÔÀµ¤Ç¤¹"); }
135if ($mailprog =~ /blat/i) { $prog_type=2; } else { $prog_type=1; }
136
137# ÆþÎÏ¥â¥ì¥¨¥é¡¼
138if ($flag) {
139    $key2 =~ s/^\_//;
140    &error("$key2¤ÎÆþÎϤÏɬ¿Ü¤Ç¤¹");
141}
142
143# E-Mail½ñ¼°¥Á¥§¥Ã¥¯
144if ($in{'email'} =~ /\,/) { &error("¥á¡¼¥ë¥¢¥É¥ì¥¹¤Ë¥³¥ó¥Þ¡Ö\,¡×¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹"); }
145if ($in{'email'} ne "" && $in{'email'} !~ /[\w\.\-]+\@[\w\.\-]+\.[a-zA-Z]{2,5}$/) {
146    &error("¥á¡¼¥ë¥¢¥É¥ì¥¹¤Î½ñ¼°¤¬ÉÔÀµ¤Ç¤¹");
147}
148
149# ¥×¥ì¥Ó¥å¡¼
150if ($preview && $in{'mode'} ne "send") {
151
152    &header;
153    print "<br><div align=center>\n",
154    "<h3>- °Ê²¼¤ÎÆâÍÆ¤Ç¤è¤í¤·¤±¤ì¤ÐÁ÷¿®¥Ü¥¿¥ó¤ò²¡¤·¤Æ²¼¤µ¤¤ -</h3>\n",
155    "<form action=\"$script\" method=\"POST\">\n",
156    "<input type=hidden name=mode value=send>\n",
157    "<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0 width='80%' BORDER=0><TR>",
158    "<TD BGCOLOR=\"$tbl_col1\">",
159    "<table border=0 cellspacing=1 cellpadding=5 width='100%'>",
160    "<tr bgcolor=\"$tbl_col1\"><th bgcolor=\"$tbl_col2\" width='30%'>¹àÌÜ</th>",
161    "<th bgcolor=\"$tbl_col2\" width='70%'>ÆâÍÆ</th></tr>\n";
162
163    foreach (@key) {
164        next if ($bef eq $_);
165#       $in{$_} =~ s/</&lt;/g;
166#       $in{$_} =~ s/>/&gt;/g;
167#       $in{$_} =~ s/"/&quot;/g;
168#       $in{$_} =~ s/&/&amp;/g;
169        $in{$_} =~ s/\0/ /g;
170        $in{$_} =~ s/\r\n/<br>/g;
171        $in{$_} =~ s/\r/<br>/g;
172        $in{$_} =~ s/\n/<br>/g;
173        if ($in{$_} =~ /<br>$/) {
174            while ($in{$_} =~ /<br>$/) { $in{$_} =~ s/<br>$//g; }
175        }
176        print "<tr><td bgcolor=\"$tbl_col2\"><b>$_</b></td>";
177        print "<td bgcolor=\"$tbl_col2\">$in{$_}\n";
178        print "<input type=hidden name=\"$_\" value=\"$in{$_}\"></td>\n";
179        $bef = $_;
180    }
181
182    print "</tr></table></TD></TR></TABLE>\n<P><table><tr><td>\n";
183    print "<input type=submit value='¤³¤ÎÆâÍÆ¤ÇÁ÷¿®¤¹¤ë'></form></td>\n";
184    print "<td><form><input type=button value='Á°²èÌ̤ËÌá¤ë' onClick='history.back()'></form></td></tr></table></div>\n";
185    print "<!-- $ver -->\n</body>\n</html>\n";
186    exit;
187}
188
189# »þ´Ö¡¦¥Û¥¹¥È¤ò¼èÆÀ
190&get_time;
191&get_host;
192
193# blatjÁ÷¿®
194if ($prog_type == 2) {
195
196    # °ì»þ¥Õ¥¡¥¤¥ë¤ò½ñ¤­½Ð¤·
197    $tempfile = "./$$\.tmp";
198    open(TMP,">$tempfile") || &error("Write Error : $tempfile");
199    print TMP "¡Ö$subject¡×¤è¤ê¥á¡¼¥ë¤Îȯ¿®¤¬¤¢¤ê¤Þ¤·¤¿.\n\n";
200    print TMP "Á÷¿®Æü»þ¡§$date\n";
201    print TMP "¥Ö¥é¥¦¥¶¡§$ENV{'HTTP_USER_AGENT'}\n";
202    print TMP "¥Û¥¹¥È̾¡§$host\n\n";
203    foreach (@key) {
204        next if ($_ eq "mode");
205        next if ($bef eq $_);
206#       $in{$_} =~ s/&lt;/</g;
207#       $in{$_} =~ s/&gt;/>/g;
208#       $in{$_} =~ s/&quot;/"/g;
209#       $in{$_} =~ s/&amp;/&/g;
210        $in{$_} =~ s/\0/ /g;
211        $in{$_} =~ s/&lt;br&gt;/\n/g;
212        $in{$_} =~ s/\.\n/\. \n/g;
213        if ($in{$_} =~ /\n/) { print TMP "$_ = \n\n$in{$_}\n"; }
214        else { print TMP "$_ = $in{$_}\n"; }
215        $bef = $_;
216    }
217    close(TMP);
218
219    # Á÷¿®½èÍý
220    open(MAIL,"| $mailprog $tempfile -t $mailto -s \"$subject\" -q")
221                    || &error("¥á¡¼¥ëÁ÷¿®¤Ë¼ºÇÔ¤·¤Þ¤·¤¿");
222    close(MAIL);
223
224    # °ì»þ¥Õ¥¡¥¤¥ëºï½ü
225    unlink($tempfile);
226}
227# sendmailÁ÷¿®
228else {
229    $mail_body .= "¡Ö$subject¡×¤è¤ê¥á¡¼¥ë¤Îȯ¿®¤¬¤¢¤ê¤Þ¤·¤¿.\n\n";
230    $mail_body .= "Á÷¿®Æü»þ¡§$date\n";
231    $mail_body .= "¥Ö¥é¥¦¥¶¡§$ENV{'HTTP_USER_AGENT'}\n";
232    $mail_body .= "¥Û¥¹¥È̾¡§$host\n\n";
233    foreach (@key) {
234        next if ($_ eq "mode");
235        next if ($bef eq $_);
236#       $in{$_} =~ s/&lt;/</g;
237#       $in{$_} =~ s/&gt;/>/g;
238#       $in{$_} =~ s/&quot;/\"/g;
239#       $in{$_} =~ s/&amp;/&/g;
240        $in{$_} =~ s/\0/ /g;
241        $in{$_} =~ s/&lt;br&gt;/\n/g;
242        $in{$_} =~ s/\.\n/\. \n/g;
243        if ($in{$_} =~ /\n/) {
244            $mail_body .= "$_ = \n\n$in{$_}\n";
245        } else {
246            $mail_body .= "$_ = $in{$_}\n";
247        }
248        $bef = $_;
249    }
250
251    # JIS¥³¡¼¥ÉÊÑ´¹
252        &jcode'convert(*mail_body,'jis');
253
254    # ¥á¡¼¥ë¥¢¥É¥ì¥¹¤¬¤Ê¤¤¾ì¹ç¤ÏÁ÷¿®Àè¤ËÃÖ¤­´¹¤¨
255    if ($in{'email'} eq "") { $email = $mailto; }
256    else { $email = $in{'email'}; }
257
258    # MIME¥¨¥ó¥³¡¼¥É
259    if (-e $mimer) {
260        require $mimer;
261        $subject2 = &mimeencode($subject);
262        if ($in{'name'}) {
263            $email = "\"$in{'name'}\" <$email>";
264            $email = &mimeencode($email);
265        }
266    } else {
267        $subject2 = $subject;
268        &jcode'convert(*subject2,'jis');
269    }
270    open(MAIL,"| $mailprog -t") || &error("¥á¡¼¥ëÁ÷¿®¤Ë¼ºÇÔ¤·¤Þ¤·¤¿");
271    print MAIL "To: $mailto\n";
272    print MAIL "From: $email\n";
273    print MAIL "Subject: $subject2\n";
274    print MAIL "MIME-Version: 1.0\n";
275    print MAIL "Content-type: text/plain; charset=ISO-2022-JP\n";
276    print MAIL "Content-Transfer-Encoding: 7bit\n";
277    print MAIL "X-Mailer: $ver\n\n";
278    print MAIL "$mail_body\n";
279    close(MAIL);
280}
281
282# ´°Î»¥á¥Ã¥»¡¼¥¸
283&header2;
284print <<"EOM";
285<br>
286<div align=center>
287<hr width=400>
288<P><big><b>¤¢¤ê¤¬¤È¤¦¤´¤¶¤¤¤Þ¤·¤¿.</b>
289<P><b>Á÷¿®¤ÏÀµ¾ï¤Ë´°Î»¤·¤Þ¤·¤¿.</b></big>
290<P><hr width=400>
291<form><input type=button value="¥È¥Ã¥×¤ËÌá¤ë" onClick=window.open("$back","_top")></form>
292</div><br><br><p align=right>
293<!-- Ãøºî¸¢É½\¼¨¡§ºï½ü²þÊÑÉÔ²Ä ($ver) -->
294<span style="font-size:11px;font-family:verdana">
295Copyright (C)
296<a href="http://www.kent-web.com/" target="_top" style="text-decoration:none">Kent Web</a>
2972002<br><b>$ver</b></span>
298<!-- Google Code for Purchase Conversion Page -->
299<script language="JavaScript" type="text/javascript">
300<!--
301var google_conversion_id = 1067004636;
302var google_conversion_language = "ja";
303var google_conversion_format = "1";
304var google_conversion_color = "FFFFFF";
305if (1) {
306  var google_conversion_value = 1;
307}
308var google_conversion_label = "Purchase";
309//-->
310</script>
311<script language="JavaScript" src="http://www.googleadservices.com/pagead/conversion.js">
312</script>
313<noscript>
314<img height=1 width=1 border=0 src="http://www.googleadservices.com/pagead/conversion/1067004636/?value=1&label=Purchase&script=0">
315</noscript>
316</body>
317</html>
318EOM
319exit;
320
321#----------------#
322#  ¥Ç¥³¡¼¥É½èÍý  #
323#----------------#
324sub decode {
325    local($key, $val, $buf, @in);
326    if ($ENV{'REQUEST_METHOD'} eq "POST") {
327        $postflag=1;
328        read(STDIN, $buf, $ENV{'CONTENT_LENGTH'});
329    } else {
330        $postflag=0;
331        $buf = $ENV{'QUERY_STRING'};
332    }
333    @in = split(/&/, $buf);
334    $flag=0; @key=();
335    foreach (@in) {
336        ($key, $val) = split(/=/);
337        $key =~ tr/+/ /;
338        $key =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
339        $val =~ tr/+/ /;
340        $val =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
341
342        &jcode'convert(*key, 'sjis');
343        &jcode'convert(*val, 'sjis');
344
345        # ¥¿¥°ÇÓ½ü
346        $key =~ s/&/&amp;/g;
347        $key =~ s/"/&quot;/g;
348        $key =~ s/</&lt;/g;
349        $key =~ s/>/&gt;/g;
350        $val =~ s/&/&amp;/g;
351        $val =~ s/"/&quot;/g;
352        $val =~ s/</&lt;/g;
353        $val =~ s/>/&gt;/g;
354
355        # ɬ¿Ü¹àÌÜ
356        if ($key =~ /^\_/) {
357            if ($val eq "") { $flag=1; $key2=$key; last; }
358        }
359        $key =~ s/^\_//;
360
361        $in{$key} .= "\0" if (defined($in{$key}));
362        $in{$key} .= $val;
363
364        push(@key,$key);
365    }
366}
367
368#--------------#
369#  HTML¥Ø¥Ã¥À  #
370#--------------#
371sub header {
372    $headflag=1;
373    print "Content-type: text/html\n\n";
374    print <<"EOM";
375<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
376<html lang="ja">
377<head>
378<META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=Shift_JIS">
379<title>$subject</title></head>
380$body
381EOM
382}
383
384#--------------#
385# HTML¥Ø¥Ã¥À2  #
386#--------------#
387sub header2 {
388    $headflag=1;
389    print "Content-type: text/html\n\n";
390    print <<"EOM";
391<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
392<html lang="ja">
393<head>
394<META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=Shift_JIS">
395<title>$subject</title>
396<SCRIPT LANGUAGE="JavaScript">
397<!-- Overture Services Inc. 07/15/2003
398var cc_tagVersion = "1.0";
399var cc_accountID = "1145090945";
400var cc_marketID =  "4";
401var cc_protocol="http";
402var cc_subdomain = "convctr";
403if(location.protocol == "https:")
404{
405    cc_protocol="https";
406     cc_subdomain="convctrs";
407}
408var cc_queryStr = "?" + "ver=" + cc_tagVersion + "&aID=" + cc_accountID + "&mkt=" + cc_marketID +"&ref=" + escape(document.referrer);
409var cc_imageUrl = cc_protocol + "://" + cc_subdomain + ".overture.com/images/cc/cc.gif" + cc_queryStr;
410var cc_imageObject = new Image();
411cc_imageObject.src = cc_imageUrl;
412// -->
413</SCRIPT>
414</head>
415$body
416EOM
417}
418
419#--------------#
420#  ¥¨¥é¡¼½èÍý  #
421#--------------#
422sub error {
423    unlink($tempfile) if (-e $tempfile);
424
425    &header if (!$headflag);
426    print <<"EOM";
427<div align="center"><h3>ERROR !</h3>
428<font color="red">$_[0]</font>
429<form><input type=button value="Á°²èÌ̤ˤâ¤É¤ë" onClick="history.back()">
430</form></div>
431</body>
432</html>
433EOM
434    exit;
435}
436
437sub error {
438    unlink($tempfile) if (-e $tempfile);
439
440    &header2 if (!$headflag);
441    print <<"EOM";
442<div align="center"><h3>ERROR !</h3>
443<font color="red">$_[0]</font>
444<form><input type=button value="Á°²èÌ̤ˤâ¤É¤ë" onClick="history.back()">
445</form></div>
446</body>
447</html>
448EOM
449    exit;
450}
451
452#--------------#
453#  »þ´Ö¤ò¼èÆÀ  #
454#--------------#
455sub get_time {
456    $ENV{'TZ'} = "JST-9";
457    local($min,$hour,$mday,$mon,$year,$wday) = (localtime(time))[1..6];
458    local(@week) = ('Sun','Mon','Tue','Wed','Thu','Fri','Sat');
459
460    # Æü»þ¤Î¥Õ¥©¡¼¥Þ¥Ã¥È
461    $date = sprintf("%04d/%02d/%02d(%s) %02d:%02d",
462            $year+1900,$mon+1,$mday,$week[$wday],$hour,$min);
463}
464
465#----------------#
466#  ¥Û¥¹¥È̾¼èÆÀ  #
467#----------------#
468sub get_host {
469    $host = $ENV{'REMOTE_HOST'};
470    $addr = $ENV{'REMOTE_ADDR'};
471
472    if ($host eq "" || $host eq $addr) {
473        $host = gethostbyaddr(pack("C4", split(/\./, $addr)), 2) || $addr;
474    }
475}
476
477#----------------#
478#  ¥Û¥¹¥È̾¼èÆÀ  #
479#----------------#
480sub check {
481    &header;
482    print "<h3>Check Mode</h3>\n<UL>\n";
483
484    # ÀßÄê¥Á¥§¥Ã¥¯
485    if ($postonly && POST ne "POST") {
486        print "<LI>$postonly=1;¤Î¾ì¹ç¤ÏPOST=\"POST\"¤È¤¹¤ë¤³¤È";
487    }
488
489    # ¥á¡¼¥ë¥½¥Õ¥È¥Á¥§¥Ã¥¯
490    print "<LI>¥á¡¼¥ë¥½\¥Õ¥È¥Ñ¥¹¡§";
491    if (-e $mailprog) { print "OK\n"; }
492    else { print "NG ¢ª $mailprog\n"; }
493
494    # jcode.pl ¥Ð¡¼¥¸¥ç¥ó¥Á¥§¥Ã¥¯
495    print "<LI>jcode.pl¥Ð¡¼¥¸¥ç¥ó¥Á¥§¥Ã¥¯¡§";
496    $flag=0;
497    open(IN, $jcode);
498    while (<IN>) {
499        if ($_ =~ /jcode\.pl\,v (\d)\.(\d+)/) {
500            $v1=$1; $v2=$2; $flag=1; last;
501        }
502    }
503    close(IN);
504    if ($v1 < 2 || $v2 < 13) {
505        print "¥Ð¡¼¥¸¥ç¥ó¤¬Ä㤤¤è¤¦¤Ç¤¹¡£¢ª $v1.$v2\n";
506    } else {
507        print "¥Ð¡¼¥¸¥ç¥óOK (v $v1.$v2)\n";
508    }
509
510    print "</UL>\n<body></html>\n";
511    exit;
512}
513
514__END__
515
Note: See TracBrowser for help on using the repository browser.