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

StackOverflow https://stackoverflow.com/questions/177974

  •  05-07-2019
  •  | 
  •  

Вопрос

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

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

Это было полезно?

Решение

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

  

Вы можете изменить 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;

Другие советы

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top