Назад | Перейти на главную страницу

скрипт для проверки почтового сервера

С момента обновления Windows, которое несколько недель назад отключило мой почтовый сервер IIS6, я действительно параноидально относился к работе моего почтового сервера.

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

Вот так:

> telnet localhost 25
> helo domain.com
> mail from: me@mydomain.com
> rcpt to: you@mydomain.com
> data
some random body to mail myself
.

Это действительно отличный способ проверить мой почтовый сервер, но быстро сделать это - головная боль. Есть ли способ запустить это в пакетном сценарии или что-то в этом роде в качестве быстрого теста?

Я пробовал файл bat, но он просто ждет после вызова telnet. Я также исследовал, принимает ли telnet какие-либо входные файлы, а это, похоже, не так.

Как лучше всего это сделать?

PowerShell - ваш друг. Проверьте Send-MailMessage командлет.

$date = Get-Date
Send-MailMessage -From "User <Sender@domain.com>" -To "Recipient <recipient@domain.com>" -Subject "Test message $date" -SmtpServer mailserver.domain.com

Сохраните это в файл блокнота с именем send-testsmtpmessage.ps1 и запустите его из PowerShell. Вы даже можете настроить bat-файл, который запускает PowerShell и сценарий, просто щелкнув файл. Готово.

Электронное письмо будет выглядеть примерно так:

Тестовое сообщение 27.05.2010 23:02:04

Есть утилита командной строки под названием блат который можно использовать для отправки электронной почты в Windows.

В UNIX вы можете использовать инструмент пользовательского пространства для взаимодействия с очередью. Большинство MTA имеют /usr/sbin/sendmail эквиваленты, привязанные к тому же месту. В почта Утилита также доступна в большинстве систем.

Я полностью согласен с рекомендацией Криса по мониторингу, если у вас еще нет мониторинга. В противном случае проверка функциональности после изменения имеет большой смысл.

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

Помимо Blat, о котором упоминал Warner, существует ряд других почтовых программ командной строки для Windows. Вы также можете сделать то же самое с помощью различных языков программирования и сценариев. Perl делает вещи особенно простыми. Я даже видел примеры Powershell в ответах на другие вопросы на этом сайте, хотя это самый загадочный язык сценариев, который я видел за многие годы.