No.817 投稿時間:2001年12月25日(Tue) 19:31 投稿者名:鷹の巣 URL:http://sakaguch.com/
ArGosoftメールサーバーをsendmail wrapperとして使用するには(フォームメイルが送れない)
のレスが長くなり、読みにくくなりましたので、新しい表題にしました。
SHINYAさん、水斧さんに教えて頂いた設定方法をまとめ、「鷹の巣」が内容の検証を
行った結果をまとめました。
環境として、
Webサーバーは、AN HTTPd Ver.1.36b
Perl は、ActivePerl 5.6.1.628 又は、ActivePerl 5.6.1.630
メールサーバーは、ArGosoft Mail Server Freeware version 1.7.0.3
を使用して、Webからメール(2種類)を送信します。
CGI関係は、
sendmail wrapper は、「にゃぁぁぁぁぁぁぁ?」http://wan.magical.gr.jp/txt/winsendmail.htm
メールフォーム1は、WebMailer[Ver 4.02] base64対応版 CGIROOM. http://cgiroom.nu
メールフォーム2は、PostMail v1.61(2001/09/22) kent-web(1ヶ所だけ簡単な改造が必要)http://www.kent-web.com/
を使用します。
この説明では、各ファイルの入っているフォルダを以下の様にしております。
D:/Perl/bin/Perl.exe <---------------------------cgi実行ファイル
D:/WWW/public_html/wmail/wmail.cgi <-------------WebMailer (Webフォーム1)
D:/WWW/public_html/postmail/postmail.cgi <-------PostMail (Webフォーム2)
D:/WWW/public_html/sendmail/sendmail.cgi <-------sendmail.pl for ActivePerl 5.6.1.628(sendmail wrapperとして動作)
設定の要点は、WebMailer の wmail.cgi の変数 $send と PostMail の postmail.cgi の変数 $mailprog の記述方法にあります。
1.cgiファイルがperl.exeに関連付けされていて、相対パス指定では、メール送信出来ません。
(メールサーバーのログにも記録されません。)
$send = '../sendmail/sendmail.cgi'; <-----------wmail.cgi
$mailprog = '../sendmail/sendmail.cgi'; <-------postmail.cgi
2.cgiファイルがperl.exeに関連付けされていて、絶対パス指定では、メール送信出来ますが、subject と body が空です。
$send = 'D:/WWW/public_html/sendmail/sendmail.cgi'; <-----------wmail.cgi
$mailprog = 'D:/WWW/public_html/sendmail/sendmail.cgi'; <-------postmail.cgi
3.cgiファイルがperl.exeに関連付けされていても関連付けされていなくても
以下の様にperlのコマンドラインにsendmail.cgiを絶対パスで指定すれば、正常にメール送信出来ます。
$send = 'D:/Perl/bin/Perl.exe D:/WWW\public_html/sendmail/sendmail.cgi';
$mailprog = 'D:/Perl/bin/Perl.exe D:/WWW/public_html/sendmail/sendmail.cgi';
ここでwindows の自宅サーバーの場合は、'/'の代わりに'\'を使用することが出来ます。
例) $send = 'D:\Perl\bin\Perl.exe D:\WWW\public_html\sendmail\sendmail.cgi';
4. PostMail v1.61 (2001/09/22)の postmail.cgi の改造箇所は、
以下のunless行の先頭に # を追加してコメント行にするだけです。
# メールプログラムのパスチェック/種類チェック
#unless (-e $mailprog) { &error("メールプログラムのパスが不正です"); }
SHINYAさんの色々なページのフォームCGIを使った例です。(一様、送信可能)
http://adsl-net.ath.cx/~sendmail/kent/
http://adsl-net.ath.cx/~sendmail/room/
http://adsl-net.ath.cx/~sendmail/trythe/
http://adsl-net.ath.cx/~sendmail/easy/
↑上のはすべてSHINYAさんのHotmailアカウントに届くようになっています。もし送信されても大丈夫ですので。
「鷹の巣」のフォームCGIを使った例です。(一様、送信可能)
http://sakaguch.com/cgi/WebMail/wmail/wmail.cgi
http://sakaguch.com/cgi/WebMail/postmail/postmail.html
↑上のはすべて「鷹の巣」のゴミ箱行きメールアカウントに届くようになっています。送信されても大丈夫です。
No.818 投稿時間:2001年12月25日(Tue) 19:32 投稿者名:鷹の巣 URL:http://sakaguch.com/
#===========================================================================================================
# sendmail.pl for ActivePerl 5.6.1.628(5.6.1.630でも動作確認) 書式 : perl sendmail.pl [-itfr] [address]
# sendmail.cgiの設定 配布元: http://wan.magical.gr.jp
#-----------------------------------------------------------------------------------------------------------
# 設定
#◇SMTPサーバ
#$smtp = "example.com";でも可
$smtp = "127.0.0.1"; <-----------------------------------------メールサーバーとWebサーバーが同一マシンです。
#◇標準 FORM アドレス
# $from = 'メールアドレス@SMTPメールサーバ.com';
$from = 'webmaster@example.com'; <----------------------------メールサーバーのメールアドレスを設定します。
#◇ エラーログの作成(sendmail.log)
$logs = 1 ;
#◇ タイムアウト秒数 (デフォルト推奨)
$timeout = 20;
#◇ アラームファイル (デフォルト推奨)
$alarm =".alarmpid";
#======================================================================#
#◇POP before SMTPを使用する yes=1 no=0
# $pop_before_smtp = 0;
$pop_before_smtp = 1; <------------------------------------メールサーバーのpop_before_smtpを使用しました。
#◇ POP3サーバアドレス
# $pop3 = "202.248.37.133";
$pop3 = "127.0.0.1"; <---------------------------------------メールサーバーとWebサーバーが同一マシンです。
#◇POP3接続用 USER-ID/PASSWORD
# $user = 'USER ID';
$user = 'webmaster'; <--------------------------------------------メールサーバーのユーザー名を設定します。
# $pass = 'PASSWORD';
$pass = 'PASSWORD'; <---------------------------------------------メールサーバーのパスワードを設定します。
#◇設定ここまで
No.819 投稿時間:2001年12月25日(Tue) 19:36 投稿者名:鷹の巣 URL:http://sakaguch.com/
#===========================================================================================================
# WebMailer[Ver 4.02] base64対応版 の wmail.cgiの設定 CGIROOM. http://cgiroom.nu
#-----------------------------------------------------------------------------------------------------------
# 設定
#◇ jcode.pl までのパス
require './jcode.pl';
#◇ 送信先メールアドレス
$mailto = 'webmaster@example.com'; <---------------------------メールサーバーのメールアドレスを設定すること
#◇ メールの題名の先頭に付ける固定文字(MLの識別文字列の事)
$subject ='WebMail'; <-------------------------用途に応じて好きな名前に変更すること(動作テストには無関係)
#◇ sendmailまでのパス
#$send = 'usr/lib/sendmail';
#---------------------------------------------------------------cgiファイルがperl.exeに関連付けされていても
#$send = '../sendmail/sendmail.cgi'; <-------------------NG
#$send = 'D:/WWW/public_html/sendmail/sendmail.cgi'; <---NG
#---------------------------------------------------------------では、送信できません。
#----------------------------------------以下の様にperlのコマンドラインにsendmail.cgiを絶対パスで指定します。
$send = 'D:/Perl/bin/Perl.exe D:/WWW/public_html/sendmail/sendmail.cgi'; <----OK-------絶対パスで指定します。
#◇ 送信後に表示するHTMLファイル
$OK = './ok.htm';
#◇ カウントファイル
$COUNT = "./count.txt";
#◇ ロックファイル
$LOCK = "./lock.txt";
#◇ メールフォームファイル
$MAIL = "./mail.htm";
#◇ チェックファイル
$CHECK="./check.htm";
#◇ メールテンプレート
$BODY = "./mail.txt";
No.820 投稿時間:2001年12月25日(Tue) 19:37 投稿者名:鷹の巣 URL:http://sakaguch.com/
#===========================================================================================================
# PostMail v1.61 (2001/09/22)の postmail.cgi の設定(1ヶ所だけ簡単な改造が必要)http://www.kent-web.com/
#-----------------------------------------------------------------------------------------------------------
#------------#
# 基本設定 #
#------------#
# コード変換ライブラリ取り込み
require './jcode.pl';
# MIMEエンコードライブラリを使う場合(推奨)
# → メールヘッダの全角文字をBASE64変換する機能
# → mimew.plを指定
$mimer = './mimew.pl';
# メールソフトまでのパス
# → sendmailの例 :/usr/lib/sendmail
# → blatjの例 :c:\www\mail\blatj.exe
# $mailprog = '/usr/lib/sendmail';
#---------------------------------------------------------------cgiファイルがperl.exeに関連付けされていても
#$mailprog = '../sendmail/sendmail.cgi'; <-------------------NG
#$mailprog = 'D:/WWW/public_html/sendmail/sendmail.cgi'; <---NG
#---------------------------------------------------------------では、送信できません。
#----------------------------------------以下の様にperlのコマンドラインにsendmail.cgiを絶対パスで指定します。
$mailprog = 'D:/Perl/bin/Perl.exe D:/WWW/public_html/sendmail/sendmail.cgi'; <----OK---絶対パスで指定します。
# 送信先メールアドレス
$mailto = 'webmaster@example.com'; <---------------------------メールサーバーのメールアドレスを設定すること
# 送信前確認
# 0 : no
# 1 : yes
$preview = 1;
# メールタイトル
$subject = "フォームメール"; <-----------------用途に応じて好きな名前に変更すること(動作テストには無関係)
# スクリプト名
$script = './postmail.cgi';
# 送信後の戻り先
$back = '../index.html'; <---------------------------------------------設定します。(動作テストには無関係)
# method形式 (POST or GET)
$method = 'POST';
# 送信は method=POST 限定 (0=no 1=yes)
# → セキュリティ対策
$meth_post = 1;
# bodyタグ
$body = '<body bgcolor="#F1F1F1" text="#000000" link="#000FF" vlink="#800080">';
# プレビュー画面の枠の色
$tbl_col1 = "#8080C0";
# プレビュー画面の下地の色
$tbl_col2 = "#FFFFFF";
#------------#
# 設定完了 #
#------------#
#-----------------------------------------------------------------------------------------------------------
# PostMail v1.61 (2001/09/22)の postmail.cgi の改造箇所 http://www.kent-web.com/
#-----------------------------------------------------------------------------------------------------------
以下のunless行の先頭に # を追加してコメント行とすること。
# メールプログラムのパスチェック/種類チェック
#unless (-e $mailprog) { &error("メールプログラムのパスが不正です"); }
No.862 投稿時間:2001年12月29日(Sat) 21:32 投稿者名:鷹の巣 URL:http://sakaguch.com/
下記のSHINYAさんのところで、Webフォームメールの詳細な解説ページが誕生しました。
ご興味がございましたら、是非ご訪問をお願いします。
トップページ
http://fletsip.2y.net/
sendmail.cgi等の設定例ページ
http://fletsip.2y.net/sendmail/