Ansible查找文件变量
我试图通过电子邮件发送一个模板文件,该文件在html中有变量,例如Ansible查找文件变量,ansible,jinja2,Ansible,Jinja2,我试图通过电子邮件发送一个模板文件,该文件在html中有变量,例如{{user\u name},html在我的邮件客户端中正确呈现,但是{{user\u name}}无法解析并显示为字符串{user\u name} - name: Send e-mail to a bunch of users, attaching files mail: host: mail.server.com subtype: html subject: email template b
{{user\u name}
,html在我的邮件客户端中正确呈现,但是{{user\u name}}
无法解析并显示为字符串{user\u 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
关于我如何解决这个问题有什么想法吗 您可以在发送邮件的任务之前添加一个
模板
任务来处理文件。例如:
- name: prepare mail body from template
template:
src: email.j2
dest: /tmp/email.out
变量替换将在此任务中进行
然后,您将发送包含您已经准备好的任务的邮件,但是正文
必须指向/tmp/mail.out
文件
只需将
文件
查找插件替换为正文
参数中的:
body: '{{ lookup("template", "roles/binding/templates/email.j2") }}'