Bagaimana cara mengembangkan dan menguji aplikasi yang mengirim email (tanpa mengisi kotak surat seseorang dengan data uji)? [Tutup]

129

Saya punya banyak aplikasi yang mengirim email. Terkadang satu atau dua pesan sekaligus. Terkadang ribuan pesan.

Dalam pengembangan, saya biasanya menguji dengan mengganti alamat saya sendiri dengan alamat penerima. Saya yakin itulah yang dilakukan orang lain, sampai mereka muak dengannya dan menemukan solusi yang lebih baik.

Saya sedang berpikir tentang membuat server SMTP dummy yang hanya menangkap pesan dan membuangnya dalam database SQLLite, atau file mbox, atau apa pun.

Tapi tentunya alat seperti itu sudah ada? Bagaimana Anda menguji pengiriman email?

Patrick McElhaney
sumber
42
@casperOne Mengapa menutup pertanyaan ini tiga setengah tahun kemudian? Ini masalah langsung dengan sejumlah solusi yang bermanfaat. Belum ada debat, polling, atau diskusi panjang. Jika halaman ini hilang dari hasil pencarian Google, apakah ini akan membuat internet lebih baik?
Patrick McElhaney
1
Ini adalah daftar saran belanja / pertanyaan produk (dan juga bersifat subjektif dan terbuka: "bagaimana Anda menguji pengiriman email"), tidak ada yang cocok untuk situs lagi.
casperOne
3
@casperOne Lalu ulangi pertanyaannya jadi tidak subyektif. Saya tidak mencari produk terbaik di kategori X. Saya bertanya apakah kategori X ada. Bagaimanapun, Anda belum menjawab pertanyaan saya. Meyakinkan saya bahwa menghapus halaman ini akan membuat internet lebih baik, dan saya akan menghapusnya sendiri.
Patrick McElhaney
12
@casperOne Saya menemukan pertanyaan ini dari Google yang menanyakan opsi-opsi berbasis Windows (sebagai lawan dari opsi-opsi Linux yang pernah saya kunjungi sebelumnya). Saya menemukan semua tautan bermanfaat. Halaman web ini akan sangat dirindukan.
justin.lovell
5
Yah, saya hanya mencari alat windows mail server yang hanya mengambil surat dari localhost dan saya menemukannya sederhana dan mudah dengan pertanyaan ini. Jawaban yang dipilih adalah semua orang mencari jadi saya tidak bisa melihat mengapa Anda ingin menutup ini karena melakukan apa yang diharapkan mayoritas orang.
sveri

Jawaban:

84

Saya menghadapi masalah yang sama beberapa minggu yang lalu dan menulis ini: http://smtp4dev.codeplex.com

Server SMTP dummy kompatibel dengan Windows 7 / Vista / XP / 2003/2010. Duduk di baki sistem dan tidak mengirimkan pesan yang diterima. Pesan yang diterima dapat dengan cepat dilihat, disimpan dan sumber / struktur diperiksa. Berguna untuk pengujian / debugging perangkat lunak yang menghasilkan email.

rnwood
sumber
+1 Sedikit buggy tetapi overrall melakukan apa yang dibutuhkannya. Terima kasih!
David
4
Bagus saat bekerja tetapi sangat rawan kecelakaan.
olefevre
Ini terlihat seperti aplikasi yang brilian, sayangnya itu crash untuk saya setiap kali surat diterima (menjalankan smtp4dev pada win7, mengirim dari SQL Server Database E-mail skrip Tes Email)
Jona
Cukup unduh ini untuk menguji kode pengiriman email melalui sharepoint. Saya tidak menginstal SMTP di virtual saya sehingga aplikasi ini bekerja seperti pesona. Pujian!
Ryan
2
Untuk apa nilainya, pada Windows 7 - 64 Bit, smtp4dev tidak akan berfungsi tetapi papercut.codeplex.com lakukan. Email sedang dibuat menggunakan JavaMail.
Ashutosh Jindal
73

Beberapa waktu lalu saya menemukan solusi berikut untuk platform .NET .

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

Cukup tempatkan kode di atas di App.config atau Web.config Anda. Saat Anda mengirim pesan sekarang, itu akan disimpan sebagai file di direktori yang Anda berikan sebagai "pickupDirectoryLocation". Bekerja seperti pesona.

Joop
sumber
3
Luar biasa, tanpa install ... berfungsi bagus untuk saya. Terima kasih!
WildJoe
Saya menggunakan SmtpClient dalam aplikasi web .Net dengan host smtp tertentu yang ditetapkan pada waktu kompilasi. Saya tidak melihat adanya perubahan perilaku berdasarkan menambahkan ini ke akhir web.config saya.
4
Aha! Melempar pengecualian kecuali Anda membuat folder sebelumnya. Trik yang bagus!
1
Trik kecil yang mengagumkan dengan nol instal.
Mike Kruger
Kami memiliki masalah yang sama ketika bekerja dengan tumpukan .NET - kami akhirnya membangun layanan ini untuk menyelesaikan masalah
isNaN1247
18

Sekarang ada Papercut versi web.

Juga versi berbasis aplikasi berfungsi dengan baik untuk saya.

Adam Seabridge
sumber
14

Bodoh mungkin apa yang Anda inginkan. Ini adalah server SMTP palsu open source yang ditulis dalam Java. Ini menggantikan SMTP server nyata, sehingga Anda dapat menguji aplikasi Anda dalam pengaturan yang realistis, tanpa ada kode yang terhapus. Anda dapat memastikan pesan yang tepat dikirim ke server SMTP tanpa benar-benar mengirimkan pesan.

Fredou
sumber
9

Ini mirip dengan smtp4dev kecuali diimplementasikan di java sehingga berfungsi untuk pengembang non-windows.

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

txyoji
sumber
pada mac, untuk menggunakan port 25, jalankan perintah berikut di terminal, dalam dir yang sama dengan file yang Anda unduh:sudo java -jar DevNullSmtp.jar
Brad Parks
6

Ada juga Papercut dan Neptunus , sayangnya tidak ada yang dapat dijalankan dengan cara yang portabel.

Alix Axel
sumber
Saya akhirnya mencoba ini. Sayangnya, keduanya terus menabrak.
Patrick McElhaney
4
Baru saja mencoba Papercut. Bekerja dengan baik dan memiliki fitur bonus untuk dapat melihat email langsung di UI.
Jeremy Wiebe
1
Pemotong kertas bekerja. Sayang sekali hanya Windows. Ingin melihat lintas platform ini.
Wim Deblauwe
6

Saya telah menggunakan "Alat Uji Server Surat" dari ToolHeap selama bertahun-tahun.

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

Ini adalah aplikasi sederhana yang berjalan di baki sistem Anda dan membuang email ke folder. Itu juga dapat dikonfigurasikan untuk membuka setiap email dalam program surat default Anda.

Adrian Clark
sumber
1
Juga. Itu hanya bekerja.
Adaddinsane
5

jika Anda menggunakan java saya akan menggunakan Wiser : Wiser adalah server SMTP sederhana yang dapat Anda gunakan untuk aplikasi pengujian unit yang mengirim email.

Persimmonium
sumber