¿Cómo desarrollar y probar una aplicación que envía correos electrónicos (sin llenar el buzón de alguien con datos de prueba)? [cerrado]


129

Tengo muchas aplicaciones que envían correos electrónicos. A veces son uno o dos mensajes a la vez. A veces son miles de mensajes.

En desarrollo, generalmente pruebo sustituyendo mi propia dirección por cualquier dirección de destinatario. Estoy seguro de que eso es lo que hacen los demás, hasta que se cansen y encuentren una mejor solución.

Estaba pensando en crear un servidor SMTP ficticio que solo capturara los mensajes y los volcara en una base de datos SQLLite, o un archivo mbox, o lo que sea.

¿Pero seguramente ya existe tal herramienta? ¿Cómo se prueba el envío de correo electrónico?


42
@casperOne ¿Por qué cerrar esta pregunta tres años y medio después? Es un problema sencillo con un puñado de soluciones útiles. No ha habido ningún debate, votación o discusión extendida. Si esta página desapareciera de los resultados de búsqueda de Google, ¿mejoraría Internet?
Patrick McElhaney el

1
Es una pregunta de lista de compras / recomendación de productos (y también inherentemente subjetiva y abierta: "¿cómo se prueba el envío de correo electrónico"), ninguno de los cuales ya se ajusta bien al sitio.
casperOne

3
@casperOne Luego reformula la pregunta para que no sea tan subjetiva. No estaba buscando el mejor producto en la categoría X. Preguntaba si existe la categoría X. De todos modos, no has respondido mi pregunta. Convénceme de que eliminar esta página mejoraría Internet y lo eliminaré yo mismo.
Patrick McElhaney el

12
@casperOne Me encontré con esta pregunta de Google preguntando por las opciones basadas en Windows (a diferencia de las opciones de Linux a las que tuve exposición anterior). Encontré todos los enlaces útiles. Esta página web se echará mucho de menos.
justin.lovell

55
Bueno, solo estaba buscando una herramienta de servidor de correo de Windows que solo toma los correos de localhost y esta pregunta me pareció simple y fácil. La respuesta votada es todo lo que la mayoría de la gente está buscando, así que no puedo ver por qué quieres cerrar esto, ya que hace lo que la mayoría de la gente espera.
sveri 05 de

Respuestas:


84

Enfrenté el mismo problema hace unas semanas y escribí esto: http://smtp4dev.codeplex.com

Servidor SMTP ficticio compatible con Windows 7 / Vista / XP / 2003/2010. Se sienta en la bandeja del sistema y no entrega los mensajes recibidos. Los mensajes recibidos se pueden ver, guardar y revisar la fuente / estructura rápidamente. Útil para probar / depurar software que genera correo electrónico.


+1 Un pequeño buggy pero overrall hace lo que se necesita. ¡Gracias!
David

44
Agradable cuando funciona pero muy propenso a los choques.
olefevre

Esto parece una aplicación brillante, desafortunadamente se bloquea para mí cada vez que se recibe un correo (ejecutando smtp4dev en win7, enviando desde el script de correo electrónico de prueba de correo electrónico de la base de datos de SQL Server)
Jona

Acabo de descargar esto para probar el código que envía un correo electrónico a través de sharepoint. No tenía SMTP instalado en mi virtual, por lo que esta aplicación funcionó de maravilla. ¡Prestigio!
Ryan

2
Por lo que vale, en Windows 7 - 64 Bit, smtp4dev no funcionaría, pero papercut.codeplex.com sí. Los correos se generaban utilizando JavaMail.
Ashutosh Jindal

73

Hace unos años me encontré con la siguiente solución para la plataforma .NET .

<system.net>
  <mailSettings>
    <smtp deliveryMethod="SpecifiedPickupDirectory">
      <specifiedPickupDirectory pickupDirectoryLocation="C:\TestMailMessages\" />
    </smtp>
  </mailSettings>
</system.net>

Simplemente coloque el código anterior en su App.config o Web.config. Cuando envíe un mensaje ahora, se almacenará como un archivo en el directorio que proporcionó como "pickupDirectoryLocation". Funciona de maravilla.


3
Impresionante, cero instalación ... funciona muy bien para mí. ¡Gracias!
WildJoe

Estoy usando SmtpClient en una aplicación web .Net con un host smtp específico configurado en tiempo de compilación. No veo ningún cambio en el comportamiento basado en agregar esto al final de mi web.config.

44
¡Ajá! Lanza una excepción a menos que cree la carpeta de antemano. ¡Buen truco!

1
Pequeño truco impresionante con cero instalación.
Mike Kruger

Tuvimos el mismo problema al trabajar con una pila .NET: terminamos creando este servicio para resolver el problema
IsNaN1247

18

Ahora hay una versión web de Papercut.

También la versión basada en la aplicación funciona bien para mí.


14

Dumbster podría ser lo que quieres entonces. Es un servidor SMTP falso de código abierto escrito en Java. Ocupa el lugar de un servidor SMTP real, por lo que puede probar su aplicación en una configuración realista, sin tener ningún código apagado. Puede asegurarse de que se envíen los mensajes correctos al servidor SMTP sin entregar realmente los mensajes.



6

También hay Papercut y Neptune , lástima que ninguno de estos pueda ejecutarse de forma portátil.


Finalmente pude probar esto. Desafortunadamente, ambos siguen fallando.
Patrick McElhaney

44
Acabo de probar Papercut. Funciona muy bien y tiene la característica adicional de poder ver el correo electrónico directamente en la interfaz de usuario.
Jeremy Wiebe

1
Papercut funciona. Lástima que solo sea Windows. Me gustaría ver esta plataforma cruzada.
Wim Deblauwe

6

He estado usando "Test Mail Server Tool" de ToolHeap durante años.

http://www.toolheap.com/test-mail-server-tool/

Es una aplicación simple que se ejecuta en la bandeja del sistema y descarga los correos electrónicos en una carpeta. También se puede configurar para abrir cada correo electrónico en su programa de correo predeterminado.


1
Igualmente. Simplemente funciona
Adaddinsane

5

si usa Java, usaría Wiser : Wiser es un servidor SMTP simple que puede usar para aplicaciones de prueba de unidades que envían correo.


Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.