我尝试使用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
我应该如何配置它?提前谢谢。
答案 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
因此很快就会在开发中添加支持。