Spec-Zone.ru › Ansible 2.4

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

  • Описание
  • Параметры
  • Примеры
    • Статус

Описание

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

Параметры

Параметр Обязательный Значение по умолчанию Варианты Комментарии
attach
нет
Список файлов, разделенных пробелами, которые необходимо прикрепить к сообщению. Прикрепленные файлы будут иметь тип содержимого, установленный на application/octet-stream.
bcc
нет
Адрес(ы) электронной почты, по которым письмо отправляется с «скрытой» копией. Это список, разделенный запятыми, который может содержать адреса и фразы.
body
нет $subject
Тело отправляемого электронного письма.
cc
нет
Адрес(ы) электронной почты, по которым письмо отправляется с копией. Это список, разделенный запятыми, который может содержать адреса и фразы.
charset
нет us-ascii
Кодировка символов отправляемого электронного письма
from
нет root
Адрес электронной почты, с которого отправляется письмо. Может содержать адрес и фразу.
headers
нет
Список заголовков, разделенных вертикальной чертой, которые необходимо добавить к сообщению. Каждый отдельный заголовок задается как header=value (см. пример ниже).
host
нет localhost
Сервер электронной почты
password
(добавлено в 1.9)
нет
Если SMTP требует пароль
port
нет 25
Порт сервера электронной почты. Он должен быть допустимым целым числом от 1 до 65534
secure
(добавлено в 2.3)
нет try
  • always
  • never
  • try
  • starttls
Если always, соединение будет отправлять электронную почту только в том случае, если соединение зашифровано. Если сервер не принимает зашифрованное соединение, произойдет ошибка.
Если try, соединение попытается установить безопасное сеанса SSL/TLS, прежде чем пытаться отправить.
Если never, соединение не попытается установить безопасное сеанса SSL/TLS перед отправкой.
Если starttls, соединение попытается обновить соединение до безопасного SSL/TLS, прежде чем отправить. Если это невозможно, произойдет ошибка.
subject
да
Тема отправляемого электронного письма.
subtype
(добавлено в 2.0)
нет plain
Дополнительный тип MIME, может быть либо text, либо html. Основной тип всегда text.
timeout
(добавлено в 2.3)
нет 20
Устанавливает время ожидания в секундах для попыток подключения
to
нет root
Адрес(ы) электронной почты, по которым письмо отправляется. Это список, разделенный запятыми, который может содержать адреса и фразы.
username
(добавлено в 1.9)
нет
Если SMTP требует имя пользователя

Примеры

# Example playbook sending mail to root
- mail:
    subject: 'System {{ ansible_hostname }} has been successfully provisioned.'
  delegate_to: localhost

# 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

# 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/pavatar2.png
    headers: 'Reply-To=john@example.com|X-Special="Something or other"'
    charset: utf8
  delegate_to: localhost

# 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.'

# 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

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

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

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.4/mail_module.html

Spec-Zone.ru

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