Pergunta

Eu tenho enviado e -mail da C# e eles estão funcionando bem, mas agora também estou procurando a funcionalidade para permitir que o receptor cancelasse a inscrição. Não consigo conseguir como proceder como não faço ideia. Eu pesquisei o suficiente, então preciso de alguma dica.

Abaixo está o meu código:

  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); 
Foi útil?

Solução

A cancelamento de inscrição é fácil se você já estiver mantendo os IDs de email de usuários no banco de dados.

Siga as etapas abaixo:

Passo 1: Crie uma coluna extra na tabela de usuários como unsubscribe no banco de dados. vai levar true ou false como valores. Defina o padrão como false para que todo usuário subscrito receba email.

Nota: Antes de enviar e -mails para os usuários, verifique seus unsubscribe coluna. Se for falso, envie um email. Se for verdade, não envie um email, pois eles não foram inscritos.

Passo 2: Crie um URL de cancelamento de inscrição como abaixo:

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

Etapa 3: Envie este URL ao usuário como URL de cancelamento de inscrição, para que sempre que ele sentir cancelamento de inscrição, ele pode fazer isso simplesmente clicando nesse URL.

Passo 4: Uma vez se o usuário clicar no URL em determinado, leia o valor do querystring do emailid emailID=xyz@gmail.com

Etapa 5: Atualize as informações da tabela de usuários definindo o unsubscribe valor da coluna para true.

Exemplo :

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

Outras dicas

Eu acho que você tem seus assinantes armazenados em algum lugar. Portanto, a maneira mais fácil de cancelar a inscrição é remover o registro da loja pelo seu endereço de e-mail.

Não tem nada a ver com a classe SMTPClient.

O conceito de uma lista de discussão inclui uma lista de endereços de email, geralmente salvos em um banco de dados. Seu código adiciona o receptor de um "emailtxt", acho que uma caixa de texto?

  • Desde que você não salve endereços de e -mail em algum lugar, não há necessidade de cancelar a inscrição
  • Se você salvar endereços de email, crie outro arquivo que permita que as pessoas cancelem a caça.

Um arquivo de cancelamento de inscrição geralmente funcionava da seguinte maneira:

  • Receba o endereço de e -mail para cancelar a inscrição como um parâmetro de consulta
  • Exiba este endereço de e -mail em uma única caixa de texto, juntamente com um botão "Descrenda a inscrição"
  • Se o usuário clicar neste botão, remova o endereço de email do banco de dados.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top