Отправка почты через командную строку или powershell

Сетевые параметры соединителей отправки

Для каждого соединителя отправки необходимо выбрать один из этих параметров:

  • Использовать DNS для маршрутизации почты.

  • Использовать один или несколько промежуточных узлов для маршрутизации почты.

Использование DNS для маршрутизации почты.

Если для доставки почты выбрано сопоставление DNS, исходный сервер Exchange соединителя отправки должен сопоставлять записи МХ для адресных пространств, настроенных в соединителе. В зависимости от характера соединителя и количества сетевых адаптеров на сервере, соединителю отправки может требоваться доступ к внутреннему или внешнему (общедоступному) DNS-серверу. Вы можете настроить сервер для использования отдельных DNS-серверов для внутренних и внешних DNS-запросов.

  • В EAC на сервере > Серверы выберите > сервер и нажмите кнопку Изменить значок >Вкладка DNS-просмотров.

  • В Exchange в команды Set-TransportService используются параметры ExternalDNS * и InternalDNS. *

Если вы уже настроили отдельные DNS-серверы для внутренних и внешних DNS-запросов, а соединитель отправки направляет почту во внешнее адресное пространство, вам нужно настроить соединитель отправки для использования внешнего DNS-сервера:

  • В Центре администрирования Exchange выберите Использовать параметры внешних DNS-запросов на серверах с ролью транспорта (в мастере создания соединителя отправки или на вкладке Доставка в свойствах существующих соединителей).

  • В Exchange для команды New-SendConnector и Set-SendConnector используйте параметр UseExternalDNSServersEnabled.

Использование промежуточных узлов для маршрутизации почты

При маршрутизации почты через промежуточный узел соединитель отправки пересылает почту на промежуточный узел, который в свою очередь направляет ее на следующий транзитный участок. Маршрутизация через промежуточный узел позволяет отправлять исходящую почту через службу или устройство защиты от спама.

Чтобы добавить один или несколько промежуточных узлов, нужно указать IP-адрес (например, 10.1.1.1), полное доменное имя (FQDN) (например, spamservice.contoso.com) или оба типа значений. Если вы укажете FQDN, исходный сервер Exchange соединителя отправки должен сопоставлять полные доменные имена (записи МХ или записи А), используя DNS.

Важной составляющей маршрутизации через промежуточные узлы является используемый ими механизм проверки подлинности. Доступные механизмы проверки подлинности описаны в таблице ниже

Механизм проверки подлинности Описание
Нет ( ) Проверка подлинности не выполняется. Например, доступ к промежуточному узлу ограничен исходным IP-адресом.
Базовая проверка подлинности ( ) Обычная проверка подлинности. Требуется имя пользователя и пароль. Имя пользователя и пароль отправляются четким текстом.
Предлагаем базовую проверку подлинности только после запуска TLS ( ) Обычная проверка подлинности с шифрованием TLS. Сертификат сервера на промежуточном узле должен содержать полное доменное имя промежуточного узла, указанное в соединителе отправки. Соединитель отправки устанавливает сеанс TLS, отправляя команду STARTTLS на промежуточный узел, и только после этого выполняет обычную проверку подлинности. Для взаимной проверки подлинности TLS также необходим сертификат клиента.
Exchange Server проверки подлинности ( ) Программный интерфейс универсальных служб защиты (GSSAPI) и взаимная проверка подлинности GSSAPI.
Внешняя безопасность ( ) Предполагается, что используется внешний механизм защиты соединения, не входящий в состав Exchange. Подключение может быть связью IPsec или виртуальной частной сетью. Кроме того, серверы могут находиться в доверенной, физически контролируемой сети.

Что нужно знать перед началом работы

  • Предполагаемое время для завершения каждой процедуры: 2 минут.

  • Вам необходимо получить разрешения, прежде чем выполнять процедуры в этом разделе. Чтобы узнать, какие разрешения вам нужны, см. в разделе «Разрешения на предоставление получателей».

  • Сведения о том, как открыть командную консоль Exchange в локальной организации Exchange, см. в статье Open the Exchange Management Shell.

  • Для процедур в этом разделе требуются особые разрешения. См. информацию о разрешениях по каждой процедуре.

  • Сочетания клавиш для процедур, описанных в этой статье, приведены в статье Сочетания клавиш в Центре администрирования Exchange.

