Опция отписать в электронную почту с помощью C# [закрыто

StackOverflow https://stackoverflow.com/questions/19854502

  •  29-07-2022
  •  | 
  •  

Вопрос

Я отправлял электронную почту из 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); 
Это было полезно?

Решение

Отказ от подписки проста, если вы уже поддерживаете идентификаторы электронной почты пользователей в базе данных.

Пожалуйста, выполните следующие шаги:

Шаг 1: Создайте дополнительный столбец в таблице пользователя как unsubscribe в базе данных. это займет true или же false как значения. установить дефолт на false так что каждый подписанный пользователь получает электронную почту.

Примечание. Перед отправкой почтей пользователям, пожалуйста, проверьте их unsubscribe столбец. Если это ложь, отправьте электронное письмо. Если это правда, не отправляйте электронное письмо, так как они отказались от подписки.

Шаг 2: Создайте URL -файл отписного подписки, как показано ниже:

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

Шаг 3: Отправьте этот URL -адрес пользователю в качестве URL -адреса отписать, чтобы всякий раз, когда он чувствовал, чтобы отписаться, он мог сделать это, просто нажав на этот URL.

Шаг 4: Однажды, если пользователь нажимает на заданный URL -адрес, прочитайте значение QueryString EmailId 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+"'";

Другие советы

Я думаю, у вас где -то хранятся подписчики. Таким образом, простой способ отказаться от подписки-удалить запись из магазина по электронной почте.

Это не имеет ничего общего с классом SMTPClient.

Концепция списка рассылки включает в себя список адресов электронной почты, обычно сохраняемых в базе данных. Ваш код добавляет получателя из «Emailtxt», я думаю, текстовый поток?

  • Пока вы где -то не сохраняете адреса электронной почты, нет необходимости отписаться
  • Если вы сохраняете адреса электронной почты, создайте другой файл, который позволяет людям отказаться от того, чтобы записать.

Файл отказа от подписки обычно функционирует следующим образом:

  • Получите адрес электронной почты, чтобы отписаться в качестве параметра запроса на запрос
  • Отобразить этот адрес электронной почты в одном текстовом поле, а также кнопку «Отказаться от подписки»
  • Если пользователь нажимает эту кнопку, удалите адрес электронной почты из базы данных.
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top