C# で無効な形式の電子メール ID を検証して修正する方法はありますか? 検証のみで修正はできない関数を取得しました。データベースからすべての電子メール ID を取得してメールを送信していますが、無効な電子メール ID を削除すると、その人が情報を失う可能性があるため、削除する代わりに、メール ID を修正してメールを送信することを考えました。方法はありますか?またはこれを行う関数です。??? 前もって感謝します。
3 に答える
メールアドレスを文字列として使用している場合は、文字列を操作できます。あなたの例では、それはトレーリング期間の削除になります。この単純な例以外に、これがどれほど役立つかについて、じっくり考えてみることをお勧めします。コンテキストは何ですか?最善の推測ではなく、メールアドレスをユーザーに返して正しいアドレスを取得できますか?
コードを追加すると、質問が明確になります。あなたの質問から、メールアドレス文字列を修正するのではなく、検証することしかできないとあなたが考える理由がわかりません。
いいえ。これを行う方法はありません。ただし、よくある間違いを処理する組み込みの推測システムがある場合があります。
たとえば、メールIDを「」と入力abc@gmali.com
すると、に変更できますabc@gmail.com
。これは、電子メールが正しいことを保証するものではありません。
abc@gmail.com
として意図的に入力したメールIDを持っていると仮定しasd@gmail.com
ます。今、あなたがそれを修正することができる方法はありません。同じ意図で、私が入力した場合asd@gmial.com
、あなたのコードはそれを正しい電子メールIDにするかもしれませんが、asd@gmail.com
それでも正しくありません。
基本的に、探しているのはクライアント側の検証と呼ばれます。フロントエンドが何であれ、構文に従って電子メールアドレスが正しいかどうかを確認する検証を行います。ユーザーが実際の電子メールを送信したかどうかを確認するには、アクティブ化リンクを指定したアドレスにメールを送信し、アプリケーションを使用する場合はクリックするように依頼します。
編集:
データベース内の電子メールをフォーマットするだけでよい場合は、クエリ/外部実行可能ファイルを使用して一般的な間違いをチェックできます。これらは、データを有効な形式に対して検証し、その後、変更することができます。これを行うための技術的な選択肢は何ですか?
たとえば、このようにメール ドメインが存在するかどうかを確認できます。メールが「.」のような無効な文字で終わっているかどうかを確認できます。または","見つかった場合はこれを削除しますが、各文字を変更して電子メールが存在するかどうかを確認することで間違った電子メールを実際に「修正」することはできません。本当に連絡したくないメールアドレス。