ZENNOコム Logo
 Welcome
 リストマーク フリーメール  リストマーク 100円メール  リストマーク Webメール  リストマーク  初心者マーク 使い方 初心者マーク  リストマーク サポート
 リストマーク PukiWiki  リストマーク WebMail(Beta)  リストマーク リンク  リストマーク ダイナミックDNS  リストマーク ログイン

freeアイコン  フリーメール・サポート掲示板


 新規投稿 | ツリー | スレッド | タイトル | 一覧 | 検索 | ログ | 設定 

No.272に関するツリー
-フォームメールでの利用 [yuka] (03/12 01:22)
 ├Re:フォームメールでの利用 [ぜんの] (03/12 00:38)
 └Re:フォームメールでの利用 [yuka] (03/12 01:32)
  └Re[2]:フォームメールでの利用 [ぜんの] (03/12 21:57)
   └Re[3]:フォームメールでの利用 [yuka] (03/13 00:18)
    ├Re[4]:フォームメールでの利用 [ぜんの] (03/13 12:03)
    └Re[4]:フォームメールでの利用 [tico] (03/13 10:18)
     └改造方法 [ぜんの] (03/13 13:29)
      └Re:改造方法 [yuka] (03/13 16:52)
       └Re[2]:改造方法 [ぜんの] (03/13 17:03)
        └解決しました [yuka] (03/15 01:31)

[272] フォームメールでの利用
Name: yuka
Date: 03/12 01:22
初めまして。こちらのフリーメールを使用させて頂いています。
どうもありがとうございます。

実はサイトにメールフォームを設置して、CGIを経由してメール受信するようにしていたのですが、気が付けばそれが機能しなくなっていました。
スパムメールの都合で、sendmail経由は全て削除しているということでしょうか?
通常のメールでは以前のように受信出来ます。
フォームメールも問題ないようで、転送先を他のアドレスにすれば届きます。

他に要因がある、又は対処法があるようでしたら、御教授お願いします。

返信する


[279] Re:フォームメールでの利用
Name: ぜんの (HOME)
Date: 03/12 00:38
spam対策でブロックされているかと思います
正常に届いていたときのメールヘッダーを含む
全文を見せて下さい、原因を調べます。

返信する


[281] Re:フォームメールでの利用
Name: yuka
Date: 03/12 01:32
返信ありがとうございました。
ヘッダ含む内容を・・・ということなので、メールフォームより内容を送信させていただきました。

それから、不要な報告かもしれませんが、XREAというサーバー(メールフォーム)でも試した処、こちらは問題なく届きました。
当然のようにこの掲示板でも
[□レスが付けば上記のEmailアドレスにメールで知らせる]
機能で無事に届きました。

どうやら私の借りているサーバーが例外サーバーだったようで・・・。
ご面倒をお掛けします。

返信する


[290] Re[2]:フォームメールでの利用
Name: ぜんの (HOME)
Date: 03/12 21:57
メールにて回答いたします。

返信する


[295] Re[3]:フォームメールでの利用
Name: yuka
Date: 03/13 00:18
こんばんは。お世話になっております。
フォームメール問題のyukaです。

実はメールの仕組み(プログラム)を理解していないので、
善野様の回答内容も理解出来ませんでした。
折角教えていただいたのにすみません。

> SENDERアドレスを指定出来ていない

この段階で既に理解不能でした。
取り敢えず

> From:nomail@xxx.xxx で送信しているつもりでしょうが
> サーバーに対してはMAIL FROMを名乗っていないのWebサーバーが
> 既定のnobody@ns.i-paradise2.jpをつけて送信してくる

ということで、CGIプロブラムの

# メールアドレスがない場合はダミーに置き換え
if ($in{'email'} eq "") { $email = 'nomail@xxx.xxx'; }
else { $email = $in{'email'}; }

の部分のnomail@xxx.xxxを使用出来るメールアドレスに
書き換えたりもしたのですが、結果は同じく届きませんでした。

> CGIプログラムを見直すなど

の、言葉から、「サーバーに非常に迷惑な状態」とのことで恐縮ですが、
KENT WEB さんのフォームメールを利用していたので、
他のCGI
CGI RESCUE http://www.rescue.ne.jp/ (フォームメールCGI)
GNB http://www.gnbnet.com/ (フォームメールCGI)
CGIリンク集管理システム T-BookmarkPlus

も試させて頂きましたが不可能でした。

