如何在测试期间将电子邮件发送到本地文件夹?

时间:2008-10-07 11:08:19

标签: asp.net testing smtp

如何在不充斥我的收件箱的情况下测试从我的应用程序发送电子邮件?

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

2 个答案:

答案 0 :(得分:37)

是的,有办法。

  

你可以像这样改变web.config   当你发送电子邮件时它会   而是创建为.EML文件   C:\ LOCALDIR

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

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

var smtpClient = new SmtpClient();
smtpClient.DeliveryMethod = SmtpDeliveryMethod.SpecifiedPickupDirectory;
var emailPickupDirectory = HostingEnvironment.MapPath("~/EmailPickup");
if (!Directory.Exists(emailPickupDirectory)) { 
    Directory.CreateDirectory(emailPickupDirectory)
}
smtpClient.PickupDirectoryLocation = emailPickupDirectory;

答案 1 :(得分:1)

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