In Part 1 of this series, we explored how to use GitHub Actions matrix strategy to run UI automation tests across multiple browsers like Chrome and Firefox in parallel. It was fast, flexible, and scalable.
But once your matrix jobs run… how do you get notified when something breaks — and more importantly, which browser failed?
In this article, we’ll take it one step further by sending smart email notifications per browser, including:
- 📬 Pass/fail status
- 🧪 Commit SHA
- 📎 Direct link to the HTML test report (via GitHub Artifacts)
- ✅ Fully integrated with EmailJS dynamic templates
Let’s dive in!
📬 Why Use EmailJS?
💡 What is EmailJS?
EmailJS allows developers to send emails directly from frontend apps or serverless environments — without needing to set up their own email server or SMTP credentials.
You define templates with variables (like {{result}}
, {{browser}}
), and send data via a simple REST API. It’s perfect for tools like GitHub Actions or CI/CD pipelines.
🛠 Other Tools You Could Use
Tool | Highlights | Notes |
---|---|---|
SendGrid | Full-featured transactional email API | Setup is more involved |
Mailgun | Developer-focused with detailed tracking | Ideal for backend use |
SMTP2GO | Traditional SMTP service | Works well with SMTP clients |
Postmark | Reliable transactional delivery and analytics | Paid plan, high deliverability |
EmailJS | No server needed, simple setup, free tier | Best for client-side & CI/CD |
✅ Why I Chose EmailJS
- No backend needed – works directly from GitHub Actions
- Easy template setup – fully customizable UI
- Free plan – generous for small projects or teams
- Quick integration – REST API is simple and secure
- Works well with matrix workflows – send dynamic info per job
📄 Dynamic Email Templates in EmailJS
Instead of hardcoding email content in your GitHub workflow, you can define a template in EmailJS like this:
Subject:
{{title}} - {{browser}} {{time}}