私の出来る範囲では
「nobody@ns.i-paradise2.jp」
から逃れることは出来ないようです。

sendmailでの利用は諦めることにします。
どうもありがとうございました。

返信する


[298] Re[4]:フォームメールでの利用
Name: ぜんの (HOME)
Date: 03/13 12:03
サーバーに負担がかかるのは
そのメールの受け取り先つまり、こちらで発行の
yukaさんのフリーメールが容量オーバーなどで
受け取れない場合に(共用サーバーでしょうから他のユーザーのせいかも知れません。)nobody@ns.i-paradise2.jpとの間で
エラーメールのピンポンになるのが問題なのです。
たとえMAIL FROMがnobody@ns.i-paradise2.jpなどでも
大量のエラーメールがピンポンしたりしなければ
拒否対象になったりしなかったのです。
具体的なWebサーバーの環境と使用するCGIのダウンロードURLをメールで結構ですから教えていただけば。
プログラムの修正方法を考えて見ます。
一般に公開されているフリーCGIなどではどんな
Webサーバーの環境下でもある程度正常に動くように、
精密なオプションの指定をわざとしないようにしているの
かも知れませんし、またはメールの送信について詳細な部分まで気になされていないのかもしれません。

返信する


[299] Re[4]:フォームメールでの利用
Name: tico
Date: 03/13 10:18
私はCGIがわからないので、メールソフトを使って送られるフォームメールを使ってます。ブラウザによって送られない場合もありますが、そういう注意書きは書き添えています。趣味のサイトなので、これであまり問題ないです。メールアドレスはぜんのさんとこのフリーアドレスを使っていますよ。

あとはレンタルCGIではなくてレンタルフォームというのもありますがそれでもだめなんでしょうか?

返信する


[306] 改造方法
Name: ぜんの (HOME)
Date: 03/13 13:29
気になったので
少し時間を割いてCGIのソースをみて実験してみました

そういえば昔私も自作のメール送信プログラムを作るときに
他のメールフォームを真似ると自動返信したメールが
Yahooメールなどで迷惑メールとして振り分けられる問題が
あってそのときに調べたのを思い出しました。

