Переменная файла поиска - PullRequest
0 голосов
/ 07 мая 2018

Я пытаюсь отправить по электронной почте файл шаблона с переменной в html, например {{user_name}}, html корректно отображается в моем почтовом клиенте, однако {{user_name}} не может быть разрешен и отображается в виде строки {{user_name}}

- name: Send e-mail to a bunch of users, attaching files
  mail:
    host: mail.server.com
    subtype: html
    subject: email template
    body: '{{ lookup("file", "roles/binding/templates/email.j2") }}'
    to: "{{ user_email }}"

Пример вывода

Hi {{ user_name }} ....

Желаемый вывод

Hi John Doe

Есть идеи, как мне решить эту проблему?

Ответы [ 2 ]

0 голосов
/ 08 мая 2018

Просто замените плагин поиска file на плагин поиска template в параметре body:

body: '{{ lookup("template", "roles/binding/templates/email.j2") }}'
0 голосов
/ 07 мая 2018

Вы можете добавить задачу template для обработки файла, прямо перед задачей для отправки почты. Пример:

- name: prepare mail body from template
  template:
    src: email.j2
    dest: /tmp/email.out

В этой задаче будет произведена замена переменной.

Затем вы отправите письмо с уже подготовленным заданием, но body будет указывать на файл /tmp/mail.out.

шаблонная документация модуля

...