c# – 如何确认邮件是否已经传送?

下面是我的编码,只是看看它

System.Net.Mail.MailMessage oMail = new System.Net.Mail.MailMessage();
System.Net.Mail.SmtpClient smtp = new System.Net.Mail.SmtpClient();
oMail.From = new System.Net.Mail.MailAddress("one@gmail.com");
oMail.To.Add(TextBox1.Text.Trim());
oMail.Subject = "Subject*";
oMail.Body = "Body*";
oMail.IsBodyHtml = true;
smtp.Host = "smtp.sendgrid.net";
System.Net.NetworkCredential cred = new System.Net.NetworkCredential("myusername", "mypassword");
smtp.UseDefaultCredentials = false;
smtp.Credentials = cred;
smtp.Send(oMail);

在这里,我需要检查邮件是否已经交付.

你不行由于您使用SMTP,一般情况下,无法确定传递是否成功.阅读SMTP规范.邮件在传送时进行路由,所以:

>一旦你打电话给smtp.Send(),就不用保证你的消息被发送了.>由于SMTP被路由,您不能确定路由上的某个节点不会通过传送到上行链路而失败.

相关文章
相关标签/搜索