이메일 반송 및 배달 알림

이메일을 보낼 때 수신자에게 이메일이 성공적으로 전달되었는지 알고 싶습니다. 이메일을 전달할 수 없을 때 발생하는 이메일 반송을 감지하고 관리하는 기능도 마찬가지로 중요합니다. 잘못된 이메일 주소, 전체 편지함, 서버 문제 등 다양한 이유로 발생할 수 있습니다. 반송 메일을 감지하는 것은 이메일 목록을 깨끗하고 최신 상태로 유지하고 메시지가 올바른 사람에게 전달되도록 하는 데 매우 중요합니다. 이 문서에서는 C# .NET 환경에서 이메일 반송 및 배달 알림을 효과적으로 처리하는 방법을 살펴보겠습니다.

이메일 반송 및 배달 알림을 처리하는 C# .NET API

C# .NET에서 이메일 반송 및 배달 알림을 효율적으로 관리하기 위해 이메일 관련 작업을 위한 포괄적인 도구 및 기능 세트를 제공하는 Aspose.Email 라이브러리를 사용할 것입니다. .NET용 Aspose.Email. 다운로드를 통해 DLL을 얻거나 다음 명령을 사용하여 NuGet에서 설치하여 API의 잠재력을 사용할 수 있습니다.

PM> Install-Package Aspose.Email

배달 알림이 포함된 이메일 보내기

아래 코드 조각은 Aspose.Email을 사용하여 이메일 메시지를 작성하고 배달 알림을 설정하는 방법을 보여줍니다. 이 코드를 사용하면 이메일 메시지를 작성하고, 보낸 사람 및 받는 사람 주소를 지정하고, 성공 및 실패에 대한 배달 알림을 구성할 수 있습니다. 또한 보다 포괄적인 추적을 위해 메시지에 MIME 헤더를 추가합니다. 코드는 다음 단계를 수행합니다.

  1. 새 이메일 메시지 만들기: 코드는 새 MailMessage 개체를 만드는 것으로 시작됩니다. MailMessage는 전송할 수 있는 eml 메시지를 나타내는 클래스입니다.

  2. 배달 알림 설정: DeliveryNotificationOptions는 OnSuccess 및 OnFailure로 설정됩니다. 이는 메시지가 성공적으로 배달되거나 배달이 실패할 경우 보낸 사람이 배달 보고서를 받기를 원한다는 의미입니다.

  3. 읽기 및 처리 알림을 위한 MIME 헤더 추가: 메시지 개체의 헤더는 보낸 사람의 이메일에 “Read-Receipt-To” 및 “Disposition-Notification-To” 헤더를 추가하는 데 사용됩니다. 이러한 헤더는 수신자가 이메일을 수신하고 처리할 때 각각 발신자의 이메일 주소로 읽기 및 처리 알림을 요청합니다.

  4. SMTP 클라이언트 설정: SmtpClient 클래스는 이메일 메시지를 보내는 데 사용됩니다. 이 클래스의 인스턴스는 지정된 호스트 및 사용자 자격 증명을 사용하여 생성됩니다.

  5. 메시지 보내기: 마지막으로 SmtpClient 개체의 Send 메서드가 MailMessage 개체를 인수로 사용하여 이메일을 보내기 위해 호출됩니다.

// 메시지 만들기
MailMessage msg = new MailMessage();
msg.From = "sender@sender.com";
msg.To = "receiver@receiver.com";
msg.Subject = "the subject of the message";

// 성공 및 실패한 메시지에 대한 전달 알림을 설정하고 MIME 헤더를 추가합니다.
msg.DeliveryNotificationOptions = DeliveryNotificationOptions.OnSuccess | DeliveryNotificationOptions.OnFailure;
msg.Headers.Add("Read-Receipt-To", "sender@sender.com");
msg.Headers.Add("Disposition-Notification-To", "sender@sender.com");

// 메시지 보내기
SmtpClient client = new SmtpClient("host", "username", "password");
client.Send(msg);

이메일 반송 처리

성공적인 이메일 전달을 보장하는 것 외에도 반송 처리를 위한 라이브러리 기능을 활용할 수 있습니다. 아래 코드 샘플은 반송된 이메일 메시지의 상태를 로드하고 확인하는 방법을 보여줍니다. 원본 메시지에서 파일 이름, 반송 상태, 작업, 수신자, 이유, 상태 및 수신자의 이메일 주소와 같은 반송된 이메일에 대한 중요한 정보를 검색하고 표시합니다. 코드는 다음 단계를 수행합니다.

  1. 코드는 Load 메서드를 사용하여 지정된 파일에서 전자 메일 메시지를 로드하기 위해 MailMessage 클래스의 인스턴스를 만드는 것으로 시작됩니다.

  2. 그런 다음 CheckBounced 메서드를 호출하여 이메일이 반송되었는지 확인합니다. 이 작업의 결과는 BounceResult 개체에 저장됩니다.

  3. 그런 다음 코드는 다음 속성을 통해 메시지에 대한 자세한 정보를 제공하는 콘솔에 fileName을 인쇄합니다.

MailMessage mail = MailMessage.Load(fileName);
BounceResult result = mail.CheckBounced();
Console.WriteLine(fileName);
Console.WriteLine("IsBounced : " + result.IsBounced);
Console.WriteLine("Action : " + result.Action);
Console.WriteLine("Recipient : " + result.Recipient);
Console.WriteLine();
Console.WriteLine("Reason : " + result.Reason);
Console.WriteLine("Status : " + result.Status);
Console.WriteLine("OriginalMessage ToAddress 1: " + result.OriginalMessage.To[0].Address);
Console.WriteLine();

결론

이 기사에서는 이메일 반송 및 배달 알림의 중요성에 대해 설명했습니다. 또한 코드 샘플을 통해 지원되는 처리 방법을 제공했습니다. 이제 이메일을 성공적으로 전달하고 발생할 수 있는 반송 메일을 관리할 수 있는 강력한 도구를 사용할 수 있습니다. 이러한 방법을 프로젝트에 통합하면 C# .NET 환경에서 효과적인 전자 메일 통신을 달성하고 메시지가 의도한 수신자에게 전달되도록 할 수 있습니다.

Aspose.Email for .NET의 더 자세한 정보나 기타 기능을 보려면 문서를 참조하세요. 질문이 있거나 어려움이 있는 경우 포럼을 방문하세요.

또한보십시오