资讯专栏INFORMATION COLUMN

MailBee.NET Objects撰写邮件教程(三):请求阅读/发送状态提示

amc / 1599人阅读

摘要:本文主要介绍了电子邮件请求阅读发送状态提示的代码示例。要查看邮件发送状态,开发人员应使用类。它可以用于将通知邮件与原始邮件进行匹配如果服务器不支持,则不会发送状态通知。发送状态信息尚未确保收件人已阅读该邮件。

MailBee.NET Objects是一款为创建、发送、接收以及处理电子邮件而设计的健壮、功能丰富的.NET控件。几行代码便可为应用程序添加E-Mail支持,简单高效。具备“必需”以及独特的功能,这些控件帮助开发人员简单快速地将复杂的电子邮件功能添加到他们的应用程序中。

本文主要介绍了电子邮件请求阅读/发送状态提示的代码示例。要查看邮件发送状态,开发人员应使用DeliveryNotificationOptions类。此类提供如何以及何时将ESMTP传递状态通知(DSN)发送回发送方的属性和方法。要获取或设置触发ESMTP服务器的事件,开发人员应使用NotifyCondition属性:

C#
Smtp mailer = new Smtp();
mailer.DeliveryNotification.NotifyCondition = DsnNotifyCondition.Always;

VB.NET
Dim mailer As New Smtp() 
mailer.DeliveryNotification.NotifyCondition = DsnNotifyCondition.Always

如果邮件服务器支持DSN扩展,则开发人员可以指定触发ESMTP服务器将发送状态发回邮件发送方的事件。为此开发人员应该使用DsnNotifyCondition枚举。例如,使用默认值,服务器将自行发送通知;如果邮件发送失败则会触发通知。有时,当邮件发送失败时,可以使用发送状态通知返回原始邮件。使用MailBee,开发人员可以指定邮件发送失败时哪个部分(整个邮件或仅标头)应与发送状态通知一起发回:

C#
mailer.DeliveryNotification.ReturnPortion = DsnReturnPortion.Header;

VB.NET
mailer.DeliveryNotification.ReturnPortion = DsnReturnPortion.Header

开发人员还可以指定将添加到通知邮件中的特定唯一字符串。它可以用于将通知邮件与原始邮件进行匹配:

​C#
mailer.DeliveryNotification.TrackingID = "UNQIUE_STRING_q8sdf74d";
VB.NET
mailer.DeliveryNotification.TrackingID = "UNQIUE_STRING_q8sdf74d"

如果服务器不支持DSN,则不会发送状态通知。但是,在这种情况下,不会向应用程序返回任何错误。你可以手动检
查服务器是否支持发送状态通知:

C#
if (mailer.GetExtension("DSN") != null)
{
Console.WriteLine("The message will be submitted with DSN support");
}
else
{
Console.WriteLine("The message will be submitted without DSN support");
}

VB.NET
If mailer.GetExtension("DSN") IsNot Nothing Then
Console.WriteLine("The message will be submitted with DSN support")
Else
Console.WriteLine("The message will be submitted without DSN support")
End If

请注意,你应该在Smtp.Connect方法调用后在调用GetExtension(“DSN”)。
请求查看邮件发送状态的另一种方法是使用MailMessage.ConfirmReceipt属性。它允许开发人员获取或设置应收到发送确认邮件的个人电子邮件地址。
以下代码设置Return-Receipt-To消息头:

C#
// Create new MailMessage object.
MailMessage msg = new MailMessage();

msg.LoadMessage(@"C:TempMyMail.eml");

msg.ConfirmReceipt = "jdoe@domain.com";

VB.NET
" Create new MailMessage object.
Dim msg As New MailMessage()

msg.LoadMessage("C:TempMyMail.eml")

msg.ConfirmReceipt = "jdoe@domain.com"

收件人的邮件服务器应该检查接收到的邮件Return-Receipt-To标题值,并将发送确认邮件发送到该标题中指定的电子邮件地址。因此,收件人的邮件软件必须支持Return-Receipt-To功能。一些服务器支持Return-Receipt-To和DSN,而其他服务器只支持其中一个,甚至不支持。你可以同时使用这两种方法。
发送状态信息尚未确保收件人已阅读该邮件。要获取包含电子邮件地址的字符串,请使用MailMessage.ConfirmRead属性。

