Spec-Zone.ru › Ansible 2.6

mail - Отправка электронного письма

  • Обзор
  • Параметры
  • Примеры
  • Статус
  • Техническое обслуживание
    • Автор

Обзор

  • Этот модуль полезен для отправки электронных писем из плейбуков.
  • Можно задаться вопросом, зачем автоматизировать отправку электронных писем? В сложных средах иногда встречаются процессы, которые невозможно автоматизировать, либо из-за отсутствия полномочий, либо из-за того, что не все согласны с общим подходом.
  • Если конкретный шаг нельзя автоматизировать, но он не блокирующий, отправка электронного письма уполномоченному лицу для выполнения его части соглашения — элегантный способ переложить ответственность на кого-то другого.
  • Конечно, отправка письма может быть так же полезна, как способ уведомить одного или нескольких человек в команде о том, что определенное действие было (успешно) выполнено.

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
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
  • never
  • starttls
  • try ←
Если always, подключение будет отправлять электронное письмо только при наличии шифрованного соединения. Если сервер не принимает зашифрованное соединение, произойдет ошибка.
Если try, подключение попытается установить безопасное сеансовое SSL/TLS-соединение, прежде чем пытаться отправить.
Если never, подключение не попытается установить безопасное сеансовое SSL/TLS-соединение, прежде чем отправить.
Если starttls, подключение попытается перейти к безопасному SSL/TLS-соединению, прежде чем отправить. Если это не удастся, произойдет ошибка.
subject
требуется
Тема отправляемого электронного письма.
subtype
(добавлено в 2.0)
    Варианты:
  • html
  • plain ←
Дополнительный тип 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, что означает, что авторы этого модуля гарантируют, что не будут вноситься несовместимые изменения в интерфейс.

Техническое обслуживание

Этот модуль помечен как community, что означает, что он поддерживается сообществом Ansible. Дополнительную информацию см. в Техническое обслуживание модулей и поддержка.

Список других модулей, также поддерживаемых сообществом Ansible, см. здесь.

Автор

  • 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.6/modules/mail_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API