SMTP-сервер, который сохраняет всю почту в папку?

Существуют ли бесплатные SMTP-сервера, которые просто принимают почту, отправленную через них, и сохраняют ее на жесткий диск, не отправляя получателю. Я хотел бы использовать это для тестирования своих приложений. Вместо того, чтобы просто ждать, пока почта пройдет, было бы неплохо, если бы все электронные письма можно было просто поместить в папку, чтобы я мог их просмотреть. Я мог бы поместить в свою программу некоторые хуки, чтобы просто сохранить вместо отправки сообщения, но я не думаю, что это полный тест, если код следует по другому пути. Существуют ли подобные приложения?

Я полагаю, что это было бы очень полезно, потому что вы могли бы протестировать почтовые возможности, не дожидаясь доставки почтового сервера, и чтобы вы могли кодировать, находясь в автономном режиме и не имея доступа к реальному почтовому серверу. .

[РЕДАКТИРОВАТЬ]

Я специально использую .Net, но я не использую классы обработки почты SMTP по умолчанию в .Net из-за того, насколько они были ограничены в .Net 1.1. Мы используем стороннюю библиотеку (chilkat). Я знаю, что с тех пор многое изменилось, но код стабилен и работает, поэтому сейчас нет смысла переписывать .Net API.

Я хотел бы что-то, что работало бы как SMTP-сервер именно потому, что я мог бы использовать его в будущем для любых проектов, над которыми я работал, независимо от языка.


person Kibbee    schedule 30.01.2009    source источник
comment
Указание предпочитаемой вами платформы поможет.   -  person AnthonyWJones    schedule 30.01.2009
comment
Эм... Это явно связано с программированием.   -  person Andrew Rollings    schedule 30.01.2009
comment
(Но платформа должна быть указана)   -  person Andrew Rollings    schedule 30.01.2009
comment
Windows является предпочтительной платформой на данный момент, хотя мультиплатформенность тоже не помешала бы.   -  person Kibbee    schedule 30.01.2009
comment
Вопросы, в которых нас просят порекомендовать или найти книгу, инструмент, программную библиотеку, учебное пособие или другой сторонний ресурс, не относятся к теме Stack Overflow, поскольку они, как правило, привлекают самоуверенные ответы и спам. Вместо этого опишите проблему и то, что уже было сделано для ее решения.   -  person AStopher    schedule 05.06.2015


Ответы (8)


Взято из этого вопроса.

person Alix Axel    schedule 31.08.2009

Вы можете использовать стандартные настройки smtp в своем приложении или web.config и просто указать, в какую папку вы хотите отправлять электронные письма.

<smtp
  deliveryMethod="specifiedPickupDirectory" 
  from="from address">
  <specifiedPickupDirectory>Your folder here</specifiedPickupDirectory>
</smtp>

Это позволяет вам просто хранить электронные письма без smtp-сервера.

person Ray Booysen    schedule 30.01.2009
comment
Идея состоит в том, чтобы протестировать приложение как можно ближе к его номинальному использованию. Поэтому, если это не та конфигурация, которую можно использовать в производстве, было бы лучше использовать универсальный smtp-сервер. - person AnthonyWJones; 30.01.2009
comment
Хорошая идея. Однако я не использую классы обработки почты .Net (хотя я работаю в .Net), поэтому не думаю, что это сработает для меня. - person Kibbee; 30.01.2009
comment
Привет Энтони. потому что это красиво и декларативно, и вы не тестируете SMTPClient, кого волнует реализация? Пока вы доверяете работе платформы .NET, это не имеет значения. - person Ray Booysen; 30.01.2009
comment
Это кажется устаревшим - я думаю, что правильный синтаксис: <specifiedPickupDirectory pickupDirectoryLocation="Your folder here"/> (проверено на .NET Framework 4.5.2) - person harvzor; 05.05.2017

В Windows вы можете использовать SMTP-сервер по умолчанию для сервера IIS. Добавление псевдонима к его домену для * (подстановочный знак) должно привести к тому, что вся пересылаемая ему почта будет сбрасываться в папку для пересылки.

person AnthonyWJones    schedule 30.01.2009

Это довольно легко сделать в sendmail или postfix — просто настройте локальный агент доставки как 'cat >> file'.

person Paul Tomblin    schedule 30.01.2009
comment
+1 Postfix также довольно прост в настройке, и IIRC поставляется с cygwin. - person ConcernedOfTunbridgeWells; 30.01.2009

немного запоздал с этим, но пробовали ли вы использовать ssfd?

вы можете разместить его на своем компьютере или на сетевом сервере, ловить электронные письма и помещать их в каталог

person Anthony Johnston    schedule 31.08.2009

Не знаю о таких «поддельных» SMTP-серверах, но в .NET вы можете заставить класс SmtpClient сохранять исходящую почту в указанный каталог.

person Anton Gogolev    schedule 30.01.2009

В стандартной библиотеке также есть Python DebuggingServer:

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

он будет печатать все на стандартный вывод.

person Chmouel Boudjnah    schedule 31.08.2009

Я опаздываю на вечеринку на несколько лет, но это отлично работает для меня.

http://emailrelay.sourceforge.net/

Если почтовый клиент .net просто сохраняет электронное письмо, а не отправляет его, это не отвечает на вопрос, работает ли ваш код. Чтобы сказать, работает ли это, вы должны отправить его.

person x86inc    schedule 05.06.2015
comment
Почему это получило отрицательный голос, похоже, он делает то, что просили? - person Peter; 28.08.2015
comment
Возможно, потому, что sourceforge помещает рекламное ПО в ваши загрузки: howtogeek.com/218764/ - person vcarel; 13.11.2015