C# Mailkit 传递状态通知
C# Mailkit delivery status notification
我正在使用 MailKit 创建一个电子邮件管理系统。
我需要跟踪交货,但我只能找到 DeliveryStatusNotification enum
,但无处可应用。
我目前拥有的是:
var message = new MimeMessage();
DeliveryStatusNotification delivery =
DeliveryStatusNotification.Delay |
DeliveryStatusNotification.Failure |
DeliveryStatusNotification.Never |
DeliveryStatusNotification.Success;
message.Headers.Add(new Header(HeaderId.ReturnReceiptTo, "test@example.com")); // Delivery report
指导我正确的方向??
您需要做的是继承 SmtpClient 并覆盖 GetDeliveryStatusNotifications 方法:
class DSNSmtpClient : SmtpClient
{
protected override DeliveryStatusNotification? GetDeliveryStatusNotifications (MimeMessage message, MailboxAddress mailbox)
{
if (/* some criteria for deciding whether to get DSN's... */)
return DeliveryStatusNotification.Delay |
DeliveryStatusNotification.Failure |
DeliveryStatusNotification.Success;
return null;
}
}
我正在使用 MailKit 创建一个电子邮件管理系统。
我需要跟踪交货,但我只能找到 DeliveryStatusNotification enum
,但无处可应用。
我目前拥有的是:
var message = new MimeMessage();
DeliveryStatusNotification delivery =
DeliveryStatusNotification.Delay |
DeliveryStatusNotification.Failure |
DeliveryStatusNotification.Never |
DeliveryStatusNotification.Success;
message.Headers.Add(new Header(HeaderId.ReturnReceiptTo, "test@example.com")); // Delivery report
指导我正确的方向??
您需要做的是继承 SmtpClient 并覆盖 GetDeliveryStatusNotifications 方法:
class DSNSmtpClient : SmtpClient
{
protected override DeliveryStatusNotification? GetDeliveryStatusNotifications (MimeMessage message, MailboxAddress mailbox)
{
if (/* some criteria for deciding whether to get DSN's... */)
return DeliveryStatusNotification.Delay |
DeliveryStatusNotification.Failure |
DeliveryStatusNotification.Success;
return null;
}
}