申し込みフォームで存在しないメールアドレスが入力されたときの処理、が知りたい。Serviceを読んで理解し、同意したものとみなします。スタック・オーバーフローはプログラマーとプログラミングに熱心な人のためのQ&Aサイトです。申し込みフォームで存在しないメールアドレスが入力されたときの処理、が知りたい。153件0申し込みフォームでユーザーがE-mailアドレスを入力し、そのアドレスに自動返信メールを送信するケースで、もし存在しないアドレスを入力し、自動送信メールが送れなかった場合の処理の仕方を知りたいです。PHPなど、一般的な考え方やメソッドなどあれば教えていただけますと幸いです。票5まずは「メールの送信の可否」と、「メール到達の成否」は別で考える必要があります。「メール送信の可否」PHP標準のmail関数ですといわゆるOS側のmailコマンドを実行します。一般的にはmailコマンド自体はMTAにメール送信の依頼を投げるだけで、エラーメールだったかどうかは返しません。どんなときにメール送信の失敗になるかといえば・そもそもメールサービスが起動していないとき・メール送信のコマンドが間違っているとき等が挙げられます。今回の質問の中にある「存在しないアドレス」に対しては、そもそも送ってみないと存在するかどうかはわかりませんのでつまりはメール送信は可能であるということになります。「メール到達の成否」ほとんどのMTAの場合、エラーメールだったかどうかはログに出力されています。リアルタイムで返さないのはメール送信はキューイングで処理されているからです。キューイングなのでしょうか?それは、一時的に受け付けなかったり、遅延でメールの送信が遅くなったりする可能性があるためです。一時的に受け付けない遅延でメールの送信が遅くなってしまうとその間プログラムがずっと継続することになってしまうため、キューイングのサービスで実装されています。PHPでエラーメールをキャッチするためにはどうしたらよいかというといくつか方法があります。・MTAのログを見る上記で書いてあるとおり、ログに吐き出されているのでそれを確認します。実際はリアルタイムではないのでメールが到達したかどうかの判定も何日間も保留するような実装が必要です。・エラーメールをキャッチするMTAの設定でエラーだった場合は、リターンパスにメールを返すことも可能なのでエラーだったメールをキャッチすることで、どのメールがエラーだった確認できます。ログと同様になりますが、ログと違ってメールで見ることができるので営業担当とか顧客担当でも対処が可能になります。・メール配信サービスを使うSMTPを用意してあるメールサービスはメール到達のログもAPIで取得したりすることが可能です。自前でメールサーバを立てて、エラーハンドリングをするのではなく、外部のメール配信サービスでカバーしてしまうほうが楽だと思います。|3メールの到達性も大事ですけどそのメールアドレスに紐づく「ユーザー=真の人間」がいるか申込者の誤入力によって、メールアドレスが当人でない他人のアドレスになってしまっていないか悪意ある攻撃者が他人のメールアドレスを騙っていないか(あなたのシステムを使って被害者に複数のSPAMを送り付けようとしていないか)あたりが到達性よりもっと重要です(セキュリティ・UXの面で)。内容は入力されたメールアドレスにメールを送信しました。通常は数分以内にメールが届きますが、ネットワークが輻輳しているなどの場合に数時間かかることもありえます。数時間たってもメールが届かない場合はメールアドレスの入力ミスが考えられます。迷惑メールのほうに分類されている可能性があります。迷惑メールボックスを確認していただき、それでも届いていない場合は再度申し込みをお願いしますあなたのシステムからユーザーの入力したメールアドレスに送る確認メールの内容はこのメールは***さんの申込フォーム入力によりお届けしましたもし申し込んだ覚えがないなら、そのまま破棄してください申し込んだ覚えがあって内容が正しいなら、12時間以内にメール内リンクにアクセスしていただくことで申し込みの完了になりますなんてのが「メールアドレスの先に本当に人間がいる確認」の常套手段でしょう。アクセスがあっても、申込内容をアクセス者に返却しない(プライバシー保護:別人が申込内容を確認できないよう)あたりの対処は必須でしょう。メールが到達しないと次のアクションが取れないようなシステムにしておくと、入力されたメールアドレスが正しいかどうかなど気にする必要はないってことになります。|回答スタック・オーバーフローに参加してくれて、ありがとうございます!質問の回答を共有してください。回答を説明し、自分の検討結果も共有してください。意見を述べること(意見を述べるなら、参照リソース、自分の経験で意見をサポートしてください)さらにサポートが必要な場合このヘルプを参考してください。“回答を投稿”をクリックすることで利用規約、プライバシーポリシー、及びクッキーポリシーに同意したものとみなされます。タグが付いた他の質問を参照するか、自分で質問をする。Mailで一つのメールファイルの内容をパースしたい0mb_language()とmb_send_mail()の設定方法0mb_send_mailがFALSEになる。質問のフィードこのRSSフィードを購読するには、このURLをコピーしてRSSリーダーに貼り付けてください。