-2

ASP.NET で会社のオンライン RMA フォームを作成しています。彼らは顧客にあまりにも多くの情報を求めることに非常に慎重であるため、連絡先情報を含め、すべてのテキストボックスのチェックボックスとドロップダウンはオプションです. これは賢明ではないと思いますが、それが彼らのやりたいことです。

これを許可するコードを書きましたが、ユーザーの電子メールと組織が提供する場合は、送信する電子メールを適切にフォーマットしたいと考えています。私の質問は、フォームに関連付けられた電子メールがないことをサービス技術者に知らせるために使用できる、または使用すべき「デフォルト」の電子メール アドレスはありますか? 答えは、ここ私の会社で合意したものになると思いますが、開発者コミュニティの「全員」が使用するデフォルトのユーザー入力なしの電子メールアドレスのようなものはありますか? テキストではなく電子メールのプレースホルダーとしての「lorem ipsum ...」タイプのエントリのようなものです。

決定を下すための私のコードは次のとおりです。

    var orgName = dv_contactInfo.Rows[2].Cells[1].Controls[0] as TextBox;
    var orgEmail = dv_contactInfo.Rows[11].Cells[1].Controls[0] as TextBox;
    MailMessage msg = new MailMessage { From = String.IsNullOrEmpty(orgEmail.Text) ? 
        new MailAddress("No email specified") :
        new MailAddress(orgEmail.Text)};
        msg.To.Add("service@mycompany.com");
        msg.Subject = orgName != null ? 
            "Service Request from " + 
            orgName.Text : 
            "Service Request from unspecified organization";

当然のことながら、new MailAddress("No email specified")メール形式ではないため、例外がスローされます。また、これは実際にはプログラミングの質問ではないことも認識していますが、質問を Google で検索する方法さえ知りませんでした。

考えてみると、メールと電話のエントリをチェックして、そのうちの少なくとも 1 つが入力されていることを確認し、それらに連絡して強制的に提供する方法がない場合は、Javascript アラートをポップアップ表示します。お問い合わせ方法

4

2 に答える 2

3

UX の観点からは、RMA フォームで連絡先情報を求めることは不合理ではないと思います。

ただし、元の質問に関するいくつかの注意事項:

  • いいえ、実際に送信されることを意図した電子メールに相当するlorem ipsumはありません。既知の不正な値をメール サーバーに送信しないでください。
  • 「noreply@google.com」のようなアドレスを使用して、アドレスが双方向通信を意図していないことを示す前例がありますが、それはプレースホルダーではありません。それはまだ機能的なアドレスです。
  • ドメインのキャッチオール受信トレイを用意するのが一般的です。これはおそらくあなたの状況には当てはまりませんが、技術的には存在しないアドレスへの送信を許可しています。
  • プレースホルダー値を思いついた場合は、電子メール アドレス形式を使用しないでください。そうしないと、一部のアプリケーションがこれを自動的にリンクに変換し、誰かがそれを本物だと思い込んで盲目的にクリックする可能性があります。
  • 顧客が電子メールを指定しない場合に備えて、コピーする会社用の特別な電子メール アドレスを指定できます。つまり、社内の別の関係者に通知して、(必要に応じて) アクションを実行できるようにすることができます。

非常に簡単な例:

bool usingDefaultEmail = false;

if( email == null ){
    // get an email for your service department
    ConfigurationSettings.AppSettings["DefaultRmaEmailAddress"];
    usingDefaultEmail  = true;
}

// Logic here to append a warning to the body of the email that the customer
// didn't provide an email address. This way, someone knows that a higher-risk
// transaction has just occurred. They may also choose to contact the customer
// and verbally collect an email address.
于 2013-05-01T21:55:12.513 に答える
1

送信する前に、メールが存在するかどうかを条件付きで確認する必要があります。「プレースホルダー」値を使用するのは悪い習慣です。

于 2013-05-01T21:41:52.000 に答える