我怎样才能让电子邮件到本地文件夹在测试过程? [英] How can I make email go to a local folder during testing?
问题描述
我如何测试从我的应用程序发送电子邮件,而不泛滥我的收件箱?
有没有办法告诉IIS / ASP.NET如何传送电子邮件到本地文件夹进行检查?
是的,有一种方式。
您可以改变web.config中像这样如此
。
当您发送电子邮件它会
替代地作为在一个.EML文件创建
C:\\ LOCALDIR
块引用><结构>
< system.net>
< mailSettings>
< SMTP deliveryMethod =SpecifiedPickupDirectory>
< specifiedPickupDirectory pickupDirectoryLocation =C:\\ LOCALDIR/>
< / SMTP>
< / mailSettings>
< /system.net>
&LT; /结构&gt;您还可以创建的一个实例<一个href=\"http://msdn.microsoft.com/en-us/library/system.net.mail.smtpclient.aspx\"><$c$c>SmtpClient$c$c>以相同的设置类,如果你不想/不能改变的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屋!