Совет

Возникли проблемы? Попросите помощи на форумах Exchange. Перейти на форумы можно по следующе ссылке: Exchange Server.

Ещё раз про отправку почты из скриптов Powerhsell – командлет Send-MailMessage

Относительно долго обдумывал, писать эту статью или нет. Наконец решил что все таки пусть будет, хуже от неё не будет, а лучше может быть и будет – пусть комментаторы статей на блоге знают, что я таки читаю эти комментарии иногда.

Итак, имеем серию статей «Отправка SMTP сообщений с помощью PowerShell. Ссылку не даю специально, т.к. их 4-е и поиском они прекрасно находятся.

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

НеУважаемый, в целом я не отвечаю подобным вам, но чтобы в статье было побольше текста, я решил вам ответить. Итак, моя позиция по копирайтам озвучена на этой странице. Однако уже очень давно там немного не актуальная информация. Сайт в принципе создавался как копипаст-сайт для заработка, однако со временем стало понятно, что жить в индексе с такой политикой будет проблематично и уже где-то после года жизни блога больше материалы с Рунета я не брал. Были исключения, но очень мало. И в обязательном порядке указывался первоисточник.

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

Из вышесказанного плавно переходим к второму комментарию. Итак, он звучит следующим образом: «Перестаньте изобретать велосипеды. Для всего вышеописанного есть командлет Send-MailMessage, а для отправки в виде html параметр -BodyAsHtml.»

И ещё одно. А получиться ли у вас использоваться Send-MailMessage для отправки почты через SMTP сервер с авторизацией, например через сервера гугла. Что-то похоже на то, что не получиться Либо у меня не получилось . И где же тогда в этом случае велосипед?

К своему стыду могу отметить, что у меня практически ни раз не возникала необходимость отправлять какую инфу из под Powershell скриптов. Наверно я делаю что-то не так или не то, но так реально оно и есть. Буду исправляться.  А когда буду исправляться, обязательно напишу отправку через Send-MailMessage :) ибо через SMTP с авторизацией мне вообще нечего отправлять :))

Полезная информация

Если у вас появилась необходимость установить пластиковые окна, рекомендую обратиться в чеховскую компанию «Окна Лидер». Отличные пластиковые окна Чехов собственного производства, разнообразный дизайн и выгодные условия приобретения.

Типы использования соединителей отправки

Тип использования указывает, для чего используется соединитель отправки. Все типы использования получают одинаковые разрешения.

Тип использования можно указать только при создании соединителя отправки. При использовании Центра администрирования Exchange необходимо выбрать значение Тип. Но при использовании команды New-SendConnector в оболочке управления Exchange, тип использования не требуется (с помощью или).

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

Доступные типы использования описаны в таблице ниже.

Тип использования Максимальный размер сообщения Комментарии
Пользовательский сервер 35 МБ Нет
Internal; неограниченно When you create a Send connector of this usage type in the EAC, you can’t select MX record associated with recipient domain. After you create the connector, you can go to the Delivery tab in the properties of the Send connector and select MX record associated with recipient domain. Это ограничение отсутствует в командной консоли Exchange. Вы можете использовать внутренний переключатель и настроить DNSRoutingEnabled в комдлете New-SendConnector.
Интернет 35 МБ Нет
Партнер 35 МБ When you create a Send connector of this usage type in the EAC, you can’t select Route mail through smart hosts or a smart host authentication mechanism. After you create the connector, you can go to the Delivery tab in the properties of the Send connector and select Route mail through smart hosts and the smart host authentication mechanism. Это ограничение отсутствует в командной консоли Exchange. Можно использовать переключатель Partner и настроить DNSRoutingEnabled для и использовать параметры SmartHosts и SmartHostAuthMechanism в комлете New-SendConnector.

Что нужно знать перед началом работы?

  • Предполагаемое время для завершения: 5 минут.

  • Для выполнения этих процедур необходимы соответствующие разрешения. Сведения о необходимых разрешениях см. в статье Запись «Соединители отправки» в разделе Разрешения потока обработки почты.

  • Развертывание новой установки Exchange Server, если вы начинаете установку. После установки можно использовать действия в этом разделе для создания соединителя отправки в Интернет.

  • Сочетания клавиш для процедур, описанных в этой статье, приведены в статье Сочетания клавиш в Центре администрирования Exchange.

