20

如何测试从我的应用程序发送电子邮件而不会淹没我的收件箱?

有没有办法告诉 IIS/ASP.NET 如何将电子邮件发送到本地文件夹以供检查?

4

2 回答 2

42

是的,有办法。

您可以像这样更改 web.config,以便在您发送电子邮件时将其创建为 c:\LocalDir 中的 .EML 文件。

    <configuration>  
     <system.net>    
      <mailSettings>      
       <smtp deliveryMethod="SpecifiedPickupDirectory">        
        <specifiedPickupDirectory pickupDirectoryLocation="c:\LocalDir"/>      
       </smtp>    
      </mailSettings>  
     </system.net>
    </configuration>

SmtpClient如果您不想/不能更改 web.config,也可以使用这些相同的设置创建类的实例。在 C# 中看起来像这样:

var smtpClient = new SmtpClient();
smtpClient.DeliveryMethod = SmtpDeliveryMethod.SpecifiedPickupDirectory;
var emailPickupDirectory = HostingEnvironment.MapPath("~/EmailPickup");
if (!Directory.Exists(emailPickupDirectory)) { 
    Directory.CreateDirectory(emailPickupDirectory)
}
smtpClient.PickupDirectoryLocation = emailPickupDirectory;
于 2008-10-07T11:41:58.923 回答
1

在您的电子邮件客户端中配置规则以根据主题/发件人的电子邮件地址移动邮件?

于 2008-10-07T13:22:17.007 回答