Hosted Signup Forms
EuroMail provides embeddable signup forms for collecting newsletter subscribers. Each form includes double opt-in confirmation to stay GDPR-compliant.
Create a signup form via the dashboard or API:
curl -X POST https://api.euromail.dev/v1/contact-lists/{list_id}/forms \
-H "X-EuroMail-Api-Key: em_live_..." \
-H "Content-Type: application/json" \
-d '{
"name": "Blog Newsletter",
"double_optin": true,
"redirect_url": "https://yoursite.com/thanks"
}'
The response includes an embeddable HTML snippet you can drop into any page.
Contact Lists
Organize subscribers into contact lists. Each list has its own signup form, unsubscribe handling, and sending history.
# Create a list
curl -X POST https://api.euromail.dev/v1/contact-lists \
-H "X-EuroMail-Api-Key: em_live_..." \
-H "Content-Type: application/json" \
-d '{"name": "Product Updates", "description": "Monthly product updates"}'Composing Newsletters
Draft newsletters in the dashboard with a visual editor, or use the API with your own HTML:
curl -X POST https://api.euromail.dev/v1/newsletters \
-H "X-EuroMail-Api-Key: em_live_..." \
-H "Content-Type: application/json" \
-d '{
"subject": "March Product Update",
"from": "[email protected]",
"contact_list_id": "cl_...",
"html_body": "<h1>What is new</h1><p>...</p>"
}'Sending
Preview your newsletter, then send to the entire list or a test segment:
# Send to all subscribers
curl -X POST https://api.euromail.dev/v1/newsletters/{id}/send \
-H "X-EuroMail-Api-Key: em_live_..."
EuroMail handles unsubscribe links (List-Unsubscribe header), bounce processing, and complaint handling automatically. All subscriber data stays in Finland.
Analytics
Track opens, clicks, bounces, and unsubscribes per newsletter via the dashboard or API:
curl https://api.euromail.dev/v1/newsletters/{id} \
-H "X-EuroMail-Api-Key: em_live_..."
Returns delivery stats including sent count, open rate, click rate, bounce rate, and unsubscribe count.