Як розробити та протестувати додаток, який надсилає електронні листи (не заповнюючи чиюсь поштову скриньку тестовими даними)? [зачинено]


129

У мене дуже багато додатків, які надсилають електронну пошту. Іноді це одно-два повідомлення одночасно. Іноді це тисячі повідомлень.

У процесі розробки я зазвичай тестую, замінюючи власну адресу на будь-які адреси одержувачів. Я впевнений, що це роблять усі, поки вони не набридають цим і не знайдуть кращого рішення.

Я думав над створенням фіктивного SMTP-сервера, який просто ловить повідомлення та скидає їх у базу даних SQLLite, або в файл mbox чи будь-що інше.

Але напевно такий інструмент вже існує? Як ви перевіряєте надсилання електронної пошти?


42
@casperOne Чому закрити це питання через три з половиною роки? Це пряма проблема з кількома корисними рішеннями. Не було жодної дискусії, опитування чи розширеної дискусії. Якби ця сторінка зникла з результатів пошуку Google, чи зробить це Інтернет кращим?
Патрік МакЕлхані

1
Це питання щодо списку покупок / рекомендацій щодо товарів (а також за своєю суттю суб'єктивним та відкритим: "як ви перевіряєте надсилання електронної пошти"), жодне з яких більше не підходить для сайту.
casperОдин

3
@casperOne Потім перефразуйте питання, щоб воно не було настільки суб'єктивним. Я не шукав найкращого продукту в категорії X. Мене питали, чи існує категорія X. У всякому разі, ти не відповів на моє запитання. Переконайте мене, що видалення цієї сторінки зробить Інтернет кращим, і я сам її видалю.
Патрік МакЕлхані

12
@casperOne Я натрапив на це запитання від Google, дізнавшись параметри на базі Windows (на відміну від варіантів Linux, які я раніше зазнавав). Я знайшов усі посилання корисними. Ця веб-сторінка буде сильно пропущена.
justin.lovell

5
Ну, я просто шукав інструмент поштового сервера Windows, який просто приймає пошту від localhost, і я знайшов це простим і легким цим питанням. Відповідь, що більшість людей шукає, - це я не можу зрозуміти, чому ви хочете закрити це, як це робить те, що очікує більшість людей.
sveri

Відповіді:


84

Я зіткнувся з тією ж проблемою кілька тижнів тому і написав це: http://smtp4dev.codeplex.com

SMTP-сервер, сумісний з Windows 7 / Vista / XP / 2003/2010. Сидить у системному треї і не доставляє отримані повідомлення. Отримані повідомлення можна швидко переглядати, зберігати та перевіряти джерело / структуру. Корисно для тестування / налагодження програмного забезпечення, яке створює електронну пошту.


+1 Трохи баггі, але overrall робить все, що потрібно. Дякую!
Девід

4
Приємно, коли працює, але дуже схильний до аварій.
олефевр

Це виглядає як геніальне додаток, на жаль, воно виходить з ладу для мене щоразу, коли надходить пошта (запущена smtp4dev на win7, відправка із скрипту електронної пошти для перевірки бази даних SQL Server)
Jona

Просто завантажили це, щоб перевірити код надсилання електронної пошти через Sharepoint. У мене не було встановлено SMTP на моїй віртуальній, тому ця програма працювала як шарм. Кудо!
Райан

2
Що для цього варто, на Windows 7 - 64 біт smtp4dev не працюватиме, але papercut.codeplex.com зробив. Електронна пошта створювалася за допомогою JavaMail.
Ашутош Джиндал

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
Ага! Викидає виняток, якщо ви не створили папку перед рукою. Гарний трюк!

1
Дивовижний маленький трюк з нульовою установкою.
Майк Крюгер

У нас була така ж проблема під час роботи зі стеком .NET - ми закінчили створення цього сервісу для вирішення проблеми
isNaN1247


14

Дамбстер може бути тим, чого ви хочете тоді. Це фальшивий сервер SMTP з відкритим кодом, написаний на Java. Він займає місце справжнього SMTP-сервера, тому ви можете перевірити свій додаток у реалістичних умовах, не маючи жодного коду. Ви можете переконатися, що правильні повідомлення надсилаються на сервер SMTP, не надсилаючи повідомлення.


9

Це схоже на smtp4dev, за винятком того, що реалізовано в Java, тому воно працює для розробників, які не користуються Windows.

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


на mac, щоб використовувати порт 25, запустіть таку команду в терміналі, у тому ж режимі, що і завантажений файл:sudo java -jar DevNullSmtp.jar
Brad Parks

6

Є також Papercut і Neptune , дуже погано, що жодне з них не може бути запущено портативно.


Нарешті я спробував це. На жаль, обидва продовжують збої.
Патрік МакЕлхані

4
Щойно спробував Papercut. Відмінно працює і має бонусну функцію - можливість перегляду електронної пошти прямо в інтерфейсі користувача.
Джеремі Вібе

1
Паперові роботи. Шкода, що це лише Windows. Хотіли б побачити цю перехресну платформу.
Вім Деблауве

6

Я використовую "Інструмент перевірки поштового сервера" від ToolHeap протягом багатьох років.

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

Це просте додаток, яке працює в системному треї та скидає електронні листи в папку. Він також може бути налаштований для відкриття кожної електронної пошти у вашій пошті за замовчуванням.


1
Так само. Це просто працює.
Ададдінсан

5

якщо ви використовуєте Java, я б використовував Wiser : Wiser - це простий SMTP-сервер, який ви можете використовувати для тестування програм, що надсилають пошту.


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.