質問

私はC#から電子メールを送信していますが、彼らは正常に動作していますが、今では受信者が登録解除を許可する機能も探しています。わからないので、進む方法を手に入れることができません。私は十分にグーグルで検索したので、いくつかのヒントが必要です。

以下は私のコードです:

  MailMessage loginInfo = new MailMessage();
  loginInfo.To.Add(EmailTxt.Text.ToString());
  loginInfo.From = new MailAddress(sEmailId);
  loginInfo.Subject = "Subject";
  loginInfo.Body = "Your username is: " +;
  loginInfo.IsBodyHtml = true;

  SmtpClient smtp = new SmtpClient();
  smtp.Host = sHost;
  smtp.Port = 25;
  smtp.EnableSsl = false;
  smtp.Credentials = new System.Net.NetworkCredential("", "");
  smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
  smtp.Send(loginInfo); 
役に立ちましたか?

解決

ユーザーの電子メールIDをデータベース内に維持している場合、登録解除は簡単です。

以下の手順に従ってください。

ステップ1: ユーザーテーブルに追加の列を作成します unsubscribe データベース内。かかる true また false 値として。デフォルトをに設定します false サブスクライブされたすべてのユーザーが電子メールを受け取るように。

注:ユーザーにメールを送信する前に、それらを確認してください unsubscribe 桁。 falseの場合はメールを送信します。それが本当なら、彼らが登録されていないので、電子メールを送信しないでください。

ステップ2: 以下のように、登録解除URLを作成します。

http://mywebsite.com/unsubscribeme/emailID=xyz@gmail.com

ステップ3: このURLをURLの登録解除としてユーザーに送信して、登録解除を感じるたびに、そのURLをクリックするだけでそれを行うことができます。

ステップ4: ユーザーが特定のURLをクリックしたら、電子メールのクエリストリング値を読み取ります emailID=xyz@gmail.com

ステップ5: 設定してユーザーテーブル情報を更新します unsubscribe 列値 true.

例 :

 //get user EmailID by QueryString as below:
 String EmailID=Reques.QueryString["emailID"].ToString();

//Update the usertable as below:
String Command ="update usertable set unsubscribe='true' where emailid='"+EmailID+"'";

他のヒント

購読者がどこかに保管されていると思います。したがって、登録解除の簡単な方法は、電子メールアドレスによってストアからレコードを削除することです。

SMTPClientクラスとは何の関係もありません。

メーリングリストの概念には、通常データベースに保存されるメールアドレスのリストが含まれています。あなたのコードは「emailTxt」から受信機を追加します、私はテキストボックスだと思いますか?

  • どこかにメールアドレスを保存しない限り、登録解除する必要はありません
  • 電子メールアドレスを保存する場合は、人々が帰宅できる別のファイルを作成します。

登録解除ファイルは通常、次のように機能します。

  • クエリストリングパラメーターとして登録解除するためのメールアドレスを受け取る
  • このメールアドレスを単一のテキストボックスに表示し、「登録解除」ボタンとともに表示します
  • ユーザーがこのボタンをクリックすると、データベースからメールアドレスを削除します。
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top