Spec-Zone.ru › Ansible 2.11

community.general.mail – Отправка электронного письма

Примечание

Этот плагин входит в коллекцию community.general (версия 2.0.1).

Для его установки используйте: ansible-galaxy collection install community.general.

Для использования в книге задач укажите: community.general.mail.

  • Обзор
  • Параметры
  • Примеры

Обзор

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

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
attach
список / элементы=строка
Значение по умолчанию:
[]
Список путей к файлам, которые необходимо добавить в сообщение.
Тип содержимого прикреплённых файлов будет установлен в application/octet-stream.
bcc
список / элементы=строка
Адрес(ы) электронной почты, которым отправляется письмо с 'скрытой' копией.
Это список, который может содержать адресные части и фразы.
body
строка
Тело отправляемого электронного письма.
cc
список / элементы=строка
Адрес(ы) электронной почты, которым отправляется копия письма.
Это список, который может содержать адресные части и фразы.
charset
строка
Значение по умолчанию:
"utf-8"
Кодировка символов отправляемого электронного письма.
headers
список / элементы=строка
Значение по умолчанию:
[]
Список заголовков, которые следует добавить к сообщению.
Каждый отдельный заголовок задается как header=value (см. пример ниже).
host
строка
Значение по умолчанию:
"localhost"
Сервер электронной почты.
password
строка
Если для SMTP требуется пароль.
port
целое число
Значение по умолчанию:
25
Порт сервера электронной почты.
Это должно быть целое число от 1 до 65534
secure
строка
    Варианты:
  • всегда
  • никогда
  • starttls
  • попытка ←
Если always, подключение будет отправлять электронную почту только при зашифрованном соединении. Если сервер не принимает зашифрованное соединение, произойдёт ошибка.
Если try, подключение попытается установить защищённое SSL/TLS-соединение, прежде чем пытаться отправить.
Если never, подключение не попытается установить защищённое SSL/TLS-соединение, прежде чем отправить.
Если starttls, подключение попытается перейти к защищённому SSL/TLS-соединению, прежде чем отправить. Если это не удастся, произойдёт ошибка.
sender
строка
Значение по умолчанию:
"root"
Адрес электронной почты, с которого отправляется письмо. Может содержать адрес и фразу.

псевдонимы: от
subject
строка / обязательно
Тема отправляемого электронного письма.

псевдонимы: сообщение
subtype
строка
    Варианты:
  • html
  • простой ←
Дополнительный тип MIME, может быть plain или html.
Основной тип всегда text.
timeout
целое число
Значение по умолчанию:
20
Устанавливает таймаут в секундах для попыток подключения.
to
список / элементы=строка
Значение по умолчанию:
"root"
Адрес(ы) электронной почты, которым отправляется письмо.
Это список, который может содержать адресные части и фразы.

псевдонимы: получатели
username
строка
Если для SMTP требуется имя пользователя.

Примеры

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

- name: Sending an e-mail using Gmail SMTP servers
  community.general.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
  community.general.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
  community.general.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
  community.general.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
  community.general.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

Авторы

  • Dag Wieers (@dagwieers)

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

Spec-Zone.ru

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