Frage

Ich habe E -Mails von C# gesendet und sie arbeiten gut, aber jetzt suche ich auch nach der Funktionalität, damit sich der Empfänger abmelden kann. Ich kann nicht bekommen, wie ich vorgehen soll, da ich keine Ahnung habe. Ich habe genug gegoogelt, also brauche ich einen Hinweis.

Unten ist mein Code:

  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); 
War es hilfreich?

Lösung

Die Abmeldung ist einfach, wenn Sie bereits die E -Mail -IDs der Benutzer in der Datenbank pflegen.

Bitte befolgen Sie die folgenden Schritte:

Schritt 1: Erstellen Sie eine zusätzliche Spalte in der Benutzertabelle als unsubscribe in der Datenbank. es wird dauern true oder false als Werte. Setzen Sie Standard auf false so dass jeder abonnierte Benutzer E -Mail erhält.

Hinweis: Bevor Sie E -Mails an Benutzer senden, überprüfen Sie bitte ihre unsubscribe Säule. Wenn es falsch ist, senden Sie eine E -Mail. Wenn es wahr ist, senden Sie keine E -Mail, da sie sich abgemeldet haben.

Schritt 2: Erstellen Sie eine unlösende URL wie unten:

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

Schritt 3: Senden Sie diese URL an den Benutzer als URL ab, damit er dies einfach tun kann, indem er einfach auf diese URL klickt.

Schritt 4: Einmal, wenn der Benutzer auf eine bestimmte URL klickt emailID=xyz@gmail.com

Schritt 5: Aktualisieren Sie die Informationen zur Benutzertabelle, indem Sie die festlegen unsubscribe Spaltenwert zu true.

Beispiel :

 //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+"'";

Andere Tipps

Ich denke, Sie haben Ihre Abonnenten irgendwo aufbewahrt. Die einfache Möglichkeit, sich abzumelden, besteht also darin, den Datensatz per E-Mail-Address aus dem Geschäft zu entfernen.

Es hat nichts mit der SMTPClient -Klasse zu tun.

Das Konzept einer Mailingliste enthält eine Liste von E -Mail -Adressen, die normalerweise in einer Datenbank gespeichert sind. Ihr Code fügt den Empfänger aus einem "E -MailTxt" hinzu, ich denke ein Textfeld?

  • Solange Sie keine E -Mail -Adressen irgendwo speichern, müssen Sie sich nicht abmelden
  • Wenn Sie E -Mail -Adressen speichern, erstellen Sie eine andere Datei, mit der Personen sich abmelden können.

Eine Abkennungsdatei würde normalerweise wie folgt funktionieren:

  • Erhalten Sie die E -Mail -Adresse, um sich als QueryString -Parameter abzumelden
  • Zeigen Sie diese E -Mail -Adresse in einem einzelnen Textfeld zusammen mit einer "Abbestellenschaltfläche" an
  • Wenn der Benutzer auf diese Schaltfläche klickt, entfernen Sie die E -Mail -Adresse aus der Datenbank.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top