使用C#在电子邮件中取消订阅选项

Jul*_*ary 0 c# asp.net email unsubscribe

我一直在发送来自C#的电子邮件,他们工作正常,但现在我也在寻找允许接收者取消订阅的功能.因为我不知道,我无法得到如何继续.我用google搜索了所以需要一些提示.

以下是我的代码:

  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); 
Run Code Online (Sandbox Code Playgroud)

Sud*_*udi 6

如果您已经在数据库中维护用户电子邮件ID,则取消订阅很容易.

请按照以下步骤操作:

步骤1:unsubscribe在数据库中创建用户表中的额外列.它将采取truefalse作为价值观.将默认设置为false以便每个订阅用户都能收到电子邮件.

注意:在向用户发送邮件之前,请检查其unsubscribe列.如果是假的,请发送电子邮件.如果确实如此,请不要发送电子邮件,因为他们已经取消订阅.

第2步:创建一个取消订阅的URL,如下所示:

http://mywebsite.com/unsubscribeme/emailID=xyz@gmail.com
Run Code Online (Sandbox Code Playgroud)

步骤3:将此URL作为取消订阅URL发送给用户,这样每当他想要取消订阅时,只需单击该URL即可.

Step4:如果用户点击给定的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+"'";
Run Code Online (Sandbox Code Playgroud)

  • 这允许任何人只要知道他们的电子邮件地址就取消订阅其他人 (7认同)
  • @thelem,不仅如此.示例中的SQL注入.具有此类评级的用户如何发布这样的答案? (3认同)