如果ASP中没有一封邮件,则无法发送邮件

时间:2014-01-22 22:13:40

标签: asp.net email smtpclient newsletter

我已经编写了发送简报的代码,一切正常,但是如果列表中的某个电子邮件地址没有退出或域名不存在则会出现问题。

在这种情况下,脚本会立即停止,并且邮件列表的发送尚未完成。

以下是我要修改的代码部分。

public static void SendMessage(String sender, String recipient, String message, String object) 
{
    try
    {
        MailMessage mail = new MailMessage(sender, recipient);
        mail.Subject = object;
        mail.IsBodyHtml = true;
        mail.Body = message;
        SmtpClient smtp = new SmtpClient();
        smtp.Host = "my.smtp.com";
        smtp.Send(mail);
    }
    catch (Exception e)
    { throw new Exception("AdminEmail - SendMessage >> recipient: " + recipient + " - generic error: " + e.Message); }
}
希望somone可以帮助我,非常感谢你!

1 个答案:

答案 0 :(得分:0)

欢迎来到SO。 从我可以从您的描述中推断出,您不会处理SendMessage抛出的异常。

处理调用方法中的异常。或者进行如下所示的脏修复......

这不是一个真正的解决方案。但是会帮助你理解这个问题......你必须在你的调用方法中确定如果SendMessage抛出异常该怎么办。

public static void SendMessage(String sender, String recipient, String message, String object) 
        {

       try
            {
                MailMessage mail = new MailMessage(sender, recipient);
                mail.Subject = object;
                mail.IsBodyHtml = true;
                mail.Body = message;
                SmtpClient smtp = new SmtpClient();
                smtp.Host = "my.smtp.com";
                smtp.Send(mail);
            }
            catch (Exception e)
            { 
                  //Just log error and continue to process

            }   
    }