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}}