2008-10-07 1 views
13

Как проверить отправку электронной почты из моего приложения, не наводя почтовый ящик?Как я могу отправить электронную почту в локальную папку во время тестирования?

Есть ли способ сообщить IIS/ASP.NET, как отправить электронную почту в локальную папку для проверки?

+0

Не закрывайте вопросы, подобные этому. Вместо этого помогите парню. – GEOCHET 2008-10-07 11:39:02

ответ

31

Да, есть способ.

Вы можете изменить web.config как это так , что при отправке по электронной почте будет вместо этого будет создан как файл .EML в C: \ LocalDir.

<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; 
1

Настройки в почтовом клиенте, чтобы переместить сообщения, основанные на адрес электронной почты/субъектным отправителя?

Смежные вопросы