Skip to content

# Implement Email Notification System for Certificate Generation #4

Description

@itsmnx

Overview

Currently, the system generates certificates successfully, but students are not notified after their certificate has been issued.

This issue aims to implement an automatic email notification feature that sends an email to the student whenever a certificate is generated by the admin.

The implementation should be secure, modular, and should not interrupt the certificate generation workflow if email delivery fails.


Objectives

  • Integrate email sending functionality using Nodemailer
  • Send automated email notifications after certificate generation
  • Add SMTP configuration support using environment variables
  • Ensure proper error handling for failed email delivery

Requirements

Backend

  • Configure Nodemailer SMTP transporter
  • Create a reusable email service utility
  • Trigger email notification after successful certificate generation
  • Keep sensitive credentials inside environment variables
  • Ensure certificate generation continues even if email sending fails

Environment Variables

Add the following variables to .env.example:

SMTP_HOST=
SMTP_PORT=
SMTP_EMAIL=
SMTP_PASSWORD=

Expected Email Content

The email may include:

  • Student Name
  • Certificate Title
  • Verification ID
  • Verification or Download Link

Expected Outcome

After implementation:

  • Students should receive an email notification after certificate generation
  • Email should contain certificate-related details
  • Existing certificate generation functionality should remain unaffected
  • The system should handle email failures gracefully without crashing

Screenshots / Proof Required

Contributor must attach screenshots or proof showing:

  • Email received successfully by the student
  • Email subject and certificate details
  • Backend console/log showing successful email delivery
  • Certificate generation still working properly

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions