メール送信フォームでメールが返ってこないんですけど...

[上に] [前に] [次に]
tera.txt [E-Mail] 2000/04/04(火) 15:15:47
いつも御世話になっております。

先日から取りかかっているHPでアンケートを実施したく、
cmailにて送信フォーム作ったはいいんですけど、
出したメールがこないのです。
プロンプトからはちゃんと送られてきました。なんででしょう?

ちなみにcgiスクリプトはとほほさんのcgiメール送信フォームを
jcode.plとmimew.plのアドレスをC:\〜指定しただけで、
あとは変えていません。

ご存知の方いらしたら、よろしくご教授ください。

H&A 2000/04/04(火) 15:25:59
# 先日の cmail 設定の件は解決されたのですね。おめでとうございます。

> ちなみにcgiスクリプトはとほほさんのcgiメール送信フォームを

というのは、http://www.tohoho-web.com/cgi-bin/wwwmail.txt にある "wwwmail.cgi" ですよね?
wwwmail.cgi では sendmail を使用してメール送信するような構造になっているのですが、sendmail はインストールしておられるのでしょうか?

なお、メール送信を cmail で行うためにはソースコードを数箇所改造する必要があります。

tera.txt [E-Mail] 2000/04/04(火) 16:46:28
またまたH&Aさん、御世話になります。

えっとwwwmail.cgiはそのデータです。
ご存知のとおり使っているサーバがNT4.0/IIS3.0なのでsendmailは
インストールしていません。そこでcmailを使うことにしました。

それでソースをいろいろ改造してみたのですが、
日本語がデコードされてないはメールは送信されないはで、
てんやわんやになったのでデフォルトに戻して最初からやり直している
ところです。で改造したのがcmail、jcode、mimeのパスだけです。

一応送信ボタンを押すと「送信されました」画面になるのですが、
いっこうに指定したアドレスにメールが来ません。
前述のようにコマンドラインからはメールは来てますし、
とほほさんのご用意された自己チェック機能では正常に動いています。

それで改造する部分っていうのは"#sendmail"の部分をすべて"#cmail"にすればいいんでしょうか?それとも他にあるのでしょうか?

今回もよろしくご教授お願いします。

H&A 2000/04/04(火) 17:03:55
> 一応送信ボタンを押すと「送信されました」画面になるのですが、
> いっこうに指定したアドレスにメールが来ません。
> 前述のようにコマンドラインからはメールは来てますし、
> とほほさんのご用意された自己チェック機能では正常に動いています。

wwwmail.cgi は、
  ・CGI の起動が可能かどうか
  ・sendmail が存在しているかどうか
  ・jcode.pl が存在しているかどうか
  ・mimew.pl が存在しているかどうか
のみチェックします。メール送信時には「sendmail との間でパイプをオープンできるか」「オープンしたパイプにデータを出力できるか」をチェックしていますが、sendmail が正常動作しているかどうかはチェックしていません(できません)。
ですので、自己診断機能やコマンドラインからの実行で正常でもうまくいかないこともあります。

> それで改造する部分っていうのは"#sendmail"の部分をすべて"#cmail"にすればいいんでしょうか?それとも他にあるのでしょうか?

ほかにも結構あります…
wwwmail.cgi では、

From: foo@bar.com
To: someone@somewhere.com
Subject: MAIL FROM WWWMAIL

(本文)

のようなメッセージを用意し、sendmail を「受信者をメッセージから読み取る」オプション (-t) をつけて実行しています。これにより、sendmail はメッセージ中の "To: someone@somewhere.com" を使用してメール送信を行います。
しかし、cmail では送信先などはコマンドラインオプションで指定するようになっています。
このため、"From:" "To:" "Subject:" を指定している部分をすべて変更する必要が出てきます。

Perl の練習としてはいいサンプルだと思うので、チャレンジされてみるのはどうでしょうか。
改造にあたって不明な点などありましたら、またご質問ください。

tera.txt [E-Mail] 2000/04/04(火) 17:22:11
H&Aさん、ありがとうございます。
いま実はPerlの教科書がない(会社に存在しない)ので、
おねだりして明日買ってきます(笑)。ぜひチャレンジしようと思います。

それで、とりあえずお聞きしたいのは、
ひとまず"sendmail"の部分はすべて"cmail"に置きかえるのでしょうか?ひとまずここだけ教えてください。
よろしくお願いします。

H&A 2000/04/04(火) 17:28:45
> いま実はPerlの教科書がない(会社に存在しない)ので、
> おねだりして明日買ってきます(笑)。ぜひチャレンジしようと思います。

がんばってください。応援しています。
とりあえず、ざっとソースを見た限りではメールヘッダ作成部分 (145〜154 行目) と送信部分 (176 行目) を変更すればいいような気がします。場合によっては、文字コードを変換している部分も変えなければならないかもしれません。

> ひとまず"sendmail"の部分はすべて"cmail"に置きかえるのでしょうか?

wwwmail.cgi 37 行目の

> $sendmail = '/usr/lib/sendmail';

だけ書き換えれば、後は大丈夫だと思います。

松下 2000/04/05(水) 14:08:45
# ★ メール送信コマンド
$sendmail = 'e:\bin\cmail.exe';


送信処理のところです
open(OUT, "| $sendmail -t $mailad -s $subject -n")||die("メールの送信に失敗しました。");
print OUT "$mailbody";
close(OUT);

$mailadは送信者のメールアドレスです。

H&A 2000/04/05(水) 14:20:07
cmail はメールアドレス中のコメント等を処理しませんし、また内部で Shift JIS から ISO-2022-JP へ強制的にコード変換しているようですので、そのあたりも考慮する必要があるかもしれませんね。

サムソン 2000/04/05(水) 16:45:52
前に送ったファイル動かしてみましたか?
ソース内のアドレスを変えてnewadress.htmlを
開けば使えると思うのですが。
(ファイルは全部同じフォルダに入れて下さい)

私信みたいですいません。

[上に] [前に] [次に]