我怎样才能让电子邮件到本地文件夹在测试过程? [英] How can I make email go to a local folder during testing?

查看:177
本文介绍了我怎样才能让电子邮件到本地文件夹在测试过程?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我如何测试从我的应用程序发送电子邮件,而不泛滥我的收件箱?

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


解决方案

是的,有一种方式。


  

您可以改变web.config中像这样如此
  当您发送电子邮件它会
  替代地作为在一个.EML文件创建
  C:\\ LOCALDIR


 <结构>
     < system.net>
      < mailSettings>
       < SMTP deliveryMethod =SpecifiedPickupDirectory>
        < specifiedPickupDirectory pickupDirectoryLocation =C:\\ LOCALDIR/>
       < / SMTP>
      < / mailSettings>
     < /system.net>
    < /结构>

您还可以创建的一个实例<一个href=\"http://msdn.microsoft.com/en-us/library/system.net.mail.smtpclient.aspx\"><$c$c>SmtpClient以相同的设置类,如果你不想/不能改变的web.config。在C#中,看起来是这样的:

  VAR smtpClient =新SmtpClient();
smtpClient.DeliveryMethod = SmtpDeliveryMethod.SpecifiedPickupDirectory;
变种emailPickupDirectory = HostingEnvironment.MapPath(〜/ EmailPickup);
如果(!Directory.Exists(emailPickupDirectory)){
    Directory.CreateDirectory(emailPickupDirectory)
}
smtpClient.PickupDirectoryLocation = emailPickupDirectory;

How can I test sending email from my application without flooding my inbox?

Is there a way to tell IIS/ASP.NET how to deliver email to a local folder for inspection?

解决方案

Yes there is a way.

You can alter web.config like this so that when you send email it will instead be created as an .EML file in c:\LocalDir.

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

You can also create an instance of the SmtpClient class with these same settings, if you don't want to/can't change the web.config. In C# that looks something like this:

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

这篇关于我怎样才能让电子邮件到本地文件夹在测试过程?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