Klaas Schoute 8fb8bff92d 🚜 Merges/Redirect Mailgun component pages (#9028)
* 🚜 Merges/Redirect Mailgun component pages

* ✏️ Tweak
2019-03-25 17:08:13 +01:00

4.0 KiB

layout, title, description, date, sidebar, comments, sharing, footer, logo, ha_category, ha_release, redirect_from
layout title description date sidebar comments sharing footer logo ha_category ha_release redirect_from
page Mailgun Instructions on how to add Mailgun mail notifications to Home Assistant. 2017-02-06 16:52 true false true true mailgun.png
Notifications
0.38
/components/notify.mailgun/

To be able to receive webhooks from Mailgun, your Home Assistant instance needs to be accessible from the web (Hass.io instructions) and you need to have the base_url configured for the HTTP component (docs).

To set it up, go to the integrations page in the configuration screen and find Mailgun. Click on configure. Follow the instructions on the screen to configure Mailgun.

You will get a URL of the following format: https://<home-assistant-domain>/api/webhook/9940e99a26fae4dcf6fe0a478124b6b58b578ea4c55c9a584beb1c9f5057bb91. To receive webhooks from Mailgun, you need to provide that url as a callback URL in the Webhooks tab of the Mailgun Control Panel.

There is currently support for the following device types within Home Assistant:

{% linkable_title Configuration %}

# Example configuration.yaml entry
mailgun:
  domain: EXAMPLE.COM
  api_key: YOUR_API_KEY

{% configuration %} domain: description: This is the domain name to be used when sending out mail. Needs to be the first custom domain you have set up. required: true type: string api_key: description: This is the API token that has been generated in your Mailgun account. required: true type: string sandbox: description: "(Deprecated) Whether to use the sandboxed domain for outgoing mail. Since the domain item is required, it should be set to the sandbox domain name, so this isn't needed." required: false default: false type: boolean {% endconfiguration %}

Events coming in from Mailgun will be available as events in Home Assistant and are fired as mailgun_message_received. The data specified by Mailgun will be available as the event data. You can use this event to trigger automations.

You can then consume that information with the following automation:

automation:
  trigger:
    platform: event
    event_type: mailgun_message_received
    event_data:
      action: call_service
  action:
    service: light.turn_on
    entity_id: light.office

{% linkable_title Notifications %}

The Mailgun notification service allows you to send emails via Mailgun's REST API. It requires the Mailgun component to be set up.

{% linkable_title Notifications configuration %}

# Example configuration.yaml entry
notify:
  - name: mailgun
    platform: mailgun
    recipient: CHANGE@EXAMPLE.COM

{% configuration %} domain: description: This is the domain name to be used when sending out mail. required: true type: string sandbox: description: "(Deprecated) If a sandboxed domain is used, specify it in domain." required: false default: false type: boolean api_key: description: This is the API Key that has been generated in your Mailgun account. required: true type: string recipient: description: The email address of the recipient. required: true type: string sender: description: The sender's email address. required: false default: "hass@DOMAIN, where DOMAIN is the outgoing mail domain, as defined by the domain configuration entry." type: string {% endconfiguration %}

{% linkable_title Example automation %}

The following automation reacts to an event by sending out an email with two attachments.

# Example automation using Mailgun notifications
automation:
  trigger:
    platform: event
    event_type: SPECIAL_EVENT
  action:
    service: notify.mailgun
    data:
      title: "Something special has happened"
      message: "This a test message from Home Assistant"
      data:
        images:
          - /home/pi/pic_test1.png
          - /home/pi/pic_test2.png