CGI-BBS > サーバ > メールサーバ > Win2000でメールサーバ


カレッヂ
カレッヂ


質問者 マサキ  投稿日 4/24(火) 13:46:02
ここのHPにあるフォームメールが使いたくてメールサーバを設置しようと思っているのですが
Win2000で動作するsendmailはあるのですか?(フリーソフト??)
回答者 まさ  [削除]  投稿日 4/24(火) 16:06:42
HTTPdは何をお使いでしょうか?
IISですか?
それともApacheですか?
またPerlは何を使っているのでしょうか?

ちなみにSendmailのWin32用って言うのはないと思います。
しかしWin2000からでもメールを送ることは可能です。

わたしは
Win95 + Apache1.3.12 + ActivePerl Build522
の環境でCGIを使ってメールを送っています。
これはそのままWin2000の環境でも使えます。
どうするのかと言えば、Net::SMTPと言うモジュールを使います。

--------------------------------------
#!/usr/local/bin/perl

use Net::SMTP;

# オブジェクトの作成
$smtp = Net::SMTP->new('xxx.xxx.ne.jp'); #SMTPサーバ

# ヘッダ部の組み立て
$smtp->mail('xxx@xxx.or.jp'); #送信元の指定
$smtp->to('xxx@xxx.ne.jp'); #宛先の指定

# データ部の組み立て
$smtp->data();
#$smtp->datasend("From:Me\n"); #送信元
#$smtp->datasend("To:You\n"); #宛先(データ部)

$smtp->datasend("Subject:メール\n"); #件名
$smtp->datasend("メールテスト\n"); #本文

# データの終わり、メール送信
$smtp->dataend();

# SMTP接続の終了
$smtp->quit;

print "Content-type: text/html\n\n";
print "正常送信\n";
exit;
------------------------------------------------
ソースはこんな感じです。

注意する点は文字コードをEUCにすることです。S-JISのままだとメール件名、メール本文
が文字化けします。

あとはSendmail用に書かれてあるソースを適当にこのスクリプトを見ながら書き換えてい
けば動きます。

質問者 マサキ  [削除]  投稿日 4/24(火) 20:58:58
「まさ」さん返答ありがとうございます
使用している環境はWin2k + AN HTTP Server 1.32f + ActivePerl 5.6.0.623です
「Net::SMTP」と言うモジュールは、なんでしょうか?
Win2kには、最初から入っているのでしょうか?
回答者 まさ  [削除]  投稿日 4/25(水) 07:32:59
Net::SMTPはlibnetと言うモジュールの中に入っています。
ActivePerlにはPPMと言うインストーラーが付いているので、それでインストールをします。

libnetは
http://www.activestate.com/PPMPackages/zips/5xx-builds-only/
ここからlibnet.zipをダウンロードし、解凍します。readmeにPPMでのインストールの仕方が
書いています。

またPPMの使い方は
http://member.nifty.ne.jp/hippo2000/perltips/ppm.htm
を見てください。

インストールが終わればその時点でNet::SMTPが使えます。

返信(回答)する


Web裏技