Совет

Возникли проблемы? Попросите помощи на форумах Exchange. Перейти на форумы можно по следующим ссылкам: Exchange Server, Exchange Online или Exchange Online Protection.

Examples

Example 1: Send an email from one person to another person

The cmdlet uses the From parameter to specify the message’s sender. The
To parameter specifies the message’s recipient. The Subject parameter uses the text string
Test mail
as the message because the optional Body parameter is not included.

Example 2: Send an attachment

The cmdlet uses the From parameter to specify the message’s sender. The
To parameter specifies the message’s recipients. The Subject parameter describes the content
of the message. The Body parameter is the content of the message.

Example 3: Send email to a mailing list

The Credential parameter specifies a domain administrator’s credentials are used to send the
message. The UseSsl parameter specifies that Secure Socket Layer (SSL) creates a secure
connection.

Используйте оболочку Exchange управления, чтобы назначить разрешение Отправка от имени почтовым ящикам и группам

Параметр GrantSendOnBehalfTo используется в различных почтовых ящиках и группах set-cmdlets для управления разрешением Отправка от имени для почтовых ящиков и групп:

  • Set-Mailbox

  • Set-DistributionGroup: группы рассылки и группы безопасности с поддержкой почты.

  • Настроить DynamicDistributionGroup

Базовый синтаксис этих командлетов:

Параметр GrantSendOnBehalfTo имеет следующие параметры для значений делегирования:

  • Замена существующих делегатов: или

  • Добавление или удаление делегатов, не затрагивая других делегатов:

  • Удаление всех делегатов: Используйте значение .

В этом примере показывается назначение разрешения «Отправить от имени» для пользователя Александры Вороновой почтовому ящику Глеба Селезнева.

В этом примере группа tempassistants@contoso.com список делегатов, которые имеют разрешение отправить от имени в общий почтовый ящик Contoso Executives.

В этом примере показывается назначение разрешения «Отправить от имени» для пользователя Валентины Александровой группе рассылки поддержки принтеров.

В этом примере удаляется разрешение «Отправить от имени», назначенное администратору динамической группы рассылки All Employees.

Как проверить, что все получилось?

Чтобы убедиться, что вы успешно назначены или удалены разрешения Отправка от имени делегата в почтовом ящике или группе, используйте следующие процедуры:

  • В свойствах почтового ящика или группы в EAC убедитесь, что делегат находится или не указан в делегирования почтовых ящиков > Отправка как или отправка группы > Как.

  • Замените или замените удостоверение почтового ящика или группы и запустите одну из следующих команд в командной Exchange, чтобы убедиться, что делегат указан или <MailboxIdentity> <GroupIdentity> не указан.

    • Почтовый ящик:

    • Группа:

    • Динамическая группа рассылки:

Дальнейшие действия

Дополнительные сведения о том, как представители могут использовать назначенные им разрешения для почтовых ящиков и групп, см. в следующих статьях:

Примеры использования командной строки для email-отправки

1. Отправка письма с вложением

Для разных типов дистрибутива Linux команды могут отличаться.

а) для CentOS / Red Hat:

echo ‘Attachment’ | mail -s ‘Subject attachment message’ -a /var/log/maillog master@dmosk.ru

б) для Ubuntu:

echo ‘Attachment’ | mail -s ‘Subject attachment message’ -a /var/log/maillog -a /var/log/maillog2 master@dmosk.ru

… или:

echo ‘Attachment’ | mail -s ‘Subject attachment message’ -A /var/log/maillog -A /var/log/maillog2 master@dmosk.ru

* где /var/log/maillog и /var/log/maillog2 — файлы, которые будут прикреплены к письму

Обратите внимание, что обе команды отличаются по регистру опции a и A — все зависит от версии и сборки Linux (в каких-то нужно использовать маленькую, в каких-то — большую). Также обратите внимание, что в примере для Ubuntu мы отправим 2 файла — для этого просто добавляем к команде еще одну опцию прикрепления файла

2. Несколько получателей

Для отправки письма нескольким получателям, просто перечисляем их через запятую:

echo «Test text» | mail -s «Test title» master@dmosk.ru,shmaster@dmosk.ru

