OneSignal's Email Messaging requires the use of a third-party email service provider to handle email delivery. All you have to do is set up the integration between the provider and OneSignal, and you'll be ready to send emails through OneSignal.
Step 1. Create Mailgun Account
If you do not already have a Mailgun account, create one now.
Step 2. Configure your Domain for Email
Next, you will need to set up your domain so that it can send emails from Mailgun. Go to Sending > Domains and click 'Add New Domain'
Then, add your domain and follow the setup. Mailgun provides great documentation on getting setup.


You will be given two TXT (SPF and DKIM), two MX, and a CNAME record. You will need to update your DNS records for your domain host.
Once you have set up your DNS records, it make take up to 48 hours to work. Mailgun will email you when your domain is verified.
How do I change my domain's email settings?
Step 3. Get your Credentials
Next, in Mailgun go to Sending > Domains and click the domain you are setting up with email:


Select SMTP


Save the following data: Domain, Username, and Default password.
In mailgun under Settings > API Keys use the Private API key for the OneSignal API KEY Field.
Make sure you are not blocking the OneSignal Server API keys under "IP Whitelist".
Recommended to keep this section blank. However, if you use it add 147.75.1.2/30
and 147.76.1.2/30
to make sure it is not blocked.


Your Mailgun API key and SMTP credentials are like a password. Keep them safe and do not share them.
Step 4. Enable Email Messaging
In OneSignal, go to Settings > Platforms > Email
Next, you must configure your email settings. Select Mailgun as the provider, and paste in the Domain you set up with Mailgun, Private API key, SMTP Username, and SMTP Password (aka Default Password) you just copied in above steps.
OneSignal Field | MailGun Key |
---|---|
Domain | Domain |
Default SMTP Login | Username |
Default password | Default Password |
API key | Private API key |


Delivery Defaults
Add the name and email address that you want your emails to come from (you may override these when sending a message.
Identity Verification
By default, Identity Verification is disabled, however we recommend using it. You can enable Identity Verification here if you can support it.
FAQ
How do I set up OneSignal if I already have an active Webhook in Mailgun?
To simplify setup and be able to access email delivery statistics, OneSignal will automatically configure Webhooks with Mailgun. Unfortunately, Mailgun only supports a single webhook for a given account. OneSignal requires webhooks to use Email Messaging, which may conflict with webhooks previously set up (e.g. for an analytics integration).
If you need the webhook you previously set up, you should contact us for possible workarounds.
If you do not need the webhook you previously set up, you must disable it.
Why are urls in the email not working?
Please see Mailgun's docs on this here: https://help.mailgun.com/hc/en-us/articles/360011566033-How-to-Enable-HTTPS-Tracking-Links
MailGun Troubleshooting
Emails not sending
In your MailGun Account under Sending > Logs, search the dates you sent the email. Click the email and check the delivery-status
> description
and error code
for more details.
Updated 3 days ago
What's Next
Email Quickstart |
Sending Email Messages |