• ベストアンサー

存在しないメールアドレスかどうかのチェック

PHPのNet_SMTPにて、メール送信するプログラムを作成しています。 http://pear.php.net/manual/ja/package.networking.net-smtp.php を参照して作成しているのですが、 存在しないメールアドレスかどうかのチェックは可能でしょうか? ユーザーが誤ったメールアドレスを設定していた場合、 システムはそのメールアドレスにメール送信するのですが、 当然誤ったメールアドレスなので、ユーザーには届きません。 このような事を回避するために、 システムがメールを送信する際に、 この世に存在するアドレスかどうかチェックする術はあるのでしょうか? 返却されたメールを解析するしか無いのでしょうか… ※.アドレス内に「@」が無いなどのチェックではなく、   存在するアドレスかどうかのチェックが可能かどうかになります。

質問者が選んだベストアンサー

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

>返却されたメールを解析するしか無いのでしょうか… まず、ドメインの存在自体は、getmxrr()などでチェック可能です。 ただ、「この関数をメールアドレスの確認の目的で使用すべきでは ありません」と注記されているとおりドメインの有効性はこちらを 利用すべきではないかもしれません。 ドメインはあっているが、メールアドレスが間違っている場合については 最近はスパム対策のため「返却さえしない」ケースの方が多いと思います。 なので何をチェックしても無駄です。 基本的には放置。必要ならユーザー側から問い合わせがくるでしょう。 どうしてもという場合は、やはり空メールを送らせて、最初から有効だと いう前提の登録システムを構築すべきです

その他の回答 (1)

  • Cupper
  • ベストアンサー率32% (2123/6444)
回答No.1

メールアドレスの誤った記述以外は、実際にメールサーバーに問い合わせるしかないですよ その方法の中で一番簡単で確実なのが確認メールを相手に送ることです (メールアドレス登録時の問題もありそうな気がしますが、触れないことにしておきます)

関連するQ&A