จะพัฒนาและทดสอบแอปที่ส่งอีเมลได้อย่างไร (โดยไม่ต้องกรอกข้อมูลทดสอบในกล่องจดหมายของผู้อื่น) [ปิด]


129

ฉันมีแอพมากมายที่ใช้ส่งอีเมล บางครั้งอาจเป็นครั้งละหนึ่งหรือสองข้อความ บางครั้งก็เป็นพันข้อความ

ในการพัฒนาฉันมักจะทดสอบโดยแทนที่ที่อยู่ของตัวเองสำหรับที่อยู่ผู้รับใด ๆ ฉันแน่ใจว่านั่นคือสิ่งที่คนอื่นทำจนกว่าพวกเขาจะเบื่อหน่ายและหาทางออกที่ดีกว่า

ฉันกำลังคิดเกี่ยวกับการสร้างเซิร์ฟเวอร์ SMTP จำลองที่จับข้อความและทิ้งลงในฐานข้อมูล SQLLite หรือไฟล์ mbox หรืออะไรก็ตาม

แต่แน่นอนว่ามีเครื่องมืออยู่แล้ว? คุณจะทดสอบการส่งอีเมลได้อย่างไร?


42
@casperOne ทำไมต้องปิดคำถามนี้ในอีกสามปีครึ่งต่อมา? เป็นปัญหาที่ตรงไปตรงมาพร้อมด้วยวิธีแก้ปัญหาที่มีประโยชน์จำนวนหนึ่ง ไม่มีการอภิปรายการหยั่งเสียงหรือการอภิปรายเพิ่มเติม หากหน้านี้หายไปจากผลการค้นหาของ Google จะทำให้อินเทอร์เน็ตดีขึ้นหรือไม่
Patrick McElhaney

1
เป็นคำถามเกี่ยวกับรายการช้อปปิ้ง / คำแนะนำผลิตภัณฑ์ (และยังเป็นคำถามเชิงอัตนัยและปลายเปิด: "คุณทดสอบการส่งอีเมลอย่างไร") ซึ่งไม่มีคำถามใดที่เหมาะกับไซต์อีกต่อไป
casper

3
@casperOne จากนั้นเขียนคำถามใหม่เพื่อให้ไม่เป็นอัตนัย ฉันไม่ได้มองหาผลิตภัณฑ์ที่ดีที่สุดในหมวด X ฉันถามว่ามีหมวด X อยู่หรือเปล่า อย่างไรก็ตามคุณยังไม่ได้ตอบคำถามของฉัน ทำให้ฉันเชื่อว่าการลบหน้านี้จะทำให้อินเทอร์เน็ตดีขึ้นและฉันจะลบมันเอง
Patrick McElhaney

12
@casperOne ฉันเจอคำถามนี้จากการสอบถามของ Google เกี่ยวกับตัวเลือกที่ใช้ Windows (ตรงข้ามกับตัวเลือก Linux ที่ฉันเคยสัมผัสมาก่อนหน้านี้) ฉันพบว่าลิงก์ทั้งหมดมีประโยชน์ หน้าเว็บนี้จะพลาดอย่างมาก
justin.lovell

5
ฉันแค่กำลังมองหาเครื่องมือเซิร์ฟเวอร์เมลของ windows ซึ่งใช้เพียงแค่รับอีเมลจาก localhost และฉันพบว่ามันง่ายและสะดวกจากคำถามนี้ คำตอบที่ได้รับการโหวตคือคนส่วนใหญ่กำลังมองหาดังนั้นฉันจึงไม่เห็นว่าทำไมคุณถึงต้องการปิดสิ่งนี้เนื่องจากมันทำในสิ่งที่คนส่วนใหญ่คาดหวัง
sveri

คำตอบ:


84

ฉันประสบปัญหาเดียวกันเมื่อสองสามสัปดาห์ก่อนและเขียนสิ่งนี้: http://smtp4dev.codeplex.com

เซิร์ฟเวอร์ SMTP จำลองที่เข้ากันได้กับ Windows 7 / Vista / XP / 2003/2010 วางในถาดระบบและไม่ส่งข้อความที่ได้รับ ข้อความที่ได้รับสามารถดูบันทึกและตรวจสอบแหล่งที่มา / โครงสร้างได้อย่างรวดเร็ว มีประโยชน์สำหรับการทดสอบ / แก้ไขข้อบกพร่องซอฟต์แวร์ที่สร้างอีเมล


+1 รถบักกี้เล็ก ๆ แต่โดยรวมทำในสิ่งที่จำเป็นสำหรับ ขอบคุณ!
เดวิด

4
ดีเมื่อใช้งานได้ แต่มีปัญหาง่ายมาก
olefevre

ดูเหมือนว่าแอพที่ยอดเยี่ยมน่าเสียดายที่มันขัดข้องสำหรับฉันทุกครั้งที่ได้รับอีเมล (เรียกใช้ smtp4dev บน win7 ส่งจากสคริปต์อีเมลทดสอบฐานข้อมูลเซิร์ฟเวอร์ SQL)
โจนา

