Как сделать так, чтобы электронная почта отправлялась в локальную папку во время тестирования? - PullRequest
18 голосов
/ 07 октября 2008

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

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

Ответы [ 2 ]

37 голосов
/ 07 октября 2008

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

Вы можете изменить 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 голос
/ 07 октября 2008

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...