レンタルサーバAで正常に動作しているコードを

レンタルサーバBで動作させたらメールが届きませんでした。
mb_send_mail を使っています。

考えられる原因を教えてください。

sendmailが使えないだけなのでしょうか?

また、サーバ管理者に聞かなくても
sendmailが使えるかどうかを
調べる方法はあるでしょうか?

例えば phpinfo(); でどこを見ればわかるという感じでお願いします。

回答の条件
  • 1人2回まで
  • 登録:2007/10/01 21:21:40
  • 終了:2007/10/06 17:50:56

回答(2件)

id:tezcello No.1

tezcello回答回数459ベストアンサー獲得回数692007/10/01 21:51:47

ポイント60pt
  • ポート25ブロックされている所で、直接送信しようとしていない?
  • エラーログは出てませんか?
  • mb_send_mail() の戻り値は問題ないですよね?
  • 送信者のアドレスはエラーメールを受け取れるアドレスですよね?
  • 念の為、返信先を指示してみたら、エラーメールが返って来ませんか?
  • 自分自身に送信出来ますか?
  • 届かないのは特定の宛先だけでしょうか?(正逆両方引けないとダメな所もあるらしい)

> 例えば phpinfo(); でどこを見ればわかるという感じでお願いします。

うちの PHP 4.4.7 での状態で見てみると


Configuration

PHP Core

の見出しの所を見ていくと、

sendmail_path

の行がありました。

更に、スクロールしていくと、

standard

という見出しの所に

Path to sendmail

という行もありますね。

id:worldtravel

ありがとうございます。

> ポート25ブロックされている所で、直接送信しようとしていない?

この設定がされているかはわかりません。

ちなみにこの場合のphpの参考コードはどこかにありませんでしょうか?

> エラーログは出てませんか?

見る事ができません。

> mb_send_mail() の戻り値は問題ないですよね?

「1」が戻り値です。

> 送信者のアドレスはエラーメールを受け取れるアドレスですよね?

はい、もちろんです。

> 念の為、返信先を指示してみたら、エラーメールが返って来ませんか?

form、to、ともメールは何も届きません。

> 自分自身に送信出来ますか?

無理です。

> 届かないのは特定の宛先だけでしょうか?(正逆両方引けないとダメな所もあるらしい)

どこでも同様に送信できません。


これらは全てありました。

sendmail_path

standard

Path to sendmail


よろしくお願いします。

2007/10/01 22:02:58
id:safari33 No.2

safari33回答回数59ベストアンサー獲得回数02007/10/03 23:47:55

ポイント10pt

ローカルのsendmailがつかえなくても、外部のを使う方法があります。検索してみてください。

id:worldtravel

ありがとうございました

2007/10/06 17:50:05
  • id:tezcello
    > > ポート25ブロックされている所で、直接送信しようとしていない?
    > この設定がされているかはわかりません。
    > ちなみにこの場合のphpの参考コードはどこかにありませんでしょうか?
    これはPHPのコードでどうにかなる物では無いです。
    SMTPサーバをプロバイダ指定のものにしたり、ユーザー認証をする設定にしたりの対策があるそうですが、何れも自宅サーバのお話でした。新しいサーバは、レンタルサーバでしたね。ゴメンナサイ。

    > > エラーログは出てませんか?
    > 見る事ができません。
    実行時のエラー等は
    ini_set(display_startup_errors, 1);
    ini_set(display_errors, 1);
    を入れておく事で見ることが出来ます。ですがmb_send_mail() の戻り値が 1 なので、なにも表示されないでしょうねぇ。

    > > 念の為、返信先を指示してみたら、エラーメールが返って来ませんか?
    > form、to、ともメールは何も届きません。
    返信先は、Reply-To: で与えます。(From: は送信者、To: は宛先)指示がない場合は From: で与えた物が使われる筈なんで、念の為...としました。下記の $additional_parameter として指示します。
    bool mb_send_mail ( string $to, string $subject, string $message [, string $additional_headers [, string $additional_parameter]] )

    > > 自分自身に送信出来ますか?
    > 無理です。
    「無理」=「他と同じ結果」という事ですよね?(文字通り無理ならそのサーバから送信する事は不可能です)
    自ドメイン内宛のメール送信は、ネットワークがダウンしてても届いたりするんですけど。

    チョット分からなくなって来ました。
    スパム対策として、プログラムからの送信を許していない気がして来ました。
    管理者に問い合わせるのが近道かも知れませんね。

    最後に、極単純な英文メールを mail() 関数を使って送信するテストプログラムを書いて実験してみてはどうでしょう。
    (mb_send_mail() は mail() のラッパ関数だそうですから)
    それがダメなら、無理っぽいです。
  • id:worldtravel
    ありがとうございます。
    早速mail()を試しましたがダメでした。

    明日にでも管理者に聞いてみます。

    ありがとうございました。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません