繁体   English   中英

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;
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM