如何在测试期间将电子邮件发送到本地文件夹? [英] How can I make email go to a local folder during testing?

查看:17
本文介绍了如何在测试期间将电子邮件发送到本地文件夹?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

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

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

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

推荐答案

是的,有办法.

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

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>

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

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天全站免登陆