我正在尝试在单个邮件中附加多个文件。我必须在这封邮件中附加我的主机日志,该邮件是动态生成的。截至目前,我有2位房东。动态文件在/ansible_log/10.0.0.1_log.txt和/ansible_log/10.0.0.2_log.txt(等等)中生成。我可以在这里发送邮件,下面是脚本:
Inventory File:
[logs]
x.x.x.1
x.x.x.2
- name: Send e-mail to users, attaching report
mail:
host: x.x.x.x
port: xx
to: "{{ mailid }}"
subject: Server Logs
body: Please find attached logs.
attach:
- /ansible_log/{{ item }}_log.txt
delegate_to: localhost
with_items: "{{ inventory_hostname }}"
run_once: True
tags: send_mail
这里我想发送一封邮件,将两个日志文件都附加到一个邮件中。如果删除run_once: True
,它将发送带有2个主机日志文件的两个单独的邮件。如果清单增加,则这些日志文件邮件将轰炸用户邮箱。为了避免这种情况,我想将所有日志文件合并到单个邮件中,并作为一堆合并到收件人。
您不能在此处使用循环。您必须为其提供文件的预构建列表。
您可以在运行此任务之前使用setfact任务构建文件列表。