質問: サーバへのパスワードの設定 http://oshiete1.goo.ne.jp/kotaeru.php3?q=643916 のアドレスで、no.3の回答に対する補足で、 メールサーバへのパスワードの設定はどのようにすればよいのでしょうか? と書かれています。 僕もそれが疑問なのですが、実際にはパスワードの設定や ユーザ名の設定は必要なく、[mail function]のsmtpに プロバイダのsmtp05.odn.ne.jpを書くだけでメール送信が 可能になってしまいました。 ユーザ名もパスワードも指定していないのにsmtp05.odn.ne.jpを利用してメール送信ができる理由が分かりません。 試しに、smtp06.odn.ne.jpも実在するようなので smtp06.odn.ne.jpに変更するとメール送信が失敗しました。 これは、php.exeなどがレジストリからユーザ名やパスワードを調べて、それをメールサーバへの送信データに付加するからですか?
回答: 一般にsmtpサーバへの接続は、 smtp-auth(smtpサーバ利用前の認証)等を使ってない限り、 id,passwordを要求されません。 ですから、メールを取って来るのでなくて、 メールを送りつけるのであれば、 id,passwordを気にする必要はありません。 しかしながら、 smtpサーバを誰でも接続できて誰でも利用可能にしておくと、 spamの送信に使われてしまうので問題です。 こうした問題がおきないようにsmtpサーバへの接続は、 ドメインや、ipアドレスで制限するのが一般的です。 どのようなネットワークの上でphpを動かしておられるのかはわかりませんが、 smtp05.odn.ne.jpがオッケーで、 smtp06.odn.ne.jpがngなのであれば、 smtp06.odn.ne.jpは、 phpを実行しているホストからの接続を弾く様に 設定されているという事だと思います。