Voglio testare un codice Java per l'invio di e-mail. Non voglio utilizzare alcun client di posta commerciale o connettermi a fornitori di posta esterni (come Gmail o Yahoo). Vorrei sapere se esiste un software che consente a un utente di configurare indirizzi e-mail fittizi e server (localmente) che possono essere utilizzati nel mio software per inviare e ricevere messaggi. Voglio solo testare la funzionalità del codice Java.
Per il test dell'e-mail, prova Dumbster. Dalla loro pagina:
The Dumbster è un server SMTP falso molto semplice progettato per unità e applicazioni di test del sistema che inviano messaggi di posta elettronica. Risponde a tutti i comandi SMTP standard ma non recapita i messaggi all'utente . I messaggi sono memorizzati all'interno di Dumbster per l'estrazione successiva e verifica.
The Dumbster si inserisce molto facilmente nella tua strategia di test. Come a mano a mano che l'applicazione comunica con un server di posta elettronica tramite SMTP, allora il Dumbster può essere utilizzato per testare l'applicazione senza modifiche al codice.
Esistono diverse forchette poiché la pagina originale non è più disponibile:
Più può essere trovato usando un Ricerca Github
Preferisco Fake SMTP per questo. È un'app desktop (racchiusa in un file jar). Poiché è scritto in Java, puoi eseguirlo sia da Linux/Mac/Windows
Prova GreenMail . È orientato all'utilizzo di JUnit, ma dovrebbe fare ciò di cui hai bisogno. Puoi eseguirlo in un'istanza di JBoss o fare in modo che i test JUnit inviino la posta a se stessi, in base alle tue esigenze specifiche.
Ci sono alcuni altri software simili là fuori, ma quello è quello che ho usato ed è stato ragionevolmente soddisfatto.
Puoi usare Wiser nella libreria SubEthaSMTP , lo scopo di Wiser è esattamente quello che vuoi, unit test.
Javamail-file-transport salva le e-mail sui file invece di inviarli tramite il server SMTP.
Guarda il progetto javaMail extensions su GitHub.
Aggiunge file transport che consente:
text
invece di inviarlimbox
invece di inviarlisu Leopard è possibile avviare un server SMTP locale (Postfix) su OS-X Leopard
Sudo vi /System/Library/LaunchDaemons/org.postfix.master.plist
prima del tag di chiusura alla fine:
<key>RunAtLoad</key> <true/> <key>KeepAlive</key> <true/>
quindi inizia la cosa con
Sudo postfix start
ora controlli se il servizio è in esecuzione con:
telnet localhost 25
Ho usato Mailtrap alcune volte, e posso consigliarlo.
usa l'Aspirina Dai documenti: Aspirin è un server SMTP di sola mandata integrabile per gli sviluppatori Java.
incredibile docker
https://hub.docker.com/r/mailhog/mailhog/
(gitHub - https://github.com/mailhog/MailHog )
Questa finestra mobile ha due porte:
Una porta per l'invio di e-mail SMTP (smtp: //0.0.0.0: 1025 /)
Una seconda porta per la visualizzazione dell'e-mail sul web ( http://0.0.0.0:8025/ )
eseguire la finestra mobile:docker pull mailhog/mailhog
docker run --name=mailhog -d -p 1025:1025 -p 8025:8025 mailhog/mailhog