[英]how to know the different status of sended email in c#
我正在用c#创建一个应用程序。 我必须知道如何知道已发送电子邮件的状态。状态可能是。
4. Track sent emails to determine if they were:
4.1 delivered
4.2 opened
4.3 recipient opt-out
4.4 bounced (with the reason for the bounce)
4.5 time/date sent
4.6 which links in the email were clicked (and time/date they were clicked)
4.7 IP address, if user clicked any links in the email
我是否应该使用任何API或Dll或其他方法。请提供帮助。我们将非常感谢您的帮助。
如果您对应用程序进行编程以通过托管的SMTP服务器(例如http://www.sendgrid.com或http://www.ultrasmtp.com)发送邮件,则可以访问已发送邮件的传递状态。
没有简单的方法可以做您想要的。 实际上,此状态可以由您的SMTP服务器本身进行跟踪,并且如果您使用的是某些第三方SMTP服务器(例如GMail或任何公司服务器),那么恐怕如果不使用经过身份验证的客户端,它们将无法使您访问这些信息。
在C#程序中,如果SmtpClient.Send()
方法返回true,则可以假定邮件已传递到SMTP服务器。 如果万一发送失败,您应该收到一封邮件到出站邮件ID的收件箱。 如果要使出站邮件显示在发件箱中,则应相应地配置IMAP / POP3配置。
据我所知,没有可用的API或DLL以您想要的确切形式提供。 您可以尝试其他方式,例如从服务器跟踪邮件正文中的哈希或嵌入式图像。 但这不是可靠的方法,因为大多数现代消息传递服务对此都有相应的对策。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.