Como desenvolver e testar um aplicativo que envia emails (sem preencher a caixa de correio de alguém com dados de teste)? [fechadas]

129

Eu tenho muitos aplicativos que enviam email. Às vezes, é uma ou duas mensagens de cada vez. Às vezes são milhares de mensagens.

No desenvolvimento, geralmente testei substituindo o meu próprio endereço por qualquer endereço de destinatário. Tenho certeza de que é isso que todo mundo faz, até se cansar e encontrar uma solução melhor.

Eu estava pensando em criar um servidor SMTP fictício que apenas captura as mensagens e as despeja em um banco de dados SQLLite, em um arquivo mbox ou o que seja.

Mas certamente essa ferramenta já existe? Como você testa o envio de email?

Patrick McElhaney
fonte
42
@casperOne Por que encerrar essa pergunta três anos e meio depois? É um problema direto com algumas soluções úteis. Não houve nenhum debate, votação ou discussão prolongada. Se esta página desaparecesse dos resultados de pesquisa do Google, tornaria a Internet melhor?
22312 Patrick McElhaney
1
É uma pergunta de recomendação de lista de produtos / produto (e também inerentemente subjetiva e aberta: "como você testa o envio de e-mail"), e nenhuma delas é mais adequada ao site.
casperOne
3
@casperOne Em seguida, reformule a pergunta para que não seja tão subjetiva. Eu não estava procurando o melhor produto da categoria X. Estava perguntando se a categoria X existe. De qualquer forma, você não respondeu minha pergunta. Convença-me de que remover esta página melhoraria a Internet e eu mesma a excluirei.
Patrick McElhaney
12
O @casperOne me deparei com essa pergunta do Google, perguntando sobre as opções baseadas no Windows (em oposição às opções do Linux às quais eu tinha exposto anteriormente). Achei todos os links úteis. Esta página da web fará muita falta.
Justin.lovell
5
Bem, eu estava procurando por uma ferramenta de servidor de correio do Windows que apenas receba os emails do localhost e achei simples e fácil com essa pergunta. A resposta votada é tudo o que a maioria das pessoas procura, então não consigo entender por que você deseja encerrar isso, pois faz o que a maioria das pessoas espera.
sveri

Respostas:

84

Eu enfrentei o mesmo problema há algumas semanas e escrevi o seguinte: http://smtp4dev.codeplex.com

Servidor SMTP fictício compatível com Windows 7 / Vista / XP / 2003/2010. Senta-se na bandeja do sistema e não entrega as mensagens recebidas. As mensagens recebidas podem ser rapidamente visualizadas, salvas e a origem / estrutura inspecionada. Útil para testar / depurar software que gera email.

rnwood
fonte
+1 Um pouco de buggy, mas a ultrapassagem faz o que é necessário. Obrigado!
David
4
Bom quando funciona, mas muito propenso a acidentes.
1111 olefevre
Isto parece um aplicativo brilhante, infelizmente cai para mim cada vez que um email é recebido (em execução smtp4dev em Win7, o envio do banco de dados SQL Server roteiro E-mail Test Mail)
Jona
Basta fazer o download para testar o código que envia o email pelo sharepoint. Eu não tinha o SMTP instalado no meu virtual, então este aplicativo funcionou como um encanto. Parabéns!
21711 Ryan
2
Pelo que vale a pena, no Windows 7 - 64 Bit, o smtp4dev não funcionaria, mas papercut.codeplex.com funcionou. Os e-mails estavam sendo gerados usando JavaMail.
Ashutosh Jindal
73

Há alguns anos, me deparei com a seguinte solução para a plataforma .NET .

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

Basta colocar o código acima em seu App.config ou Web.config. Quando você envia uma mensagem agora, ela será armazenada como um arquivo no diretório que você forneceu como "pickupDirectoryLocation". Funciona como um encanto.

Joop
fonte
3
Impressionante, instalação zero ... funciona muito bem para mim. Obrigado!
WildJoe
Estou usando o SmtpClient em um aplicativo da web .Net com um host smtp específico definido em tempo de compilação. Não estou vendo nenhuma alteração no comportamento com base na adição disso ao final do meu web.config.
4
Aha! Lança uma exceção, a menos que você crie a pasta antes da mão. Bom truque!
1
Truque impressionante com instalação zero.
Mike Kruger
Tivemos o mesmo problema quando se trabalha com uma pilha .NET - acabamos construindo este serviço para resolver o problema
isNaN1247
18

Agora existe uma versão baseada na Web do Papercut.

Além disso, a versão baseada em aplicativo funciona bem para mim.

Adam Seabridge
fonte
14

Dumbster pode ser o que você quer então. É um servidor SMTP falso de código aberto, escrito em Java. Ele substitui um servidor SMTP real, para que você possa testar seu aplicativo em uma configuração realista, sem que nenhum código seja apagado. Você pode garantir que as mensagens corretas sejam enviadas ao servidor SMTP sem realmente entregar as mensagens.

Fredou
fonte
9

Isso é semelhante ao smtp4dev, exceto implementado em java, portanto funciona para desenvolvedores que não são o Windows.

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

txyoji
fonte
no mac, à porta uso 25, execute o seguinte comando no terminal, no mesmo dir como o arquivo que você baixar:sudo java -jar DevNullSmtp.jar
Brad Parks
6

Há também Papercut e Netuno , que pena que nenhum deles pode ser executado de maneira portátil.

Alix Axel
fonte
Finalmente cheguei a tentar isso. Infelizmente, os dois continuam travando.
Patrick McElhaney
4
Apenas tentei Papercut. Funciona muito bem e tem o recurso de bônus de poder visualizar o email diretamente na interface do usuário.
Jeremy Wiebe
1
Papercut funciona. Pena que é apenas o Windows. Gostaria de ver esta plataforma cruzada.
Wim Deblauwe
6

Eu uso o "Test Mail Server Tool" do ToolHeap há anos.

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

É um aplicativo simples que é executado na bandeja do sistema e despeja e-mails em uma pasta. Também pode ser configurado para abrir cada email no seu programa de email padrão.

Adrian Clark
fonte
1
Da mesma forma. Isso simplesmente funciona.
Adaddinsane
5

se você estiver usando java, eu usaria o Wiser : O Wiser é um servidor SMTP simples que você pode usar para aplicativos de teste de unidade que enviam email.

Caqui
fonte