mail — Отправка электронного письма
Обзор
- Этот модуль полезен для отправки электронных писем из playbooks.
- Можно задаться вопросом, зачем автоматизировать отправку писем? В сложных средах время от времени встречаются процессы, которые нельзя автоматизировать, либо потому, что у вас нет полномочий на это, либо потому, что не все согласны с общим подходом.
- Если вы не можете автоматизировать определённый шаг, но этот шаг не блокирующий, отправка электронного письма соответствующему лицу, чтобы тот выполнил свою часть сделки, является изящным способом возложить ответственность на кого-то другого.
- Конечно, отправка письма может быть так же полезна для уведомления одного или нескольких человек в команде о том, что определённое действие было выполнено (успешно).
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| attach | Значение по умолчанию: [] |
Список путей к файлам, которые нужно прикрепить к сообщению.
Прикреплённым файлам будет задан тип содержимого application/octet-stream. |
| bcc | Адрес(ы) электронной почты, по которым письмо отправляется в «слепом» копировании.
Это список, который может содержать адреса и фразы. |
|
| body | Значение по умолчанию: $subject |
Тело отправляемого электронного письма. |
| cc | Адрес(ы) электронной почты, по которым письмо отправляется в копировании.
Это список, который может содержать адреса и фразы. |
|
| charset | Значение по умолчанию: utf-8 |
Кодировка символов отправляемого электронного письма. |
| from | Значение по умолчанию: root |
Адрес электронной почты, с которого отправляется письмо. Может содержать адрес и фразу. |
| headers | Значение по умолчанию: [] |
Список заголовков, которые должны быть добавлены к сообщению.
Каждый отдельный заголовок задаётся как header=value (см. пример ниже). |
| host | Значение по умолчанию: localhost |
Сервер электронной почты. |
| password (добавлен в 1.9) |
Если для SMTP требуется пароль. |
|
| port | Значение по умолчанию: 25 |
Порт сервера электронной почты.
Должен быть корректным целым числом от 1 до 65534 |
| secure (добавлен в 2.3) |
|
Если
always, подключение будет отправлять электронные письма только в случае защищённого подключения. Если сервер не поддерживает защищённое подключение, попытка завершится ошибкой.Если
try, подключение попытается установить безопасное соединение SSL/TLS перед отправкой.Если
never, подключение не попытается установить безопасное соединение SSL/TLS перед отправкой.Если starttls, подключение попытается переключиться на защищённое соединение SSL/TLS перед отправкой. Если это невозможно, попытка завершится ошибкой. |
| subject обязательно |
Тема отправляемого электронного письма. |
|
| subtype (добавлен в 2.0) |
|
Незначительный тип MIME, может быть
plain или html. Основной тип всегда text. |
| timeout (добавлен в 2.3) |
Значение по умолчанию: 20 |
Устанавливает таймаут в секундах для попыток подключения. |
| to | Значение по умолчанию: root |
Адрес(ы) электронной почты получателей.
Это список, который может содержать адреса и фразы.
псевдонимы: получатели |
| username (добавлен в 1.9) |
Если для SMTP требуется имя пользователя. |
Примеры
- name: Example playbook sending mail to root
mail:
subject: System {{ ansible_hostname }} has been successfully provisioned.
delegate_to: localhost
- name: Sending an e-mail using Gmail SMTP servers
mail:
host: smtp.gmail.com
port: 587
username: username@gmail.com
password: mysecret
to: John Smith <john.smith@example.com>
subject: Ansible-report
body: System {{ ansible_hostname }} has been successfully provisioned.
delegate_to: localhost
- name: Send e-mail to a bunch of users, attaching files
mail:
host: 127.0.0.1
port: 2025
subject: Ansible-report
body: Hello, this is an e-mail. I hope you like it ;-)
from: jane@example.net (Jane Jolie)
to:
- John Doe <j.d@example.org>
- Suzie Something <sue@example.com>
cc: Charlie Root <root@localhost>
attach:
- /etc/group
- /tmp/avatar2.png
headers:
- Reply-To=john@example.com
- X-Special="Something or other"
charset: us-ascii
delegate_to: localhost
- name: Sending an e-mail using the remote machine, not the Ansible controller node
mail:
host: localhost
port: 25
to: John Smith <john.smith@example.com>
subject: Ansible-report
body: System {{ ansible_hostname }} has been successfully provisioned.
- name: Sending an e-mail using Legacy SSL to the remote machine
mail:
host: localhost
port: 25
to: John Smith <john.smith@example.com>
subject: Ansible-report
body: System {{ ansible_hostname }} has been successfully provisioned.
secure: always
- name: Sending an e-mail using StartTLS to the remote machine
mail:
host: localhost
port: 25
to: John Smith <john.smith@example.com>
subject: Ansible-report
body: System {{ ansible_hostname }} has been successfully provisioned.
secure: starttls
Статус
Этот модуль помечен как stableinterface, что означает, что разработчики этого модуля гарантируют, что не будут вноситься несовместимые изменения в интерфейс.
Автор
- Dag Wieers (@dagwieers)
Подсказка
Если вы заметите какие-либо проблемы в этом руководстве, вы можете отредактировать этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.5/modules/mail_module.html