¿Cómo puedo hacer que el correo electrónico vaya a una carpeta local durante las pruebas?

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

  •  05-07-2019
  •  | 
  •  

Pregunta

¿Cómo puedo probar el envío de correos electrónicos desde mi aplicación sin inundar mi bandeja de entrada?

¿Hay alguna forma de decirle a IIS / ASP.NET cómo enviar un correo electrónico a una carpeta local para su inspección?

¿Fue útil?

Solución

Sí, hay una manera.

  

Puedes alterar web.config como este para   que cuando envíes un email lo hará   en lugar de ser creado como un archivo .EML en   c: \ LocalDir.

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

También puede crear una instancia del SmtpClient con esta misma configuración, si no desea / no puede cambiar el web.config. En C # que se ve algo como esto:

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

Otros consejos

¿Configurar reglas en su cliente de correo electrónico para mover los mensajes según la dirección de correo electrónico del sujeto / remitente?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top