Domanda

Ho inviato e -mail da C# e stanno funzionando bene, ma ora sto anche cercando la funzionalità per consentire all'iscrizione al ricevitore. Non sono in grado di ottenere come procedere perché non ne ho idea. Ho cercato su Google, quindi ho bisogno di qualche suggerimento.

Di seguito è il mio codice:

  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); 
È stato utile?

Soluzione

L'iscrizione è facile se stai già mantenendo gli ID e -mail degli utenti nel database.

Segui i passaggi seguenti:

Passo 1: Crea una colonna extra nella tabella utente come unsubscribe nel database. ci vorrà true o false come valori. Imposta impostazione predefinita su false in modo che ogni utente abbonato riceva e -mail.

Nota: prima di inviare posta agli utenti, controlla il proprio unsubscribe colonna. Se è falso invia un'e -mail. Se è vero, non inviare un'e -mail in quanto hanno annullato.

Passo 2: Crea un URL di annullamento come di seguito:

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

Passaggio3: Invia questo URL all'utente come annullamento dell'URL in modo che ogni volta che si sente a annullare l'iscrizione può farlo semplicemente facendo clic su quell'URL.

Step4: Una volta che l'utente fa clic su URL fornito, leggi il valore di querystring di emailid emailID=xyz@gmail.com

Passaggio 5: Aggiorna le informazioni sulla tabella utente impostando il unsubscribe Valore della colonna a true.

Esempio :

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

Altri suggerimenti

Immagino che tu abbia i tuoi abbonati memorizzati da qualche parte. Quindi il modo semplice per annullare l'iscrizione è rimuovere il record dal negozio con il suo indirizzo e-mail.

Non ha nulla a che fare con la classe SmtpClient.

Il concetto di mailing list include un elenco di indirizzi e -mail, di solito salvati in un database. Il tuo codice aggiunge il ricevitore da un "emailtxt", immagino una casella di testo?

  • Finché non salvi gli indirizzi e -mail da qualche parte, non è necessario annullare l'iscrizione
  • Se si salva gli indirizzi e -mail, crea un altro file che consenta alle persone di annullare l'iscrizione.

Un file di annullamento dell'iscrizione di solito funzionerebbe come segue:

  • Ricevi l'indirizzo e -mail per annullare l'iscrizione come parametro di querystring
  • Visualizza questo indirizzo email in una singola casella di testo, insieme a un pulsante "annullamento"
  • Se l'utente fa clic su questo pulsante, rimuovere l'indirizzo e -mail dal database.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top