* в данном примере мы отправил письмо на ящики master@dmosk.ru и shmaster@dmosk.ru.

3. Отправка с копией

Отправить копию на адрес master2@dmosk.ru:

echo «Test copy» | mail -s «Test copy title» master@dmosk.ru -c master2@dmosk.ru

Отправить скрытую копию на адрес master3@dmosk.ru:

echo «Test hidden copy» | mail -s «Test hidden copy title» master@dmosk.ru -b master3@dmosk.ru

4. Указать отправителя

В CentOS / Red Hat:

echo «Test text» | mail -s «Test title» -r postmaster@dmosk.ru master@dmosk.ru

В Debian / Ubuntu:

echo «Test text» | mail -s «Test title» master@dmosk.ru -aFrom:postmaster@dmosk.ru

5. Отправка через другой SMTP сервер

а) Для Ubuntu / Debian:

echo «Test text» | mail -s «Test title» -a «Smtp: smtp.mail.ru:25» -a «From: postmaster@dmosk.ru» -a «Return-path: postmaster@dmosk.ru» master@dmosk.ru

б) Для CentOS / Red Hat:

echo «Test text» | mail -s «Test title» -S smtp=»smtp.mail.ru:25″ master@dmosk.ru

Однако, если сторонний почтовый сервер работает по шифрованному каналу и требует аутентификацию, необходимо ввести следующее:

echo «Test text» | mail -v -s «Test title» -S smtp=»smtp.dmosk.ru:587″ -S smtp-use-starttls -S smtp-auth=login -S smtp-auth-user=»master@dmosk.ru» -S smtp-auth-password=»password» -S ssl-verify=ignore -S nss-config-dir=/etc/pki/nssdb -S from=postmaster@dmosk.ru master@dmosk.ru

* где smtp.dmosk.ru — сервер smtp; 587 — порт для подключения к серверу отправки; smtp-use-starttls указывает на использование шифрования через TLS; smtp-auth=login задает аутентификацию с использованием логина и пароля; smtp-auth-user и smtp-auth-password — соответственно логин и пароль; ssl-verify=ignore отключает проверку подлинности сертификата безопасности; nss-config-dir указывает на каталог с базами nss; from задает поле FROM

Parameters

-Attachments

Type: String
Aliases: PsPath
Position: Named
Default value: None
Accept pipeline input: True
Accept wildcard characters: False

-Bcc

Type: String
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-Body

Type: String
Position: 2
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-BodyAsHtml

Specifies that the value of the Body parameter contains HTML.

Type: SwitchParameter
Aliases: BAH
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-Cc

Type: String
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-Credential

Specifies a user account that has permission to perform this action. The default is the current
user.

Type a user name, such as User01 or Domain01\User01. Or, enter a PSCredential object,
such as one from the cmdlet.

Credentials are stored in a PSCredential
object and the password is stored as a SecureString.

Note

For more information about SecureString data protection, see
.

Type: PSCredential
Position: Named
Default value: Current user
Accept pipeline input: False
Accept wildcard characters: False

-DeliveryNotificationOption

The delivery notifications are sent to the address in the From parameter.

The acceptable values for this parameter are as follows:

  • : No notification.
  • : Notify if the delivery is successful.
  • : Notify if the delivery is unsuccessful.
  • : Notify if the delivery is delayed.
  • : Never notify.

These values are defined as a flag-based enumeration. You can combine multiple values together to
set multiple flags using this parameter. The values can be passed to the DeliveryNotification
parameter as an array of values or as a comma-separated string of those values. The cmdlet will
combine the values using a binary-OR operation. Passing values as an array is the simplest option
and also allows you to use tab-completion on the values.

Type: DeliveryNotificationOptions
Aliases: DNO
Accepted values: None, OnSuccess, OnFailure, Delay, Never
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-Encoding

Specifies the type of encoding for the target file. The default value is .

The acceptable values for this parameter are as follows:

  • Uses ASCII (7-bit) character set.
  • Uses UTF-16 with the big-endian byte order.
  • Uses the encoding that corresponds to the system’s active code page (usually ANSI).
  • Uses the encoding that corresponds to the system’s current OEM code page.
  • Uses UTF-16 with the little-endian byte order.
  • Uses UTF-7.
  • Uses UTF-8.
  • Uses UTF-32 with the little-endian byte order.
