• 締切済み

メール送信エラー処理について

現在、PHPでメール送信プログラムを作っています。 今困っているのが、存在しないアドレスへメールを送信したときのエラー処理です。 mail()関数の返り値ではmailが送れないか送れたかのエラーしかわからないので、存在しないアドレスに送信した場合でもエラーとなりません。 "そのアドレスは存在しません"というようなエラーはどのように検出したらいいのでしょうか? どなたかご存知の方がいらっしゃいましたら教えていただきたいです。 よろしくお願いします。

みんなの回答

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

とりあえずgetmxrr()を使い有効なドメインか どうかをチェックすることはできます。 サイトの登録などに利用するのであれば 当初、ユーザーに空メールを送らせてそこから ユーザー登録というやり方もあります。 メールは送りに失敗したら、戻ってきますので そのエラーメールをみて調整するというのが 現実的ですかね。 ソケットは・・やりすぎかもしれません(苦笑)

being0000
質問者

お礼

>メールは送りに失敗したら、戻ってきますので >そのエラーメールをみて調整するというのが >現実的ですかね。 なるほど。ではエラーメールで判断するようにしてみます。 ありがとうございました。

  • galluda
  • ベストアンサー率35% (440/1242)
回答No.1

がると申します。「最後の手段」として軽く読み流していただけると。 ソケット関数群使ってSMTPを直接しゃべるようなもの(理想的にはクラス、難しければとりあえず関数)を作れば、エラーは一通り拾えるかと思います。 ただ…まぁ敷居は決して低くないというか高いです。 ですので、ほかに手段が無く、且つどうしても実装の必要がある、というときに思い出していただければと思います。

being0000
質問者

お礼

がる様 ご回答ありがとうございます。「最後の手段」ということですので、  >ほかに手段が無く、且つどうしても実装の必要がある ときに思い出します。ほかに手段を探してみます。

関連するQ&A