我有一台装有IIS7的Windows Server 8计算机。
我在IIS7上配置了一个SMTP服务器,供.NET Web应用程序使用,向系统用户发送一些通知。
使用Deliver emails to SMTP server
,25
,端口localhost
将SMTP服务器配置为no authentication
。
我的问题是电子邮件发送正确,但直到一天甚至更长时间才发送。我在wwwroot的接送目录中看到了这些电子邮件,但他们只是留在那里。对于系统来说,立即发送电子邮件非常重要。
如何确保电子邮件能够立即发送?
我发现了一个解决类似问题的问题(在这种情况下,电子邮件没有从提取目录中找到,在我的情况下,它们会在一天左右后发送)Need help setup windows server 2008 SMTP server但答案是非常不完整所以我无法检查它是否也能解决我的问题。
这是我使用的代码:
MailMessage mailMessage = new MailMessage();
mailMessage.To.Add(toEmail);
mailMessage.From = new MailAddress(fromEmail);
mailMessage.Subject = emailSubject;
mailMessage.Body = emailBody;
mailMessage.IsBodyHtml = true;
SmtpClient smtpClient = new SmtpClient();
smtpClient.DeliveryMethod = SmtpDeliveryMethod.PickupDirectoryFromIis;
smtpClient.Send(mailMessage);
答案 0 :(得分:0)
您可以发布发送电子邮件的代码,或者至少确认它没有覆盖IIS设置吗?不同的SMTP属性是否设置在不同的级别 - 可能在服务器和网站上?
您可以尝试这样的操作,这样可以让SMTP服务立即发送电子邮件,而不是存储在提取目录中:
var smtpClient =
new SmtpClient("127.0.0.1", 25)
{
UseDefaultCredentials = false
};