W3cubDocs

/Ansible

sendgrid - Sends an email with the SendGrid API

New in version 2.0.

Synopsis

Sends an email with a SendGrid account through their API, not through the SMTP service.

Requirements (on host that executes module)

  • sendgrid python library

Options

parameter required default choices comments
api_key
(added in 2.2)
no
sendgrid API key to use instead of username/password
attachments
(added in 2.2)
no
a list of relative or explicit paths of files you want to attach (7MB limit as per SendGrid docs)
bcc
(added in 2.2)
no
a list of email addresses to bcc
cc
(added in 2.2)
no
a list of email addresses to cc
from_address
yes
the address in the "from" field for the email
from_name
(added in 2.2)
no
the name you want to appear in the from field, i.e 'John Doe'
headers
(added in 2.2)
no
a dict to pass on as headers
html_body
(added in 2.2)
no
whether the body is html content that should be rendered
password
no
password that corresponds to the username
Since 2.2 it is only required if api_key is not supplied.
subject
yes
the desired subject for the email
to_addresses
yes
a list with one or more recipient email addresses
username
no
username for logging into the SendGrid account.
Since 2.2 it is only required if api_key is not supplied.

Examples

# send an email to a single recipient that the deployment was successful
- sendgrid:
    username: "{{ sendgrid_username }}"
    password: "{{ sendgrid_password }}"
    from_address: "[email protected]"
    to_addresses:
      - "[email protected]"
    subject: "Deployment success."
    body: "The most recent Ansible deployment was successful."
  delegate_to: localhost

# send an email to more than one recipient that the build failed
- sendgrid
      username: "{{ sendgrid_username }}"
      password: "{{ sendgrid_password }}"
      from_address: "[email protected]"
      to_addresses:
        - "[email protected]"
        - "[email protected]"
      subject: "Build failure!."
      body: "Unable to pull source repository from Git server."
  delegate_to: localhost

Notes

Note

This module is non-idempotent because it sends an email through the external API. It is idempotent only in the case that the module fails.

Note

Like the other notification modules, this one requires an external dependency to work. In this case, you’ll need an active SendGrid account.

Note

In order to use api_key, cc, bcc, attachments, from_name, html_body, headers you must pip install sendgrid

Note

since 2.2 username and password are not required if you supply an api_key

This is an Extras Module

For more information on what this means please read Extras Modules

For help in developing on modules, should you be so inclined, please read Community Information & Contributing, developing_test_pr and Developing Modules.

© 2012–2016 Michael DeHaan
© 2016 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/sendgrid_module.html