
sendmailを悪戦苦闘の末、ようやく使えるようになりました。それはめでたいのですが、どうもレンタルしているocnのサーバーではメールアドレスの贈り先が存在しない(空ではなく送り先メールアドレスの存在)とエラー画面になってしまうようなんです。
&mail_sub というsub関数を作っていてこれをcgiから呼び出しています。送れないまでも、エラーで画面が止まってしまうのは避けたいんです。if(&mail_sub)みたいにエラーを感知できたら良いのですが・・。
分かる方、どうか教えて(助けて)下さいー!
No.5ベストアンサー
- 回答日時:
気になったんですが、そのような送り先が存在しない場合のエラーメールの送信先は定義しないんですか?
sendmail のような、共有で使用するリソースの場合、誰が sendmail コマンドを叩いてエラーが起こったのかがわからない (多分、CGI の実行ユーザは、利用者で共有でしょうから…) 場合には、sendmail を発動させてるプロセスを kill している可能性があるかもしれません。
勝手な想像なので断言は出来ないですが、プロセスが kill されてるとかで500 エラーが返るのかもとふと思いました。
sendmail に -t オプション以外に、-f オプションで envelope-from を定義してあげれば、もしかしたら起こらないかも…
という事で、仮に、mahouさんのメールアドレスをmahou@somedomain.domだとした場合、
# sendmail起動
if (!open(MAIL,"| $sendmail -t")) { print "メール送信に失敗しました"; }
の行を、
# sendmail起動
if (!open(MAIL,"| $sendmail -t -fmahou\@somedomain.dom")) { print "メール送信に失敗しました"; }
みたいにしたら、うまくいくかも。。。
勝手な想像だけなので、「お試しあれ」感覚でとらえてください。
返信ありがとうございます!
今現在は妥協してしまい、そのまま使用することにしました。ただ、わかったことは、「相手先が存在しないとエラー」なのではなく、「メールアドレスの形」になってないと起こるエラーでした。
例えば、aaa@aaa.tekitouだとメールは送信されますが、aaa.tekitouだとエラー画面になってしまうのです。その辺、そのメールアドレスが存在しないとエラーと勘違いしてました。
次回、また開発があるのでそのときに試してみますね。
そしたら必ずnipotanさんに返信します。お待ち下さい。
No.4
- 回答日時:
No.3
- 回答日時:
エラー・メッセージは、どうなってますか?
CGI自体エラーになってなくても、正しいHTTP応答の形式になってないと、Webサーバーが500を返すこともあります。
基本的に、見たままのエラーメッセージや、具体的な入力内容、Webサーバーやメール・サーバーのログなどの補足情報も説明しとかないと、思い付く原因はたくさんありますから。
結構、errorlogだけで、あっさりと原因が判明することもありますし。
この回答への補足
osamuyさん、返信ありがとうございます。
Internal Server Errorで画面が真っ白になってしまってます。入力されたメールアドレスにメールを送るシステムなんですが、入力ミスかもしれないし、こうなることだけは避けたいのですが…。
perlでエラーをキャッチできないなら、サーバーの設定でしょうか。そうなるとレンタルサーバーなので無理になってきそうです、困りました…
No.2
- 回答日時:
送り先のメールアドレスが存在しない場合、
エラーを返すのはCGIではなくメールサーバです。
なので、CGIが存在しないメールアドレスを関知し
エラーを返すことで「エラーで止まる」ということはありません。
# 1 の方が言っているように
OCNは自作CGIが使えない可能性がありますし、
CGIが使えてもsendmailが使えないサーバなどありますので
一度仕様などを確認してみてはどうでしょうか。
それと、sendmailのパスは合ってますか?
この回答への補足
sendmailのパスは合ってます。
メール、ちゃんと送れてます。
ただ、メールアドレスが存在しないときに、
エラーになるんですよね。。。>SSIエラー?
同じ現象を味わったことある人居ますか?
No.1
- 回答日時:
OCNは、Page ONサービスでは、自分が用意したCGIは使用できないと思うのですが、
他のプランで、CGI可能にしてもらっているのでしょうか?
それとも、OCNの用意している「フォームCGIメール」のことでしょうか?
この回答への補足
高額な、他のプランです。
メールプログラムは自分で作成したものです。
# sendmail起動
if (!open(MAIL,"| $sendmail -t")) { print "メール送信に失敗しました"; }
print MAIL "To: $t_to\n";
print MAIL "From: $from\n";
print MAIL "Subject: $mail_sub\n";
print MAIL "MIME-Version: 1.0\n";
print MAIL "Content-type: text/plain; charset=ISO-2022-JP\n";
print MAIL "Content-Transfer-Encoding: 7bit\n";
print MAIL "X-Mailer: $ver\n\n";
print MAIL "\n";
print MAIL "$mail_body\n";
print MAIL "\n";
close(MAIL);
どうでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Visual Basic(VBA) Excel-VBAでのファイルの開き方 4 2023/02/14 11:01
- Excel(エクセル) 【マクロ】エラーが発生⇒実行時エラー58既に同名のファイルが存在 5 2022/08/31 10:03
- Excel(エクセル) なぜExit Subがあるのかわかりません 4 2023/02/19 12:34
- Visual Basic(VBA) エクセルのマクロについて教えてください。 7 2023/07/04 09:18
- Visual Basic(VBA) パーソナルXLSBのfuctionを呼び出すと「Functionが定義されていません」のエラーになる 2 2022/08/22 22:51
- Visual Basic(VBA) VBAでfunctionを利用しようとしたときに「引数は省略できません」というエラーが出ます 1 2022/10/15 16:30
- Visual Basic(VBA) VBAでの共有パスにつきまして 1 2023/03/04 17:24
- Visual Basic(VBA) Changeイベントで複数セルへの貼り付けおよび値削除時に1個目のセルのみエラーになる 3 2022/12/21 09:07
- Visual Basic(VBA) 【VBA】Excelの特定範囲のセルを画像で保存したい 2 2023/01/25 13:06
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Perlスクリプトでメールを作成...
-
sendmailのエラーを知りたい
-
sendmailでFROMに勝手に@~が追...
-
ビジネスメールの敬称
-
お問い合わせフォームから送信...
-
Googleフォームを回答したか確...
-
エクセルVBA テキストボックス...
-
教えて!全角文字「μ」の半角
-
テキストボックスの番号を使っ...
-
初歩的な事だと思います。 Sub...
-
EXCEL VBA で指定した範囲に入...
-
ウェブサイトでメールアドレス...
-
VBAでInputBoxの再入力をさせる...
-
数字以外の入力をエラーにする...
-
フォームで送信したメール
-
CGIで ブラウザの更新ボタ...
-
[件名]前の画面に戻ると「webペ...
-
HTMLで全角文字のみ入力するに...
-
エディットボックスの入力制限...
-
DATE型変数を初期化する方法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語でのメール送信
-
hypermartのsendmailのパス?
-
postmail
-
sendmailで存在しないアドレス...
-
sendmailでFROMに勝手に@~が追...
-
sendmailでのエンベロープのマ...
-
ReturnPathが指定できない?
-
sendmailのエラーを知りたい
-
sysopenを使用したメール送信の...
-
CGIについて(メール送信)
-
sendmail メール送信完了ステ...
-
(海外特定サーバ)メールが届...
-
入力されたアドレスに@docomo.n...
-
ホームページビルダー20SPで...
-
メールフォームCGIでのエラーメ...
-
ビジネスメールの敬称
-
Googleフォームを回答したか確...
-
エクセルVBA テキストボックス...
-
初歩的な事だと思います。 Sub...
-
テキストボックスの番号を使っ...
おすすめ情報