首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >检查电子邮件的失败响应

问检查电子邮件的失败响应
EN

Stack Overflow用户
提问于 2016-03-31 07:34:32
回答 2查看 83关注 0票数 1

如何使用Asp.Net检查电子邮件发送方法中的故障响应。问题是我没有得到失败的例外。

请提出更好的办法。

这是我的代码,我试图访问电子邮件故障异常..。

代码语言:javascript
复制
public static bool sendMail(string strTo, string strSubject, string strName, string strbody)
{
    try
    {
        strName = strName == "" ? "Sir/Madam" : ("Dear " + strName + ",");
        StringBuilder mailbody = new StringBuilder();
        SmtpClient mailClient = null;
        MailMessage message = null;
        mailClient = new SmtpClient();
        message = new MailMessage();

        mailClient.Host = ConfigurationManager.AppSettings["SMTP_MAIL_SERVER"];
        mailClient.Port = int.Parse(ConfigurationManager.AppSettings["PORT"]);
        //network credentials
        string strMailUserName = ConfigurationManager.AppSettings["FROM_ADDR"];
        string strMailPassword = ConfigurationManager.AppSettings["FROM_ADDR_PASS"];
        string strWebSiteURL = ConfigurationManager.AppSettings["LinkTosite"];

        mailClient.EnableSsl = true;
        System.Net.NetworkCredential SMTPUserInfo = new System.Net.NetworkCredential(strMailUserName, strMailPassword);
        mailClient.UseDefaultCredentials = true;
        mailClient.Credentials = SMTPUserInfo;

        string strFromMail = ConfigurationManager.AppSettings["FROM_ADDR"];
        MailAddress fromAddress = new MailAddress(strFromMail, "TEST (Administrator)");
        message.From = fromAddress;

        message.DeliveryNotificationOptions = DeliveryNotificationOptions.OnFailure | DeliveryNotificationOptions.OnSuccess;

        //to mail address
        message.To.Add(strTo);
        message.Subject = "ChatOnGo : " + strSubject;

        //mailbody.AppendFormat("<link href='" + strWebSiteURL + "admin/css/bestlogin.css' rel='stylesheet' type='text/css' />");
        mailbody.AppendFormat("<div class='dlogin_bg'><div class='dlogin_bg_top'></div><div class='dlogin_bg_bottom'><h2>" + strName + "</h2>");
        mailbody.AppendFormat(strbody);
        mailbody.AppendFormat("<br/><br/><span>Regards,<br /><a href='" + strWebSiteURL + "'>ChatOnGo Admin</a></span></div></div>");

        message.Body = mailbody.ToString();
        message.IsBodyHtml = true;
        mailClient.SendMailAsync(message);


        message = null;
        mailClient = null;

        return true;
    }
    catch (SmtpFailedRecipientsException ep)
    {
        Console.WriteLine(ep.Message);
        return false;
    }
    catch (Exception ep)
    {
        Console.WriteLine(ep.Message);
        return false;
    }
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-04-01 06:05:42

我想你是在用gmail发送电子邮件。您应该发送电子邮件至少一次,如果电子邮件无效,您将收到失败通知。您可以创建一个夜间/每小时的工作来检查这些失败的电子邮件,并在数据库中将其标记为无效。

下面是以编程方式读取电子邮件的链接:

http://www.aspsnippets.com/Articles/Fetch-and-read-email-messages-with-attachments-from-GMAIL-POP3-mail-server-in-ASPNet.aspx

我希望这能帮到你!

票数 0
EN

Stack Overflow用户

发布于 2016-03-31 11:00:42

我不确定,但您是否可以尝试发送没有异步(SendMailAsync)的邮件,只需尝试调用普通的发送方法,可能会得到异常细节。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36326965

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档