C#
// Create new MailMessage object.
MailMessage msg = new MailMessage();

// Load the message from .eml file
msg.LoadMessage(@"C:TempMyMail.eml");

// Show the e-mail address of recipient of the read confirmation message.
Console.WriteLine("Send confirmation to " + msg.ConfirmRead);

VB.NET
" Create new MailMessage object.
Dim msg As New MailMessage()

" Load the message from .eml file
msg.LoadMessage("C:TempMyMail.eml")

" Show the e-mail address of recipient of the read confirmation message.
Console.WriteLine("Send confirmation to " + msg.ConfirmRead)

注意: 收件人使用的邮件客户端必须支持ConfirmRead功能(该软件必须支持Disposition-Notification-To标头)。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/110482.html

相关文章

  • MailBee.NET Objects撰写邮件教程(一):添加和删除自定义标题

    摘要:是一款为创建发送接收以及处理电子邮件而设计的健壮功能丰富的控件。本文主要介绍了如何添加和删除自定义标题的代码示例。开发人员还可以轻松地从邮件中删除所有自定义标题此方法可以删除标准的标题以外的所有标题。 MailBee.NET Objects是一款为创建、发送、接收以及处理电子邮件而设计的健壮、功能丰富的.NET控件。几行代码便可为应用程序添加E-Mail支持,简单高效。具备必需以及独特...

    snowell 评论0 收藏0
  • MailBee.NET Objects显示HTML/纯文本邮件教程):在Web应用程序中显示

    摘要:是一款为创建发送接收以及处理电子邮件而设计的健壮功能丰富的控件。本文主要介绍了在应用程序中显示纯文本邮件的代码示例。这也适用于在容器中渲染数据的桌面应用程序。 MailBee.NET Objects是一款为创建、发送、接收以及处理电子邮件而设计的健壮、功能丰富的.NET控件。几行代码便可为应用程序添加E-Mail支持,简单高效。具备必需以及独特的功能,这些控件帮助开发人员简单快速地将复...

    NotFound 评论0 收藏0
  • MailBee.NET Objects发送电子邮件(SMTP)教程六:创建并发送带有附件的邮件

    摘要:是一款为创建发送接收以及处理电子邮件而设计的健壮功能丰富的控件。本文主要介绍了如何使用创建并发送带有附件的邮件的代码示例。开发人员可以使用该方法从其他源内存阵列流转发的电子邮件特定类型的附件等中添加附件。 MailBee.NET Objects是一款为创建、发送、接收以及处理电子邮件而设计的健壮、功能丰富的.NET控件。几行代码便可为应用程序添加E-Mail支持,简单高效。具备必需以及...

    syoya 评论0 收藏0
  • MailBee.NET Objects发送电子邮件(SMTP)教程八:使用多个SMTP服务器发送邮件

    摘要:第一个重载允许添加直接对象,如下所示方法的下一次重载允许通过指定的服务器名称或相应的地址添加新的服务器,如下所示此外,开发人员可以指定服务器的端口号和优先级。默认优先级为即最高,默认端口号为。 MailBee.NET Objects是一款为创建、发送、接收以及处理电子邮件而设计的健壮、功能丰富的.NET控件。几行代码便可为应用程序添加E-Mail支持,简单高效。具备必需以及独特的功能,...

    snowell 评论0 收藏0
  • MailBee.NET Objects发送电子邮件(SMTP)教程七:添加多个附件

    摘要:是一款为创建发送接收以及处理电子邮件而设计的健壮功能丰富的控件。本文主要介绍了如何使用在邮件中添加多个附件的代码示例。要向邮件中添加多个附件,开发人员应该调用方法。最后一个附件被强制作为编码中的内联对象。 MailBee.NET Objects是一款为创建、发送、接收以及处理电子邮件而设计的健壮、功能丰富的.NET控件。几行代码便可为应用程序添加E-Mail支持,简单高效。具备必需以及...

    浠ラ箍 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<