Type: Encoding
Aliases: BE
Accepted values: ASCII, BigEndianUnicode, Default, OEM, Unicode, UTF7, UTF8, UTF32
Position: Named
Default value: Default
Accept pipeline input: False
Accept wildcard characters: False

-From

Type: String
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-Port

Specifies an alternate port on the SMTP server. The default value is 25, which is the default SMTP
port.

Type: Int32
Position: Named
Default value: 25
Accept pipeline input: False
Accept wildcard characters: False

-Priority

Type: MailPriority
Accepted values: Normal, High, Low
Position: Named
Default value: Normal
Accept pipeline input: False
Accept wildcard characters: False

-SmtpServer

Type: String
Aliases: ComputerName
Position: 3
Default value: $PSEmailServer
Accept pipeline input: False
Accept wildcard characters: False

-Subject

Type: String
Aliases: sub
Position: 1
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-To

Type: String
Position:
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-UseSsl

The Secure Sockets Layer (SSL) protocol is used to establish a secure connection to the remote
computer
to send mail. By default, SSL is not used.

Type: SwitchParameter
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

Сжатие баз данных 1С:Предприятие в MS SQL Server Промо

Тема сжатия баз данных 1С в настоящий момент довольно часто обсуждается. Достоинства сжатия известны – уменьшение размера базы данных, уменьшение нагрузки на дисковую подсистему и некоторое ускорение выполнения тяжелых операций чтения/записи. Из недостатков – небольшое увеличение нагрузки на процессоры сервера СУБД за счет расхода ресурсов на компрессию/декомпрессию данных. Но при использовании в качестве MSSQL и DB2 (за Oracle и PostgreSQL не скажу, т.к. не знаю) есть один «подводный камень» — при выполнении реструктуризации происходит декомпрессия новых таблиц и индексов. Происходить это может как при выполнении обновления конфигурации с изменением структуры метаданных, так и при выполнении тестирования и исправления ИБ (реиндексация пересоздает только индексы, а реструктуризация – и таблицы, и индексы). «Проблема» кроется в том, что признак сжатия устанавливается индивидуально для каждой таблицы и индекса.

Mutt

При возникновении проблем, можно воспользоваться программой mutt. Сначала поставим ее.

а) если используем CentOS / Red Hat:

yum install mutt

б) если используем Ubuntu / Debian:

apt-get install mutt

Теперь можно пользоваться. Синтаксис:

echo «Текст сообщения» | mutt -s «Тема»  — <кому отправить>

Примеры использования Mutt

1. Отправить вложение:

echo «Attachment» | mutt -s «subject» -a /var/log/maillog — master@dmosk.ru

* где /var/log/maillog — файл, который будет прикреплен к письму.

2. Указать отправителя:

echo «Mail From» | mutt -s «subject» -e ‘my_hdr From: Дмитрий <postmaster@dmosk.ru>’ — master@dmosk.ru

* данной командой mutt отправит письмо от postmaster@dmosk.ru.

3. Отправка через другой сервер.

Для начала, открываем файл с конфигурацией Mutt:

vi ~/.muttrc

Добавим:

set smtp_url=»smtp://smtp.mail.ru:25″

* в данном примере мы отправим всю нашу почту через узел smtp.mail.ru, порт 25.

Также можно добавить при необходимости:

set smtp_user = user
set smtp_pass = password
set ssl_verify_host = no
set ssl_verify_dates = no
set ssl_starttls = no

set ssl_force_tls = no

* где:

  • smtp_user — имя учетной записи, под которой нужно авторизоваться на SMTP.
  • smtp_pass — пароль для аутентификации.
  • ssl_verify_host — нужно ли проверять валидность сертификата.
  • ssl_verify_dates — нужно ли проверять дату действия сертификата.
  • ssl_starttls — нужно ли использовать STARTTLS.
  • ssl_force_tls — нужно ли принудительное использование TLS.

Теперь можно отправлять письмо:

echo «Mail From» | mutt -s «subject» -e ‘my_hdr From: Дмитрий <postmaster@dmosk.ru>’ — master@dmosk.ru

Отправка SMTP сообщений с помощью PowerShell. Часть 2

