Pergunta

Como posso testar o envio de e-mail do meu aplicativo sem inundar minha caixa de entrada?

Existe uma maneira de dizer IIS / ASP.NET como entregar e-mail para uma pasta local para a inspeção?

Foi útil?

Solução

Sim, há um caminho.

Você pode alterar web.config assim tão que quando você envia e-mail que vai ao invés, ser criado como um arquivo .eml em c: \ localdir

.
    <configuration>  
     <system.net>    
      <mailSettings>      
       <smtp deliveryMethod="SpecifiedPickupDirectory">        
        <specifiedPickupDirectory pickupDirectoryLocation="c:\LocalDir"/>      
       </smtp>    
      </mailSettings>  
     </system.net>
    </configuration>

Você também pode criar uma instância da SmtpClient classe com essas mesmas configurações, se você não quer / não pode mudar o web.config. Em C #, que é algo como isto:

var smtpClient = new SmtpClient();
smtpClient.DeliveryMethod = SmtpDeliveryMethod.SpecifiedPickupDirectory;
var emailPickupDirectory = HostingEnvironment.MapPath("~/EmailPickup");
if (!Directory.Exists(emailPickupDirectory)) { 
    Directory.CreateDirectory(emailPickupDirectory)
}
smtpClient.PickupDirectoryLocation = emailPickupDirectory;

Outras dicas

Configurar regras em seu cliente de e-mail para mover as mensagens com base no endereço de e-mail do assunto / remetente?

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top