С момента обновления 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 в ответах на другие вопросы на этом сайте, хотя это самый загадочный язык сценариев, который я видел за многие годы.