Use Mailgun to send text or HTML emails, retrieve messages and delivery events, manage mailing lists, and inspect sending domains. Tags help associate sent messages with a workflow or campaign.
Integrate Mailgun into your workflow. Send transactional emails, manage mailing lists and members, view domain information, and track email events. Supports text and HTML emails, tags for tracking, and comprehensive list management.
Send an email using Mailgun API
| Parameter | Type | Required | Description |
|---|
apiKey | string | Yes | Mailgun API key |
domain | string | Yes | Mailgun sending domain (e.g., mg.example.com) |
from | string | Yes | Sender email address (e.g., sender@example.com or "Name <sender@example.com>") |
to | string | Yes | Recipient email address (e.g., user@example.com). Use comma-separated values for multiple recipients |
subject | string | Yes | Email subject line |
text | string | No | Plain text body of the email |
html | string | No | HTML body of the email (e.g., "<h1>Hello</h1><p>Message content</p>") |
cc | string | No | CC recipient email address (e.g., cc@example.com). Use comma-separated values for multiple recipients |
bcc | string | No | BCC recipient email address (e.g., bcc@example.com). Use comma-separated values for multiple recipients |
tags | string | No | Tags for the email (comma-separated) |
| Parameter | Type | Description |
|---|
success | boolean | Whether the message was sent successfully |
id | string | Message ID |
message | string | Response message from Mailgun |
Retrieve a stored message by its key
| Parameter | Type | Required | Description |
|---|
apiKey | string | Yes | Mailgun API key |
domain | string | Yes | Mailgun domain for retrieving messages (e.g., mg.example.com) |
messageKey | string | Yes | Message storage key |
| Parameter | Type | Description |
|---|
success | boolean | Whether the request was successful |
recipients | string | Message recipients |
from | string | Sender email |
subject | string | Message subject |
bodyPlain | string | Plain text body |
strippedText | string | Stripped text |
strippedSignature | string | Stripped signature |
bodyHtml | string | HTML body |
strippedHtml | string | Stripped HTML |
attachmentCount | number | Number of attachments |
timestamp | number | Message timestamp |
messageHeaders | json | Message headers |
contentIdMap | json | Content ID map |
List events (logs) for messages sent through Mailgun
| Parameter | Type | Required | Description |
|---|
apiKey | string | Yes | Mailgun API key |
domain | string | Yes | Mailgun domain for listing events (e.g., mg.example.com) |
event | string | No | Filter by event type (accepted, delivered, failed, opened, clicked, etc.) |
limit | number | No | Maximum number of events to return (default: 100) |
| Parameter | Type | Description |
|---|
success | boolean | Whether the request was successful |
items | json | Array of event items |
paging | json | Paging information |
Create a new mailing list
| Parameter | Type | Required | Description |
|---|
apiKey | string | Yes | Mailgun API key |
address | string | Yes | Mailing list address (e.g., newsletter@mg.example.com) |
name | string | No | Mailing list name |
description | string | No | Mailing list description |
accessLevel | string | No | Access level: readonly, members, or everyone |
| Parameter | Type | Description |
|---|
success | boolean | Whether the list was created successfully |
message | string | Response message |
list | json | Created mailing list details |
Get details of a mailing list
| Parameter | Type | Required | Description |
|---|
apiKey | string | Yes | Mailgun API key |
address | string | Yes | Mailing list address to retrieve (e.g., newsletter@mg.example.com) |
| Parameter | Type | Description |
|---|
success | boolean | Whether the request was successful |
list | json | Mailing list details |
Add a member to a mailing list
| Parameter | Type | Required | Description |
|---|
apiKey | string | Yes | Mailgun API key |
listAddress | string | Yes | Mailing list address (e.g., list@mg.example.com) |
address | string | Yes | Member email address to add (e.g., user@example.com) |
name | string | No | Member name |
vars | string | No | JSON string of custom variables |
subscribed | boolean | No | Whether the member is subscribed |
| Parameter | Type | Description |
|---|
success | boolean | Whether the member was added successfully |
message | string | Response message |
member | json | Added member details |
List all domains for your Mailgun account
| Parameter | Type | Required | Description |
|---|
apiKey | string | Yes | Mailgun API key |
| Parameter | Type | Description |
|---|
success | boolean | Whether the request was successful |
totalCount | number | Total number of domains |
items | json | Array of domain objects |
Get details of a specific domain
| Parameter | Type | Required | Description |
|---|
apiKey | string | Yes | Mailgun API key |
domain | string | Yes | Domain name to retrieve details for (e.g., mg.example.com) |
| Parameter | Type | Description |
|---|
success | boolean | Whether the request was successful |
domain | json | Domain details |