C# 如何知道何时收到电子邮件
我正在使用C#,我需要知道destinatary的收件箱文件夹何时收到我的程序发送的电子邮件。 这可能吗?您可以尝试此代码C# 如何知道何时收到电子邮件,c#,email,C#,Email,我正在使用C#,我需要知道destinatary的收件箱文件夹何时收到我的程序发送的电子邮件。 这可能吗?您可以尝试此代码 SmtpClient client = new SmtpClient(); client.Port = 587; client.Host = "smtp.gmail.com"; client.EnableSsl = true; client.Timeout = 10000;
SmtpClient client = new SmtpClient();
client.Port = 587;
client.Host = "smtp.gmail.com";
client.EnableSsl = true;
client.Timeout = 10000;
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.UseDefaultCredentials = false;
client.Credentials = new System.Net.NetworkCredential("Your Email Address", "Your Emaill Password");
MailMessage mm = new MailMessage("Sender Email", "Reciver Email", "subject", "body");
mm.BodyEncoding = UTF8Encoding.UTF8;
mm.DeliveryNotificationOptions = DeliveryNotificationOptions.OnFailure;
client.Send(mm);
据我所知,我们无法验证邮件是否已到达收件人的收件箱。在max,我们可以验证发送的邮件是否已到达收件人的电子邮件服务器。一旦电子邮件离开你,它就不再由你控制了。考虑一下,我从雅虎发送邮件到Gmail。在max,我可以验证邮件是否已发送到gmail服务器,但用户的收件箱没有 对于短信息:以twilio服务为例,当您使用twilio服务向沃达丰发送短信息时,如果运营商发送回复,说明消息已发送(沃达丰服务器),twilio将向沃达丰(运营商)发送短信息然后,只有twilio可以将该状态发回给您,但有时即使是运营商也不会将“已发送”状态发送给twilio,因此这并不保证
总之,你不能。你无法确认邮件是否已到达某个人的收件箱。通常情况下,除非你控制邮箱所在的服务器。为什么不试试像mail gun这样有API发送电子邮件的服务呢?根据你的电子邮件流量,你可以使用免费或付费服务。至少他们有日志和返回类型(成功/失败),以便您可以检查