準・究極の選択

PEARのMailを使ってメールを送信するソースを作成しました。
IPアドレスを自動取得した場合はきちんとメール送信ができています。
しかし、外部からの利用を可能にするためのIPアドレスに変更すると送信処理に時間がかかり、送信処理を中断してしまいます。
この特定のIPアドレスがある同一LAN内にはたくさんのPCがつながっています。
もしかしてこれが原因なのでしょうか?

動作環境:Windows+Apache2.0.52+PHP4.4.2

A 回答 (2件)

質問の意図が掴めないのですが


IPアドレスを取得、というのはクライアント側でしょうか。
それともサーバー側を可変にしているのでしょうか。

どちらにしてもメールを送信するソースが置いてあるサーバーへは
あなたがタイムアウトしてしまうと言っているPCからはうまく接続できていますか?
例えば、メールの送信フォーム?が実はキャッシュの内容が表示されていて
実際には該当のフォームを置いているサーバーにつながってはいない。
送信ボタンなどを押してフォームを送信しても実際にはサーバー自体に接続ができていない。

という事は考えられませんか?

もし、サーバー自体に接続が問題なくできているようであればDNSがらみの問題かもしれませんね。

また、利用しているPCにPHPを入れてローカルで動かしていて
さらにメールの送信をSMTP経由で利用しているなら
IPアドレスを変更した際に今まで利用していたSMTPサーバーに
接続できなくなる。という事も考えられます。
(アクセス制限などで)

いずれにしても情報不足ですので環境を詳しくアップしていただけませんか?

この回答への補足

>メールを送信するソースが置いてあるサーバーへはあなたがタイムアウトしてしまうと言っているPCからはうまく接続できていますか?
はい、ソースがあるサーバで実験しているため接続できています。

>IPアドレスを取得、というのはクライアント側でしょうか。
サーバ側です。現在はlocalhostで実験しています。

>IPアドレスを変更した際に今まで利用していたSMTPサーバーに接続できなくなる。という事も考えられます
アクセス制限がかけられていないことは管理者に確認しました。
よろしくお願いします。

補足日時:2006/02/16 21:01
    • good
    • 0

では、メールサーバーのログを確認したほうが良いかもしれませんね。


IPアドレスを取得していると言うことはDHCPを使っているはずですから
サーバーのIPアドレスやネットマスクの設定、ゲートウェイの設定などができていない
あるいは、メールサーバーへのDNS解決ができていない。
というような原因が考えられます。
外部へpingを叩いて確認してください。

また、SMTPサーバーがPOP before SMTPになっていると言うことは考えられませんか?
プロバイダのSMTPサーバーなどはPOP before SMTPを採用しているところが多く
プロバイダ内からSMTP接続された場合は
メールの受付をしますが、外部のアドレスから接続された場合は
POP3認証を行っていないものに関してはメールの受付をしません。

SMTP sendmailのログを確認できれば解決の糸口が見つかるかもしれません。
ちなみに、エラーメッセージは出ていませんか?

この回答への補足

>外部へpingを叩いて確認してください。
Webサーバからpingした際、特定のIPアドレスの場合yahooいけませんでした。

>SMTPサーバーがPOP before SMTPになっていると言うことは考えられませんか?
POP before SMTPは採用していません。

>エラーメッセージは出ていませんか?
エラーメッセージは出力されませんでした。
よろしくお願いします。

補足日時:2006/02/17 12:59
    • good
    • 0
この回答へのお礼

WindowsXPのファイアーウォールが送信の邪魔になっていたようです。
設定を変更したらメールが送信されました。
ありがとうございました。

お礼日時:2006/02/17 20:10

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!