¿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?

Patrick McElhaney
fuente
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.

rnwood
fuente
+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.

Joop
fuente
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í.

Adam Seabridge
fuente
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.

Fredou
fuente
9

Esto es similar al smtp4dev, excepto que se implementa en Java, por lo que funciona para desarrolladores que no son de Windows.

http://www.aboutmyip.com/AboutMyXApp/DevNullSmtp.jsp

txyoji
fuente
en mac, para usar el puerto 25, ejecute el siguiente comando en la terminal, en el mismo directorio que el archivo que descargó:sudo java -jar DevNullSmtp.jar
Brad Parks
6

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

Alix Axel
fuente
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.

Adrian Clark
fuente
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.

Caqui
fuente