Skip to content

feat: integrate Mailjet for transactional email (SMTP) #20

@GRACENOBLE

Description

@GRACENOBLE

Summary

Add Mailjet as the transactional email provider for sending system emails (welcome, password reset, notifications) from the Go backend.

Scope

Backend (Go)

Email templates

  • Store templates as Go text/template or html/template files under internal/infrastructure/email/templates/
  • Render templates server-side before sending — no external template hosting required at this stage

Acceptance criteria

  • Backend can send an email via Mailjet API (not raw SMTP) with a rendered HTML body
  • SendWelcomeEmail function works end-to-end in a local integration test (or against Mailjet sandbox)
  • MAILJET_API_KEY, MAILJET_SECRET_KEY, FROM_EMAIL, and FROM_NAME added to backend/.env.example with placeholders and comments
  • EmailSender interface is unit-tested with a mock; integration test hits the real Mailjet sandbox API
  • Docs added to backend/docs/email.md covering the interface, template pattern, and env var setup

Dependencies

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions