1

我有一台装有 IIS7 的 Windows Server 8 机器。

我在 IIS7 上配置了一个 SMTP 服务器,供 .NET Web 应用程序使用,向系统用户发送一些通知。

SMTP 服务器配置为Deliver emails to SMTP server在端口25上使用localhost, no authentication

我的问题是电子邮件发送正确,但直到一天或更长时间后才发送。我在 wwwroot 的取件目录中看到了电子邮件,但它们只是留在那里。对于系统而言,立即发送电子邮件非常重要。

如何确保电子邮件立即发送?

我发现了一个解决类似问题的问题(在这种情况下,电子邮件没有从取件目录中取出,在我的情况下,它们是在一天左右后发送的)需要帮助设置 windows server 2008 SMTP 服务器但给出的答案是很不完整,所以我无法检查它是否也能解决我的问题。

这是我使用的代码:

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);
4

1 回答 1

0

您能否发布发送电子邮件的代码,或者至少确认它没有覆盖 IIS 设置?不同的 SMTP 属性是否设置在不同的级别 - 可能在服务器和网站上?

您可以尝试这样的事情,这应该允许 SMTP 服务立即发送电子邮件,而不是存储在拾取目录中:

var smtpClient =
    new SmtpClient("127.0.0.1", 25)
    {
        UseDefaultCredentials = false
    };
于 2013-03-01T18:47:34.853 回答