【发布时间】:2008-12-21 05:11:56
【问题描述】:
如果我已将一些电子邮件排队等待通过 System.Net.Mail.SMTPClent 发送,我在哪里可以找到这封邮件?对于 Windows SMTP 客户端,它位于 C:\inetpub\mailroot 文件夹中 - .NET 客户端是否有类似的文件夹?
编辑:这是一个例子。如果我关闭我的 XP 计算机上的传出 SMTP 服务器,然后运行一个发送十几封电子邮件的应用程序,它们会在某个地方排队,因为 .NET SMTPClient.Send 调用成功。几个小时后,我启动了本地 SMTP 服务器,邮件突然飞快地离开了。期间在哪里?同样的行为发生在我的 Vista 桌面上,尽管我没有本地 SMTP 服务器——我可以通过在防火墙上阻止端口 25 来复制该功能,然后邮件在某处排队。在哪里?
这个问题的原因是我想在我拥有的服务器上重新启用 SMTP 服务,但我不知道在此期间排队的是什么,我想确保队列是干净的我重新启用该服务。这样一来,客户就不会突然收到非常非常旧的排队电子邮件。
编辑:显然,我不知道我在说什么。当我在 Vista 上执行此操作时:
Dim mm As New System.Net.Mail.MailMessage("me@me.com", "you@you.com", "Testing", "this is a test")
Dim s As New System.Net.Mail.SmtpClient("localhost")
s.DeliveryMethod = Mail.SmtpDeliveryMethod.PickupDirectoryFromIis
s.Send(mm)
我收到一个异常,因为我没有 IIS 拾取文件夹。将其更改为“Mail.SmtpDeliveryMethod.Network”会立即导致异常,因为我没有运行 SMTP 服务器。我将在服务器 2003 上对此进行测试,但我可以发誓这两者在过去都有效。如果需要,我会进行更多测试并修改问题。
【问题讨论】:
-
为什么不搜索邮件?它们不是以某种邮件消息格式存储的吗?
标签: .net smtpclient outgoing-mail