Самый простой способ отправить тестовое письмо с сервера, чтобы проверить настройки?

13

Используя Windows (2008), существует ли простой инструмент командной строки, который я могу использовать для отправки тестового электронного письма с сервера для проверки SMTP, аутентификации пользователя, портов и т. Д ... без написания своего собственного?

Джейсон
источник

Ответы:

17

Ваш лучший, самый простой и самый доступный в мире инструмент: telnet

  1. В командной строке введите: telnet mail.mailserver.com 25
  2. Введите EHLO и нажмите клавишу ВВОД.
  3. Введите AUTH LOGIN. Сервер отвечает зашифрованным запросом вашего имени пользователя.

    Введите ваше имя пользователя в зашифрованном виде в базе 64. Вы можете использовать один из нескольких доступных инструментов для кодирования вашего имени пользователя.

    Сервер отвечает зашифрованной подсказкой base 64 для вашего пароля. Введите ваш пароль, зашифрованный в базе 64.

  4. Введите MAIL FROM: и нажмите клавишу ВВОД. Если отправителю не разрешено отправлять почту, SMTP-сервер возвращает ошибку.

  5. Введите RCPT TO: и нажмите клавишу ВВОД. Если получатель не является допустимым получателем или сервер не принимает почту для этого домена, SMTP-сервер возвращает ошибку.

  6. Введите ДАННЫЕ.

    При необходимости введите текст сообщения, нажмите клавишу ВВОД, введите точку (.), А затем снова нажмите клавишу ВВОД.

    Если почта работает правильно, вы должны увидеть ответ, подобный следующему, указывающий, что почта поставлена ​​в очередь для доставки:

    250 2.6.0 MAILID-SOMETHINGHERE@mail.somedomain.com.

Цитируется частично из этой статьи MS Technet

Дэйв Драгер
источник
ха-ха, я не цитирую, знаю, если это "легко", но это, безусловно, довольно надежный метод.
Марк Хендерсон
Это достаточно просто ... к счастью, мне не нужно было выполнять аутентификацию (локальный сервер), поэтому мне не пришлось беспокоиться о кодировке base64, хотя доступно много сайтов, которые могут помочь мне в этом в случае необходимости.
Джейсон
15

Для меня самый простой способ - использовать Send-MailMessage в Powershell. Из консоли Powershell просто запустите:

PS C:\Users\admin> Send-MailMessage -SMTPServer smtp.domain.com -To xxxxx@gmail.com -From youremail@domain.com -Subject "This is a test email" -Body "Hi, this is a test email sent via PowerShell to test the STMP relay server"

Другие варианты можно найти по этой ссылке :

japinator
источник
1
полезный фрагмент
PowerShell
4

Если это то, что вам нужно время от времени тестировать, или просто для небольшого количества SMTP-серверов, то telnet может быть наиболее удобным инструментом, как уже указывалось. Самое лучшее в telnet - это то, что это почти универсальный инструмент, который позволяет вам тестировать не только SMTP-сервер, но и другие сервисы, такие как POP, IMAP и т. Д.

Тем не менее, если вы проводите эти тесты регулярно или в более широком масштабе, я очень рекомендую использовать swaks . Он чрезвычайно прост в использовании и может также выполнять другие задачи, такие как отправка вложенных файлов (что может быть полезно для проверки ваших фильтров содержимого почты).

Он также даст вам полезные коды выхода, так что вы даже сможете использовать его для выполнения автоматических тестов.

Я часто использую его в Linux, но, будучи Perl-скриптом, вы сможете без проблем запускать его на Windows-боксе.

alemartini
источник
Девять лет спустя я также могу порекомендовать вам свинок. В Mac OS установите с помощью brew install swaks.
Туомассало
1

Если вы не хотите вручную выполнять всю транзакцию SMTP, вы можете использовать инструмент командной строки, такой как blat, для отправки электронных писем.

Джон Гарденье
источник
0

Telnet к порту 25 и выдача SMTP-команд вручную обычно подходят для этой цели.

Максимус Минимус
источник
0

Вы можете попробовать онлайн-сервис, который сделает всю работу за вас. Вы можете быстро узнать о распространенных проблемах SMTP-сервера

https://checkeremail.com/smtp-check

Саня Снекс
источник
1
Это не решение проблемы, как спросил OP, так как он не обрабатывает аутентификацию пользователя. Даже если это произойдет, отправка этих учетных данных на случайный сторонний сайт - ужасная идея.
Мэтью ФитцДжеральд-Чемберлен