- ベストアンサー
Postmailの使用でメール受信がされません
素人ですがどうぞよろしくお願いいたします。 KENTwebさん提供のフォームメールCGI(Postmail)を利用して、アンケートページを作成したいと考え、CGIの設置を行ったのですが指定したメールアドレスへの返信ができず困っています。 *KENTwebさん→http://www.kent-web.com/data/postmail.html 私が実行した手順の概要を示させていただきますと、 (1)CGI、sendmail可のレンタルサーバにKENTwebさんのページに記載してある要領に沿ってPostmailを設置しました。KENTwebさんのページのにあるように、postmail.cgi?mode=checkを末尾につけたチェックモードにて、全ての項目でOKが表示されましたので、CGIの設置は成功したのではと考えています。 *具体的に行った事としては、Perlのパス、sendmailのパスをサーバー指定にし、$mailto = "xxx@xxx.xxx"の部分を自分のメールアドレスに置き換えただけの措置です。 (2)次に、試しにサンプル(?)として同梱されているpostmail.htmlにて、 入力結果が指定のメールアドレスに送信されるかを試してみました。 postmail.htmlはこのようなページです→ http://www.kent-web.com/data/postmail/index.html 実際にレンタルサーバに自分でアップロードしたページにて、「送信する」をクリックしますと、「以下の内容でよろしければ送信ボタンを押して下さい。上記内容で送信」⇒「ありがとうございます。送信は正常に完了しました。」と表示されるにもかかわらず、結果が届きません。 (postmail.cgiの107行目の$mailto = "xxx@xxx.xxx";にてメール宛先を指定しているのですが受信ができません。) このような場合、どのような原因が考えられますでしょうか? FAQ等を見てみましたが該当が無いようでしたので、ご存知の方、どうぞよろしくお願いいたします。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
#1~#3です。 CGI設置可能な無料レンタルサーバを使ったことがないのでわからないのですが そこまでされても届かない、ということはCGIを置かれているサーバに問い合わせを なさってみるのが確実かもしれません。 解決に結びつかないアドバイスで申し訳ありません。
その他の回答 (5)
- nekoi
- ベストアンサー率48% (786/1636)
何度か同じcgiを設置したことがある者です。 最初から全部設置しなおしてみる。 メルアドを全角や小文字と大文字の部分を間違って記入している。 …などで解決することがあります。 案外盲点かもしれませんので、やってみられてはいかがでしょうか? (全部設置しなおして解決などわけが判らないかもしれませんが、案外それで解決することが多いものです)
お礼
nekoi様、アドバイスありがとうございました。 先ほど全部一からやり直しましたところ、 『成功しました!』 何故だか分かりませんが成功です!「案外それで解決」してしまいました。恐らく私の方でバカな見落とし等々をしていたのだと思います。これまでご親切にアドバイスを下さった皆さま、本当にありがとうございました。
- shimix
- ベストアンサー率54% (865/1590)
>postmail.cgiの107行目の$mailto = "xxx@xxx.xxx";にてメール宛先を指定しているのですが受信ができません。 二重引用符で括っているのは何故でしょう?配布状態では単引用符で括っていたと思います。単引用符に変えてください。もし二重引用符で括るとすると「@」はエスケープすべき文字なので、 $mailto = "xxx\@xxx.xxx"; と書かないといけません。あと513行目(だったかな・・)の >open(MAIL,"| $sendmail -t -i") || &error("メール送信失敗"); を $mailfrom = 'myaccount@example.com'; open(MAIL,"| $sendmail -t -i -f$mailfrom") || &error("メール送信失敗"); などと「-f」で自分の(送信しているサーバに存在する)メールアドレスを指定しておくと、何かエラーがあればエラーメールを受け取れるかもしれません(サーバの設定次第なので確実なことはいえません)。
お礼
shimix様、アドバイスを頂きありがとうございます。 ・$mailtoの引用符は記載ミスで単引用符となっておりました。 ・513行目をご助言に倣い書き加えたところ、送信ボタンを押すと「Internal Server Error」となってしまいました。サーバーの設定のせいでしょうか。或いは私の入力に誤りがあったのかもしれません。 ちなみに、サーバーはアゼリアさん(http://www.azarea.net/)の無料のものを利用させて頂いております。CGI、sendmailはOKとのことです。
#1、#2です。 CGIにばかり視線が行ってて、メールサーバ側に視線が行っていなかったことに今気づきました。 CGIの設置はちゃんと出来ていて動作している。 にも関わらずメールで受信できないということは、メールサーバ側で何か規制をされていたりしませんか? サーバによってはSPAM防止のために「件名」が無いものは弾いていたり (あくまで例ですがKENTさんのフォームメールには件名がありませんでしたよね) From:を偽った迷惑メールや広告メールを防いでいたり。(メールフォームなので偽っていますよね) 別のメールアドレスも同じサーバでしたら結果は同じことになりますので 一度Web上で見られるフリーメール等で設定されてみてはどうでしょうか。
お礼
貴重なご意見をありがとうございます。 頂いたアドバイスについて全て当たってみましたが結果は同様でした。 ・mailtoの「"」や「;」については、消さないように入力をしました。 ・パーミッションについては再度確認いたしました。postmail.cgiを[705]に、jcode.plを[604]に、io-socket.plを[604]に、log.cgiを[606]にしております。 ・mimew.plをダウンロードし、これをFTPソフトでlibフォルダに移し、パーミッションを[604]にしましたが、結果は同様でした。 ・会社のメール、yahooメール、gmailを試しましたがどれも受信できませんでした。postmail.cgiの件名を「フォームメール」から「テスト送信」などと適当に変更しても同様でした。 参りました。。。
#1です。 6時間も経過しているにも関わらず届かない、というのはどこかしらに間違いがあるのでしょうね。 $mailto = "xxx@xxx.xxx"; の部分ですが「"」や「;」などは消してはいらっしゃらないですよね? (削除してしまっていると、CGIエラーが出るので動作はしないはずですが念のため) サーバが混んでいる、というのはメールサーバのことなんですよ。 Hotmailなどでしたら時間差で送られてくることはしょっちゅうですし。 念のため再度「パーミッション」がきちんと設定されているか確認してください。 あと「mimew.pl」もダウンロードするといいかもしれません。(関係ないかもしれませんが) http://ambiente.okayama-u.ac.jp/~blog/cgi-bin/su_downloader/mimew.pl 「名前をつけて保存」で「mimew.pl」という名前で保存してください。「.txt」にならないように。 当方もほとんど何もさわらずにアップしてみたんですが、全く問題なく動作しました。 見直しをしようにもカスタマイズもしてない状態でしたので…。
こんばんは。全く同様のことをやってみました。 (Perlのパス、sendmailパスを指定。$mailto = "xxx@xxx.xxx"の部分を自分のメールアドレスに置き換えただけ) 送信テストをしてみましたところ、すぐに届きました。 ・メールアドレスの書き間違い。 ・サーバが混んでいて届かない。 が考えられます。 mode=checkでOKが出ているのであればパスは間違っていないと思いますし 試しにhttp://~~/postmail.cgiに直接アクセスするとどう表示されますか? (「ERROR!不明な処理です」と出るときちんと動作しているはずです)
お礼
NymphLuna様、前回、関連した質問を挙げた際にも、アドバイスを頂きまして本当にありがとうございます。 ・http://~~/postmail.cgiに直接アクセスしてみましたが、「ERROR!不明な処理です」と表示されました。 ・メールアドレスについては、何度も確認し、また、別のメールアドレスも試してみましたがやはり同様にダメでした。 ・サーバーが混んでいることも考えられるかもしれませんが、postmail.htmlにはサクサクとアクセスできますし、「送信する」を押してから6時間程度経ちますが届いておりません。 細かく見落としているところで、NymphLuna様での操作と決定的に違う所があるのでしょうか?ありうるのでしょうか?
お礼
NymphLuna様、ご親切に本当にありがとうございました。 頂いたアドバイスの通り、サーバー管理者に問合せをしていたところですが、ANo.6の通り、一から全てやり直したところ、ちゃんと受信することができました! 恐らく何処かでバカな間違いをしていたのだと思います。にもかかわらず、これまでご助言いただき本当にありがとうございました。 重ねて御礼申し上げます。