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


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.