SmtpClient电子邮件未发送,未捕获和未记录?

时间:2017-09-07 23:07:51

标签: asp.net email iis smtp smtpclient

我们的网站是发送一个特定的电子邮件,它没有发送电子邮件,它也没有记录错误,这是不寻常的,因为我有一个尝试捕获设置,应该记录尝试或捕获部分中的条目。

1)为什么不登录? 我不应该使用Exception而是使用SmtpException和SmptFailedException。如果我有这个会有所作为吗?如果是这样,请提供一个例子。

2)我们目前使用的端口是587.由于我们的网站是SSL,因此我们应该使用443端口。这会有所作为吗?

使用

异步调用以下代码
 ThreadPool.QueueUserWorkItem(new WaitCallback(SendInstructions), guid);

然后调用一个函数,然后调用下面的SendEmail函数

public static bool SendEmail(String strToAddress, String strFromAddress, String strFromName, String strSubject, String strRecipientName, String strBody, String strEmbeddedImagePath, String strEmbeddedImageName, String strCCReminderEmail)
{
try
    {
        SmtpClient client = new SmtpClient();
        client.EnableSsl = true;

        using (MailMessage message = new MailMessage(
            new MailAddress(strFromAddress, strFromName),
            new MailAddress(strToAddress, strRecipientName)))
        {
            message.IsBodyHtml = true;
            message.Subject = strSubject;
            message.Body = strBody;

            if (!string.IsNullOrEmpty(strCCReminderEmail))
                message.CC.Add(strCCReminderEmail);

            client.Send(message);

            LogEmail(strFromAddress, strToAddress, strSubject, "Sent", strBody);
            return true;
        }
    }
    catch (Exception ex)
    {
        //log email
       LogEmail(strFromAddress, strToAddress, strSubject, "Error", strBody);
        throw;
    }

}

0 个答案:

没有答案