如何使用Ansible发送电子邮件

时间:2014-07-02 11:21:20

标签: email yaml ansible ansible-playbook

我尝试使用Ansible发送电子邮件,但我无法理解它是如何工作的,因为我不知道如何为此类服务提供用户和密码(未在{ {3}})。

我的机器和电子邮件服务器都在同一个网络中,但我需要通过身份验证才能发送电子邮件。

这是我的yml文件:

--- 
- name: Testing email
  hosts: localhost
  tasks: 
    - name: Send email
      local_action: mail
        host=mail.server.com
        port=993
        subject="Ansible test mail"
        body="Testing email"
        from=my@email
        to="y@email
        charset=utf8

这是主持人的相关内容。文件:

[localhost]
localhost ansible_connection=local

我应该如何配置它?提前谢谢。

1 个答案:

答案 0 :(得分:5)

查看mail模块(https://github.com/ansible/ansible/blob/d1effecb2ef073e478c67a7ca39cf56708a66a48/library/notification/mail)的源代码,看起来它不支持SMTP身份验证。

然而,添加对它的支持应该不会太难。它需要将用户名和密码参数添加到模块中,检测它们是否已经提供,如果是,则使用这些参数调用smtp.login()

事实上,看起来这里有两个拉取请求就是这样做

https://github.com/ansible/ansible/pull/7213

在这里

https://github.com/ansible/ansible/pull/6667

因此很快就会在开发中添加支持。