เพียงดาวน์โหลดสิ่งนี้เพื่อทดสอบรหัสการส่งอีเมลผ่าน SharePoint ฉันไม่ได้ติดตั้ง SMTP ในเครื่องเสมือนดังนั้นแอปนี้จึงทำงานได้อย่างมีเสน่ห์ รุ่งโรจน์!
Ryan

2
สำหรับสิ่งที่คุ้มค่าใน Windows 7 - 64 บิต smtp4dev จะไม่ทำงาน แต่papercut.codeplex.comทำได้ อีเมลถูกสร้างขึ้นโดยใช้ JavaMail
Ashutosh Jindal

73

ไม่กี่สัปดาห์ที่ผ่านมาผมมาในการแก้ปัญหาต่อไปนี้สำหรับแพลตฟอร์ม .NET

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

เพียงวางโค้ดด้านบนใน App.config หรือ Web.config เมื่อคุณส่งข้อความตอนนี้ข้อความจะถูกจัดเก็บเป็นไฟล์ในไดเร็กทอรีที่คุณระบุเป็น "pickupDirectoryLocation" ใช้งานได้เหมือนมีเสน่ห์


3
ยอดเยี่ยมติดตั้งเป็นศูนย์ ... ใช้งานได้ดีสำหรับฉัน ขอบคุณ!
WildJoe

ฉันใช้ SmtpClient ในเว็บแอปพลิเคชัน. Net ที่มีโฮสต์ smtp เฉพาะที่ตั้งค่าในเวลาคอมไพล์ ฉันไม่เห็นการเปลี่ยนแปลงใด ๆ ในพฤติกรรมจากการเพิ่มสิ่งนี้ที่ส่วนท้ายของ web.config ของฉัน

4
Aha! โยนข้อยกเว้นเว้นแต่คุณจะสร้างโฟลเดอร์ก่อนมือ เคล็ดลับเด็ด!

1
เคล็ดลับเล็ก ๆ น้อย ๆ ที่ยอดเยี่ยมพร้อมการติดตั้งเป็นศูนย์
Mike Kruger

เรามีปัญหาเดียวกันเมื่อทำงานกับ. NET stack - เราได้สร้างบริการนี้เพื่อแก้ปัญหา
isNaN1247

18

ขณะนี้มี Papercut เวอร์ชันบนเว็บแล้ว

นอกจากนี้เวอร์ชันที่ใช้แอปยังทำงานได้ดีสำหรับฉัน


14

Dumbsterอาจเป็นสิ่งที่คุณต้องการในตอนนั้น เป็นเซิร์ฟเวอร์ SMTP ปลอมแบบโอเพนซอร์สที่เขียนด้วย Java มันเข้ามาแทนที่เซิร์ฟเวอร์ SMTP จริงดังนั้นคุณสามารถทดสอบแอปของคุณในสภาพแวดล้อมที่เป็นจริงได้โดยไม่ต้องมีโค้ดที่ถูกขีดฆ่า คุณสามารถตรวจสอบว่าข้อความที่ถูกต้องถูกส่งไปยังเซิร์ฟเวอร์ SMTP โดยไม่ส่งข้อความจริง


9

สิ่งนี้คล้ายกับ smtp4dev ยกเว้นใช้ใน java ดังนั้นจึงใช้ได้กับนักพัฒนาที่ไม่ใช่ windows

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


บน mac หากต้องการใช้พอร์ต 25 ให้เรียกใช้คำสั่งต่อไปนี้ในเทอร์มินัลใน dir เดียวกับไฟล์ที่คุณดาวน์โหลด:sudo java -jar DevNullSmtp.jar
Brad Parks

6

นอกจากนี้ยังมีPapercutและNeptuneด้วยเช่นกันไม่มีสิ่งเหล่านี้สามารถใช้งานได้แบบพกพา


ในที่สุดฉันก็สามารถลองสิ่งเหล่านี้ได้ แต่น่าเสียดายที่ทั้งสองหยุดทำงาน
Patrick McElhaney

4
เพิ่งลอง Papercut ใช้งานได้ดีและมีคุณสมบัติโบนัสในการดูอีเมลได้โดยตรงใน UI
Jeremy Wiebe

1
Papercut ใช้งานได้ เสียดายที่เป็น Windows เท่านั้น อยากเห็นข้ามแพลตฟอร์มนี้.
Wim Deblauwe

6

ฉันใช้ "Test Mail Server Tool" จาก ToolHeap มาหลายปีแล้ว

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

เป็นแอปง่ายๆที่ทำงานในถาดระบบของคุณและทิ้งอีเมลไปยังโฟลเดอร์ นอกจากนี้ยังสามารถกำหนดค่าให้เปิดอีเมลแต่ละฉบับในโปรแกรมเมลเริ่มต้นของคุณ


1
ในทำนองเดียวกัน มันใช้งานได้
Adaddinsane

5

ถ้าคุณใช้ java ฉันจะใช้Wiser : Wiser เป็นเซิร์ฟเวอร์ SMTP ธรรมดาที่คุณสามารถใช้สำหรับแอปพลิเคชั่นทดสอบหน่วยที่ส่งเมล


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.