2

私は 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); 
4

3 に答える 3

6

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

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

ステップ 1:データベースと同様に、ユーザー テーブルに追加の列を作成unsubscribeします。trueorを値として取りfalseます。false購読しているすべてのユーザーが電子メールを受信できるように、デフォルトを に設定します。

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

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

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

ステップ 3:この URL を購読解除 URL としてユーザーに送信し、購読を解除したいときはいつでもその URL をクリックするだけで解除できるようにします。

ステップ 4 :ユーザーが特定の URL をクリックすると、emailID の QueryString 値が読み取られます。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+"'";
于 2013-11-08T09:20:14.460 に答える