SMTP-сервер командной строки?

1

Существует ли бесплатный, облегченный SMTP- сервер на основе командной строки для Windows?

Все, что я ищу, - это возможность отправлять электронные письма в формате HTML из командной строки, используя отдельный EXE-файл, при этом программа является собственным сервером (а не другим сервером, таким как Gmail).

Под «легковесным» я подразумеваю, что должен быть один исполняемый файл, или - если это невозможно - он должен иметь не более нескольких поддерживаемых библиотек DLL и запускаться автономно (т.е. без установки чего-либо).

В частности:

  • Я не ищу hMailServer. Это может быть круто, но это все еще раздуто для отправки одного электронного письма. Мне просто нужен инструмент командной строки, который мне пригодится на флэш-накопителе или в среде восстановления - то, что не требует установки.

  • Сервер должен поддерживать TLS, т. Е. Он должен иметь возможность отправлять почту крупным провайдерам, таким как Gmail, которым требуется шифрование.

  • IIS не проходит каждый тест: он (1) не легкий и (2) не автономный.


Для тех, кто утверждает, что Gmail не нуждается в шифровании:

$ telnet smtp.gmail.com 25
Trying 209.85.225.108...
Connected to gmail-smtp-msa.l.google.com.
Escape character is '^]'.
220 mx.google.com ESMTP a9sm264065ibi.26
HELO
250 mx.google.com at your service
MAIL FROM: my_email@gmail.com
530 5.7.0 Must issue a STARTTLS command first. a9sm264065ibi.26

Что я делаю неправильно?

Mehrdad
источник
GMail не требует TLS или любого типа шифрования для SMTP. (Я только что подтвердил это, установив необработанное соединение с PuTTY на TCP-порт 25, и вручную отправил мне сообщение без использования только четырех команд, ни одна из которых не включала шифрование.)
Рэндольф Ричардсон,
@Randolf: Какими были команды? Каждый раз, когда я пытался, мне говорили, что я должен использовать TLS ...
Mehrdad
Стандартные команды SMTP - HELO, MAIL FROM, RCPT TO, DATA (QUIT за пределами этого, потому что успешный код возврата после правильно заполненной команды DATA - это все, что требуется для отправки сообщения; использование QUIT для завершения сеанса по-прежнему важно, хотя ).
Рэндольф Ричардсон
1
@Randolph: О Боже, это сработало! Так что это была проблема с сервером ... интересно, большое спасибо за информацию. Но как определить, к какому серверу нужно подключиться, когда у вас есть только адрес электронной почты, который дает вам пользователь? Есть ли способ посмотреть это с DNS или что-то? Спасибо!
Мердад
1
@Randolph: Интересно, большое спасибо за информацию; это действительно полезно! (Кстати, мои письма перешли в спам, лол ...)
Мердад

Ответы:

2

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

введите описание изображения здесь

Дэниел Уильямс
источник
Я только попробовал это, blat Email.txt -to my_email@gmail.com -server smtp.gmail.com -f my_emailи я получилBlat v2.6.2 w/GSS encryption (build : Feb 25 2007 12:06:19) Sending Email.txt to my_email@gmail.com Login name is my_email The SMTP server does not like the sender name. Have you set your mail address correctly?
Mehrdad
Правильно, gmail нужен SSL. Для этого я использую другую легкую программу, называемую stunnel stunnel.org. Вы настроили stunnel для запуска на локальном порту, скажем, 2099, а затем приказали blat отправить на 127.0.0.1:2099. Не очень, но все же легкий, и он работает. Я даже использовал этот трюк, чтобы Sharepoint отправлял на учетные записи Gmail. Удачи!
Даниэль Уильямс
Единственная проблема с «blat» состоит в том, что он не выполняет свой собственный поиск DNS для записей MX - вы должны указать сервер. +1, потому что в противном случае это хорошее решение (и есть десятки альтернатив, каждый из которых, кажется, не выполняет свои собственные поиски записей MX).
Рэндольф Ричардсон
Это сервер? "Что такое Blat (и что он делает)? Blat.net/?faq/index.html#what_is_blat_(and_what_does_it_do) " Что такое Blat (и что он делает)? Blat - это небольшой эффективный почтовый модуль командной строки SMTP для Windows. Это отправляющая SMTP часть агента пользователя электронной почты (MUA) или клиента электронной почты. Таким образом, Blat отправляет электронную почту через SMTP (или электронную почту через Интернет) из командной строки, или CGI, ... "<- выглядит не как сервер.
barlop
И относительно опции -install. с той же страницы blat.net/?faq/index.html#cl__why_should_i_run_blat_install ... "CL - Почему я должен запускать Blat -install ...? Потому что это упрощает командную строку, сохраняя любое или все из следующего в реестре Адрес отправителя на SMTP-сервере "<- Похоже, эта опция не делает его сервером.
Barlop