open(OUT,"| $sendmail -t)
となっている部分を
open(OUT,"| $sendmail -t -f$return")
と -f オプションでFROMアドレスを指定すれば大丈夫です。

どんな環境でも使えるかどうかはわかりませんが
普通は大丈夫なはずです。

そんなこと言われてもどこをいじるんだか、わかんなーいと言われるでしょうから
で大サービスでこう変更するんだよと言う見本を下記に。
(CGIの作者様が改造する事を許可されているかは調べてませんので注意)

実際に (c)rescue.ne.jp 様の
http://www.rescue.ne.jp/cgi/webform/
WebFORM v4.0 is Free. (SJIS仕様) を
変更すると仮定すれば。。。

-------------------------------------------------------
21行目 #■受信先メールアドレス
22行目 $mailto = '送信先Eメールアドレス';
23行目
24行目 #■名称
-------------------------------------------------------

の部分を

-------------------------------------------------------
21行目 #■受信先メールアドレス
22行目 $mailto = '送信先Eメールアドレス';
23行目
24行目 #■エラーの戻り先(エンベローブFROMアドレス)
25行目 $return = '送信先Eメールアドレス以外の実在アドレス';
26行目
27行目 #■名称
-------------------------------------------------------

と変更します
また

-------------------------------------------------------
157行目 sub sendmail {
158行目
159行目 if (!(open(OUT,"| $sendmail -t"))) { &error('システ//---行末まで省略(本当はある)
160行目
161行目 print OUT "X-Mailer: WebFORM v4.0 by www.rescue.ne.jp\n";
162行目 print OUT "X-HTTP_REFERER: $ref\n";
163行目 print OUT "Errors-To: $mailto\n";
-------------------------------------------------------



-------------------------------------------------------
160行目 sub sendmail {
161行目
162行目 if (!(open(OUT,"| $sendmail -t -f$return"))) { &error('システ//---行末まで省略(本当はある)
163行目
164行目 print OUT "X-Mailer: WebFORM v4.0 by www.rescue.ne.jp\n";
165行目 print OUT "X-HTTP_REFERER: $ref\n";
166行目 print OUT "Errors-To: $return\n";
-------------------------------------------------------

と変更すれば問題ないことをテストしました。

sendmail に -f オプションが使用可能かは Webサーバーの管理者に聞いてください。
CGIの改造が許可されている範囲かは作者に聞いてください。

返信する


[309] Re:改造方法
Name: yuka
Date: 03/13 16:52
善野さま、CGIの改造方法まで!!!
びっくりしました。ありがとうございます。
そこまでして頂いていいのかと・・・本当に恐縮です。

Webサーバー
i-パラダイス http://www.i-paradise.nu/pc/
こちらの第二サーバーを使用させてもらっています。

使用するCGI
KENT WEB http://www.kent-web.com/
「データ収集加工」にある、「PostMail」というフォームメールです。

私のサイトアドレスや、現行利用しているCGIでしたらすみません。
その場合は改めてメールにて送ります。

CGIの改造ですが、上記を参考にやってみた処、メールのReturn-Path: が書き換えられて届くようになりました。
webサーバーもとに問い合わせる前にCGI改造したので、あまり誉めれたものでないのですが・・・。
(KENT WEBさんは改造自由・改変不可部分は書いてある・なので、問題ないです)
あ、すみません。ここまで書いてから、漸く己の利用しているCGIのバージョンが古いことを思い出しました。(Ver:1.71)
現在はVer: 3.11です。
Ver: 3.11も -f は付け加えられていませんでしたが・・・。

ticoさんレスありがとうございます。
え〜と、実は利用しているのが携帯サイト向けで、普通のメールだけでなくアンケートフォームもあるので、自身で設置するメールフォームが一番便利だったのです。

と。
半端なレスのままで申し訳ありませんが、時間の都合により失礼します。
KENT WEB のCGIの改造場所も一応こちらに記載しておきたいですし、夜か明日、また伺わせていただきます。

返信する


[310] Re[2]:改造方法
Name: ぜんの (HOME)
Date: 03/13 17:03
>webサーバーもとに問い合わせる前にCGI改造したので、あまり誉めれたものでないのですが・・・。
>(KENT WEBさんは改造自由・改変不可部分は書いてある・なので、問題ないです)

CGIの配布元が改造自由ならWebサーバーには改造の許可は取らなくていいでしょうし、
-f オプションも試してみて動くのなら問い合わせる必要もありません。

>Ver: 3.11も -f は付け加えられていませんでしたが・・・。
殆どのFreeCGIで -f は付けられていない様ですね。

多分CGIを作る過程でメールの送信はこうだと覚える
元になる参考図書やサイトの紹介例の殆どが -f 無しだからでしょう。
エラーメール受け取り用のアドレスを別に用意するのは
大変だからとわざと省略させているのか多分そこまで
気にして書かれていないのが現状かと思いますが
他にこれと言った問題点も無いと思いますのでこれからの
CGIでメールフォームをプログラミングされる場合の
サーバーにやさしい例になれば良いなと思います。

返信する


[333] 解決しました
Name: yuka
Date: 03/15 01:31
しつこく書き込み失礼します。

私と同様の問題はそうそうないかと思いますが、一応KENT WEB さんのフォームメールCGIの改造場所も残しておきます。

行数は目安です。(弄ってますので・汗)

229行目
----------------------------------------------
open(MAIL,"| $mailprog $tempfile -t $mailto -s \"$subject\" -q")
|| &error("メール送信に失敗しました");
----------------------------------------------

----------------------------------------------open(MAIL,"| $mailprog $tempfile -t -f$return $mailto -s \"$subject\" -q")
|| &error("メール送信に失敗しました");
----------------------------------------------
また
277行目
----------------------------------------------
open(MAIL,"| $mailprog -t") || &error("メール送信に失敗しました");
----------------------------------------------

----------------------------------------------
open(MAIL,"| $mailprog -t -f$return") || &error("メール送信に失敗しました");
----------------------------------------------

KENT WEB のフォームメールVer:1.71 では、こんな感じでした。
$mailprog はsendmailのパスです。
勿論ぜんのさんが書いていた
$return = '送信先Eメールアドレス以外の実在アドレス';
も追加してます。

KENT WEB 以外でも 「sendmailのパスとエラー」を目安に探せばなんとかなるのではないかと。

よくわからないという方は、ぜんのさんが載せていたCGIでどうぞ。


善野様
この度はCGI改造という畑違いなものへの回答までして下さり、本当にありがとうございました。
所々総計な部分もあり、申し訳ありませんでした。
これからもこちらのメールアドレスを愛用させていただきます。

返信する


レッツPHP!