在我的Web应用程序中,我有能力发送电子邮件,当我在本地计算机上调试它时效果很好,但是因为我使用IIS 8.5将其部署到服务器,所以它不会发送电子邮件。我需要做什么特殊设置来启用smtp吗?
try
{
MailMessage mail = new MailMessage();
mail.To.Add(emails);
mail.From = new MailAddress("test@test.co.uk");
mail.Subject = title;
LinkedResource report = new LinkedResource(new MemoryStream(img), "image/png");
var contentId = Guid.NewGuid().ToString();
report.ContentId = contentId;
var body = "<p style='font-family:Arial, Helvetica, sans-serif, Century Gothic; font-size: 16px;'>" + content + "</p>";
body = body + string.Format("<img src=\"cid:{0}\" />", contentId);
var av1 = AlternateView.CreateAlternateViewFromString(body, null, "text/html");
av1.LinkedResources.Add(report);
mail.AlternateViews.Add(av1);
mail.IsBodyHtml = true;
SmtpClient smtp = new SmtpClient();
smtp.Host = "mysmtphost.com";
smtp.UseDefaultCredentials = true;
smtp.Port = 25;
//smtp.DeliveryMethod = SmtpDeliveryMethod.PickupDirectoryFromIis;
smtp.EnableSsl = false;
smtp.Send(mail);
return true;
}
catch (Exception ex)
{
Debug.Write("Execption in sendEmail:" + ex.Message);
return false;
}
我还在服务器上设置了SMTP服务,并使用PowerShell成功发送电子邮件,但即使我更改为使用PickupDirectoryFromIIS(已评论的),我也无法从应用程序发送电子邮件。