В данной статье мы подробнее познакомимся как создать тело письма, которое вы хотите отправить через PowerShell.

В прошлой статье мы остановились на следующем коде:

#
#.SYNOPSIS
#Sends SMTP email via the Hub Transport server
#
#.EXAMPLE
#.\Send-Email.ps1 -To "administrator@exchangeserverpro.net" -Subject "Test email" -Body "This is a test"
#

param(
$to,
$subject,
$body
)

$smtpServer = "ho-ex2010-caht1.exchangeserverpro.net"
$smtpFrom = "reports@exchangeserverpro.net"
$smtpTo = $to
$messageSubject = $subject
$messageBody = $body

$smtp = New-Object Net.Mail.SmtpClient($smtpServer)
$smtp.Send($smtpFrom,$smtpTo,$messagesubject,$messagebody)

Теперь давайте продолжим наш пример добавив в него больше содержимого в тело письма.

Использование результатов вывода команда в качестве содержимого письма

При указании ключа -Body все что следует за ним будет являться телом письма.  Это может быть как текстовая строка, так и результат выполнения другой команды. К примеру:

 C:\Scripts>.\Send-Email.ps1 -To "administrator@exchangeserverpro.net" -Subject "List of Exchange Servers" -Body (Get-ExchangeServer)

Результатом работы будет следующее сообщение:

Однако как видно результат не вполне читаем, так как все сервера идут последовательно в одной строке. Давайте сделаем вывод более читабельным.

 C:\Scripts>$emailbody = ""

 C:\Scripts>$servers = Get-ExchangeServer

 C:\Scripts>foreach ($server in $servers) {$emailbody = $emailbody + $server.name + "`r`n"}

 C:\Scripts>.\Send-Email.ps1 -To "administrator@exchangeserverpro.net" -Subject "List of Exchange Servers" -Body $emailbody

Разберем данный пример подробнее:

  1. Объявляем переменную $emailbody. Она будет использована нами далее в скрипте для вставки тела письма.
  2. Используем командлет Get-ExchangeServer для получения в массив $servers списка всех серверов Exchange.
  3. Через командлет ForEach-Object (абривеатура для “foreach”) cmdlet перебираем все элементы массива и добавляем каждое имя сервера в строку $emailbody, включая (и это самая важная часть) символ перевода каретки.
  4. Запускаем скрипт, используя $emailbody в ключе -Body.

Результат выглядит намного лучше.

Однако понятно, что это лишь демонстрационный пример, позволяющий понять смысл.  В реальности нам не нужно отправлять список серверов Exchange себе на почту, по крайней мере очень часто. .

Однако мы можем использовать данную технику для построения более полезных скриптов, например получать список почтовых ящиков без лимита, которые будем отправлять по почте каждый месяц.

Использование контента файла в качестве тела письма

Другой техникой для получения контента письма будет использование содержимого определенного файла.

К примеру, у меня запущен постоянный пинг между определенными серверами для обнаружения сетевых проблем. Запись пишется в лог каждый раз когда происходят потери. Каждый день на почту отправляется результат мониторинга..

#
#.SYNOPSIS
#Sends daily dropped ping report
#
#.EXAMPLE
#.\Send-DroppedPingReport.ps1
#

$smtpServer = "ho-ex2010-caht1.exchangeserverpro.net"
$smtpFrom = "reports@exchangeserverpro.net"
$smtpTo = "administrator@exchangeserverpro.net"
$messageSubject = "Dropped ping report"

$messagebody = ""

$logs = Get-Content C:\Logs\droppedpings.log

foreach ($log in $logs )
{
	$messagebody = $messagebody + $log + "`r`n"
}

$smtp = New-Object Net.Mail.SmtpClient($smtpServer)
$smtp.Send($smtpFrom,$smtpTo,$messagesubject,$messagebody)

В принципе описывать содержимое скрипта не имеет смысла. По сути в нем используется такая же техника, единственное отличие в принципе получения данных. В примеры выше массив наполнялся результатом вывода команды. В данном примере массив наполняется содержимым файла.

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

В следующих статьях мы продолжим знакомство с возможностями Powershell по отправке почты.

Полезная информация

Быстрое и качественное строительство домов по современным технологиям.

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Ваша ОС
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: