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