可以在单个邮件中附加多个文件

问题描述 投票:0回答:1

我正在尝试在单个邮件中附加多个文件。我必须在这封邮件中附加我的主机日志,该邮件是动态生成的。截至目前,我有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个主机日志文件的两个单独的邮件。如果清单增加,则这些日志文件邮件将轰炸用户邮箱。为了避免这种情况,我想将所有日志文件合并到单个邮件中,并作为一堆合并到收件人。

ansible email-attachments
1个回答
0
投票

您不能在此处使用循环。您必须为其提供文件的预构建列表。

您可以在运行此任务之前使用setfact任务构建文件列表。

© www.soinside.com 2019 - 2024. All rights reserved.