문제

나는 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); 
도움이 되었습니까?

해결책

이미 데이터베이스에서 사용자 이메일 ID를 유지 관리하는 경우 구독 취소가 쉽습니다.

아래 단계를 따르십시오.

1 단계: 사용자 테이블에서 추가 열을 만듭니다 unsubscribe 데이터베이스에서. 그것은 걸릴 것이다 true 또는 false 값으로. 기본값을 설정하십시오 false 구독 한 모든 사용자가 이메일을 받도록합니다.

참고 : 사용자에게 메일을 보내기 전에 unsubscribe 열. 잘못된 경우 이메일을 보내십시오. 그것이 사실이라면, 그들이 구독하지 않은 상태에서 이메일을 보내지 마십시오.

2 단계: 아래와 같이 구독 취소 URL을 만듭니다.

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

3 단계 : 이 URL을 사용자에게 구독 취소 URL로 보내면 구독을 취소 할 때마다 해당 URL을 클릭하면 그렇게 할 수 있습니다.

4 단계 : 주어진 URL을 클릭하면 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"에서 수신기를 추가합니다. 텍스트 상자가있을 것 같아요?

  • 어딘가에 이메일 주소를 저장하지 않는 한, 구독을 취소 할 필요가 없습니다.
  • 이메일 주소를 저장하면 사람들이 거부 할 수있는 다른 파일을 만듭니다.

구독 취소 파일은 일반적으로 다음과 같이 작동합니다.

  • QueryString 매개 변수로 구독을 취소 할 이메일 주소를받습니다.
  • 이 이메일 주소를 단일 텍스트 상자에 표시하고 "구독 취소"버튼과 함께 표시하십시오.
  • 사용자 가이 버튼을 클릭하면 데이터베이스에서 이메일 주소를 제거하십시오.
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top