PowerShell: Отправка email из терминала
Написал скрипт, позволяющий отправлять email через терминал #PowerShell.
Скрипт
Скрипт позволяет отправлять email через терминал #PowerShell.
Скрипт состоит из следующих компонентов:
app.mail.ini- файл с настройками.app.mail.ps1- приложение.lib.mail.subject- заголовок email.lib.mail.body- содержание emaillib.mail.sign- подпись в email.
Установка
Настройка
Файл настройки представляет собой простой файл .ini, содержащий в себе приватные параметры.
Параметры
Server- IP-адрес сервера.Port- SMTP-порт сервера.User- имя пользователя для SMTP-аутентификации.Password- пароль пользователя для SMTP-аутентификации.
Приложение
Приложение забирает параметры из файла настроек, а также обрабатывает значения, переданные в терминале.
Параметры
Hostname- название машины, с которой отправляется email.Subject- заголовок email. Если параметр не задан, информация берётся из файлаlib.mail.subject.Body- содержание email. Если параметр не задан, информация берётся из файлаlib.mail.body.Sign- содержание подписи email. Если параметр не задан, информация берётся из файлаlib.mail.sign.From- поле “От”.To- поле “Кому”.Cc- поле “Копия”.Bcc- поле “Скрытая копия”.File- путь к файлу или файлам для вложения в email.Priority- приоритет email. Значения:Low- низкий приоритет.Normal- стандартный приоритет.High- высокий приоритет.
Storage- директория для хранения отправленных вложений. По умолчанию:C:\Storage\Email. При каждом новом email, в хранилище создаётся контейнер (директория) с названием в виде метки времени UNIX и содержанием вложений.Count- количество контейнеров (директорий) в хранилище. При превышении этого значения, наиболее старый контейнер (директория) в хранилище удаляется. Таким образом обеспечивается ротация контейнеров (директорий) в хранилище. По умолчанию:5.DateTime- включить название контейнеров (директорий) в виде даты2019-06-27.17-45-52.Wildcard- включить поддержку регулярных выражений в параметреFile.FileMove- переместить вложения в хранилище после отправки email.FileRemove- удалить вложения после отправки email.FileList- вставить в содержимое email список файлов, которые были использованы в качестве вложений в email. При этом сами вложения НЕ прикрепляются к email.HTML- если указано, email будет иметь разметку HTML.SSL- если указано, подключение к SMTP-серверу будет осуществляться при помощи протокола SSL.NoSign- отключить добавление подписи в email.NoMeta- отключить добавление meta-информации в email.BypassCertValid- если указано, отключить проверку валидности сертификата при подключении к SMTP-серверу через протокол SSL.
Логирование
Для логирования используется функции Start-Transcript и Stop-Transcript. Журнал выполнения сохраняется в директории скрипта в файле log.mail.txt. Содержимое файла перезаписывается при каждом запуске скрипта.
Примеры
- Письмо отправляется от
mail@example.comдляmail@example.org:
- Письмо отправляется от
mail@example.comдляmail@example.orgс вложениямиC:\file.01.txtиC:\file.02.txt:
- Письмо отправляется от
mail@example.comдляmail@example.orgсо всеми вложениями, имеющими расширение*.txt(C:\*.txt):
- Письмо отправляется от
mail@example.comдляmail@example.orgс вложениямиC:\file.01.txtиC:\file.02.txt. После отправки email, вложения перемещаются в хранилище:
- Письмо отправляется от
mail@example.comдляmail@example.orgс вложениямиC:\file.01.txtиC:\file.02.txt. После отправки email, вложения перемещаются в хранилищеD:\Email, ротация контейнеров (директорий) в хранилище в переделах3:
- Письмо отправляется от
mail@example.comдляmail@example.orgс вложениямиC:\file.01.txtиC:\file.02.txt. После отправки email, вложения удаляются:
- Письмо отправляется от
mail@example.comдляmail@example.orgв форматеHTML:
- Письмо отправляется от
mail@example.comдляmail@example.orgв высоким приоритетом:
- Письмо отправляется от
mail@example.comдляmail@example.orgс копией кmail@example.netиmail@example.biz:
Категории
Смотрите также
- Dovecot: Полнотекстовый поиск
- iRedMail: Миграция на новые компоненты
- Уведомления от Windows Server Backup
- Удаление временных данных ОС Windows
- iRedMail: Управление белым и чёрным списками
- Работа с сетевыми интерфейсами в PowerShell
- Работа с переменной среды окружения PATH
- Автоматическая настройка Windows Server 2022 под рабочую станцию
- Восстановление доверительных отношений между PC и Active Directory
- Изменение порта RDP