我正在使用C#,我需要知道我的程序发送的电子邮件何时收到destinatary的收件箱文件夹。 这可能吗?
答案 0 :(得分:0)
您可以尝试使用此代码
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);
答案 1 :(得分:0)
据我所知,我们无法验证邮件是否已到达收件人的收件箱。在最大值,我们可以验证发送的邮件是否已到达收件人的电子邮件服务器。电子邮件离开后,它就不再受您控制了。考虑一下,我从雅虎发送邮件到Gmail。在max,我可以验证邮件是否已发送到gmail服务器但不是用户收件箱。
对于SMS:以twilio服务为例,当您使用twilio服务向vodafone发送短信时,twilio会向vodafone(运营商)发送短信,如果运营商发送回复说,已发送消息(Vodafone服务器)则只有twilio可以将该状态发回给您,但有时甚至承运人也不会发送'发送'到twilio的状态所以它不能保证。
所以,简而言之,你无法做到。你无法确认邮件已经到达人们的收件箱。