Як налаштувати підроблений сервер SMTP, щоб ловити всі листи?


50

Я шукаю службу smtp, яка по суті підкоряється RFC, за винятком того, а не надсилати пошту, вона просто входить у файл

[date] sent mail to <address>

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

Причина цього потребує налагодження програми, яка продовжує надсилати 7 * кількість потрібної пошти.

EDIT: І вже запитували: https://stackoverflow.com/questions/1006650/dummy-smtp-server-for-testing-apps-that-send-email


Так, на це питання відповіли stackoverflow, але я не побачив відповіді на основі пітона там.
BitwiseMan

Це також відповів на StackOverflow: stackoverflow.com/questions/48653699 / ...
realbart

Відповіді:


58

Якщо у вас лежить пітон, випишете SMTP розмову в stdout.

sudo python -m smtpd -n -c DebuggingServer localhost:25

http://docs.python.org/library/smtpd.html#debuggingserver-objects


Я повертаю його назад, він підтримує HTML-адреси електронної пошти.
HTTP500

2
все-таки найкращий спосіб налагодження!
MarZab

Немає підтримки для початківців :(
Att

1
@AttRigh smtplib впровадив TLS, але використовувати це не буде так просто, як це. Опублікувати питання; можливо, у когось вже є сценарій?
Джон Мі

11

Ви повинні ознайомитись із тим, smtp-sinkщо є частиною Postfix. Вам не потрібно запускати Postfix, щоб він працював. Просто встановіть його, щоб мати виконуваний файл. Все, що вам потрібно, можна налаштувати за допомогою параметрів командного рядка:

http://www.postfix.org/smtp-sink.1.html


Спасибі mailq. Це більш-менш точно те, що я був після!
Річо

8

Існує також рубіновий дорогоцінний камінь під назвою mailcatcher .

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

Інтерфейс Mailcatcher


1
Зараз ми використовуємо mailcatcher, занадто багато збоїв.
Джейкоб Еванс

6

Ми використовуємо веб-сервіс http://mailtrap.io в середовищі розробки та інсценування. Він не залежить від платформи і не вимагає запускати свій власний SMTP.

Він пропонує:

  • Усі електронні листи в одному місці
  • Спільний доступ для команди розробників до папки "Вхідні"
  • Інструменти для розробників для аналізу електронних листів
  • Гнучка конфігурація

Це чудово і набагато надійніше, ніж те, що я робив! Дякую.
Річо

Мені подобається, що вони пропонують щедрий безкоштовний план (поки що).
Давид

3

smtp4dev добре працював для мене. (Лише для Windows)


Я щойно встановив і використав цей дивовижний маленький інструмент. Ідеально підходить для моїх потреб (без Java та приємного інтерфейсу)
Nick.McDermaid

2

http://quintanasoft.com/dumbster/

Це схоже на те, що він, ймовірно, зробить цю роботу для всіх, хто натрапить на це.


Шкода, що вимагає javavm. Плюс хтось нещодавно розщедрився і працював над ним ... github.com/rjo1970/dumbster
Джон

Ура, Джон. На базі Java було достатньо, щоб змусити мене врешті-решт, я закінчив просто щось писати сам.
Річо

2

Відмова: Це пізня відповідь, але я щиро вірю, що це допоможе майбутнім глядачам. Також зауважте, що я працював над цим продуктом.

Ми побудували Mailosaur для того, щоб вирішити цю точну проблему. З цього часу ми створили його для додавання тестових адрес електронної пошти, а також SMTP.



1

Я просто роздрібнююся майже про будь-яку службу smtp, після чого надсилаю результат у трохи відро!


Хоча я говорю про масові електронні листи та за участю живих даних клієнтів. Мені потрібно бути позитивним, що я не збираюся заливати міжтрони поштою.
Річо

Я завершив розширення класу smtpd.SMTPServer python, я вийду проект публічно через тиждень або близько того, коли я буду задоволений цим (я поєднав його з тестовим набором httpd, про який я писав трохи назад). Я попередньо назвав sdb suite.
Річо

@Richo: Є багато способів зупинити SMTP-сервер від надсилання електронної пошти - більшість дозволяє вимкнути вихідні з'єднання або перепрограмувати всі повідомлення, або ви можете заблокувати вихідні з'єднання до порту 25 .... ніхто не заважає писати фіктивний поштовий сервер, коли він його тривіальне налаштування справжнього, щоб вести себе таким чином.
symcbean

@symcbean: це всі дійсні бали. Особисто мені легше зупинити звичайну поштову службу, запустити службу налагодження, виконати налагодження і знову запустити живу середу. Недоліки, такі як скидання всього порту 25, перешкоджають надсиланню пошти. Дякуємо за допомогу, хоча
richo

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