このページは福井県立大学の田中求之が2006年1月まで運用していた Mac のサーバ運用に関する会議室 「Web Scripter's Meeting」の記録です。情報が古くなっている可能性がありますのでご注意ください。

UVJ Mailer2.01でフォームからの投稿に対して、2通メールがきます。

発言者:Masaki Ishitani
( Date Tuesday, December 12, 2000 00:47:35 )


いつもお世話になっています。

きのうまで、実に快調にUVJ Mailer2.01を使っていたのですが、
さきほどから、なぜかフォームからの投稿に対して、2通メールが
来るようになってしまいました。

どこもフォームに関するところはいじった記憶がないのですが、
UVJ Mailer2.01側で何かこういったことが起きるような設定は
ありますでしょうか?

たぶんないですよね。

フォームでどういった余計なことをしているとこういうことって
起きやすいのでしょうか?

ご意見お願いします。


Masaki Ishitani さんからのコメント
( Tuesday, December 12, 2000 02:08:03 )

追記です。
一応の確認です。

UVJ Mailer2.01でフォームメールの処理をしている場合、
フォームのある特定の部分のみを必須項目に入力がない場合に、
例えば「メールアドレスが記入されていません!」などの
アラートの画面を表示させることはできませんよね?

UVJ Mailer2.01をとても使い易いですし、快適に使っていたのですが、
こういった処理をさせるには、なにか別のcgiを検討する必要がありますよね。

その場合に、おすすめのもの(導入が簡単なもの)は
ありますでしょうか。

いつも質問ばかりですが、よろしくお願いします。





今井真人 さんからのコメント
( Tuesday, December 12, 2000 07:18:10 )

>フォームのある特定の部分のみを必須項目に入力がない場合に、
>例えば「メールアドレスが記入されていません!」などの
>アラートの画面を表示させることはできませんよね?

この手の処理は、JavaScriptを使ってページに埋め込みます。

田中求之 さんからのコメント
( Tuesday, December 12, 2000 13:51:53 )

まったく同じ内容のメールですか(たとえば発信の日付なども)? また、
Bcc や Cc のアドレスが重複しているというようなことはないですか?

2通送るようになりそうな処理はしてないんですが…??


>例えば「メールアドレスが記入されていません!」などの
>アラートの画面を表示させることはできませんよね?

記入内容のチェックを行う CGI をご自分で作るか、今井さんのコメントに
あるように、 JavaScript を使ってブラウザ側でチェックを行うようにする
必要がありますね。

田中求之 さんからのコメント
( Tuesday, December 12, 2000 17:04:31 )

UVJ Mailer がどのようにして2通を送りだしているのか、確認できますか?
たとえば Transaction Log を記録してもらうようにして動かし、ログに2通
分の記録が残るかどうかを確認してもらえますか?

今の状態であれば、どこに問題があるのか(もしかしたら、サーバから UVJ
Mailer へ渡される AppleEvent の発行の仕方に問題があるのかもしれないし)
きっちり識別できないので、なんともいえないんですよ。

それと、他に同じような症状が出ている方、いらっしゃいますか?

UVJ Mailer は、ちかいうちに、2.1 のベータを出すつもりです(ちょっと
した変身を遂げる予定 …くわしいことはまだ言えませんが)。その時まで
に現在の 2.02 の問題点は潰しておきたいんですよね。ですので、もし CGI
処理機能に根本的なミスなど無いか、私の方でも再チェックは行いますが、
原因がはっきりしないと、見当がつかないんですよね。

Masaki Ishitani さんからのコメント
( Wednesday, December 13, 2000 18:22:17 )

みなさんありがとうございます。
>この手の処理は、JavaScriptを使ってページに埋め込みます。
教えてくださーい!

田中先生へ
UVJ Mailerが吐き出したメールを複数の人間で見ています。
同じアカウントに複数の人間がアクセスしています。
それで、わたしとは別の人間がアクセスしている環境では、
ちゃんと1通しかこないとのことです。

そうすると、UVJ Mailerの問題ではないですよね?
どうでしょうか?


木本豪 さんからのコメント
( Wednesday, December 13, 2000 20:13:55 )

2通いくのは、ダブルクリックしているからではないですか?

Junnama さんからのコメント
( Thursday, December 14, 2000 00:06:08 )

>2通いくのは、ダブルクリックしているからではないですか?

これは、あるかもしれませんね。私も思い当たるふしがあります。


>例えば「メールアドレスが記入されていません!」などの
>アラートの画面を表示させることはできませんよね?


わりと良く使われるパターンなので、参考になるページは色々あると思います。
AppleScriptでcgiを書いている人なら、そんなに難しくはないですよ。

クライアントで出来ることはクライアントでやらせることで、サーバーの負荷
を少しでも下げるというのは(特に非力なマシンで運用している際には)、結
構重要なことかもしれません。

↓空白の場合、デフォルトのままの場合、[@]が無い場合にアラートを表示


--------------------ヘッダ部分--------------------
<script language="JavaScript">
<!--//
function checkInput (theForm){
 if (theForm.umane.value == "" ){
   alert ("E-Mailアドレスを入力してよ!");
   return false;
 }
 if (theForm.umane.value == "E-Mailアドレス" ){
   alert ("E-Mailアドレスを入力してよ!");
   return false;
 }
 var eMail = theForm.umane.value
 if (eMail.indexOf('@')==-1){
   alert ("E-Mailアドレスが正しくないよ!");
   return false;
 }
   return true
 }
//-->
</script>


---------------------ボディの中--------------------
<form name="enterCheck" method="post"
 action="/cgi-bin/***.acgi" onSubmit="return checkInput ( this ) " >
<input type="text" name="umane" size="20" value="E-Mailアドレス">
<input type="submit" value="登録">
</form>