Skip to main content
drupalreleases

Use direct release data with your AI assistant.

Learn more

Diwali Email Card

No security coverage Maintenance fixes only

This module allows you to send Diwali greeting cards as PDF attachments via email. It's a useful tool for organizations wishing to send festive greetings to their contacts.

Introduction

Diwali Email Card sends personalised Diwali greeting cards from your Drupal site. Paste a list of email addresses,
pick a design, and every recipient gets their own card addressed to them by name shown right in the email,
attached as a PDF, or both. Names are worked out from the email address itself
([email protected] → “Dear Priya Sharma,”), so nobody has to type them in.

Cards can go out straight away with a progress bar, or be queued and sent in the background on cron, which suits
long client and customer lists.

Project Summary

Send branded, personalised Diwali greetings to a whole list of contacts in a few clicks inline in the email
and as a print-ready PDF, with a live preview before anything is sent.

Features

  • Five ready-made card designs (Saffron Glow, Lavender Lights, Midnight Gold, Peacock Teal, Marigold Meadow), picked from a thumbnail gallery, with a live preview of the card as the first recipient will see it.
  • Personalisation for every recipient: a name derived from the email address (shared mailboxes such as info@ or noreply@ get a configurable fallback like “Friend”), plus an optional custom message, company name and company logo. Write Name <email> to set a name explicitly.
  • Recipients pasted as plain email addresses (new lines, commas or semicolons) or uploaded as a CSV file; duplicates and invalid addresses are caught before anything is sent.
  • Choose how the card is delivered: in the email body, as a PDF attachment, or both. PDFs are A5 landscape and grow to fit longer messages, so a card is always a single page.
  • Send now via the Batch API, or in the background via the Queue API on cron, with each failed card retried up to three times.
  • Editable subject and email text with [recipient_name] and [company_name] placeholders, and a Send a test to me button.
  • Built-in HTML mailer that sends HTML with a plain-text alternative and the PDF attached, through the transport in system.mail:mailer_dsn or use any mail backend that supports HTML and attachments, such as SMTP.
  • Every send is logged to the diwali_email_card log channel. Generated PDFs are written to the temporary directory and deleted as soon as they are sent.

Post-Installation

After installing the module:

  1. Go to Configuration → System → Diwali email card (/admin/config/system/diwali-email-card) to set a default company name, upload a logo, choose which designs are available, and adjust the default subject, email text and delivery format.
  2. Make sure your site can send email. By default the module uses its built-in HTML mailer with the transport in system.mail:mailer_dsn; to use the SMTP module or another backend instead, untick Use the built-in HTML mailer.
  3. Grant the Send Diwali cards permission to the roles that should send cards.
  4. Go to Content → Send Diwali cards (/diwali-card/send), paste the recipients, pick a design, check the preview, and send a test to yourself before sending to the whole list.

Additional Requirements

  • Drupal 10.3+ or 11
  • TCPDF (tecnickcom/tcpdf), installed automatically when the module is added with Composer

No other contributed modules are required. The SMTP module is optional, for sites that want to send through an
SMTP server.

Similar projects

Greetings like these are often sent with newsletter modules such as
Simplenews or through external email marketing tools, which
need subscriber lists, campaigns and templates to be set up first. This module is deliberately narrower: one
purpose (seasonal greeting cards), no subscriber management, and a single form that turns a pasted list of
addresses into individually personalised cards with a PDF attached.

Supporting this Module

Bug reports, feature requests, new card designs, patches, and documentation improvements are welcome through the
Drupal.org issue queue.

Community Documentation

Documentation is available in the project repository's README, including mail transport configuration, overriding
the card template from a theme, and upgrading from 1.0.x.

Permissions

  • Send Diwali cards – use the send form to send cards to any email address.
  • Administer Diwali email card (restricted) – manage the default company name, logo, enabled designs, email defaults and mail backend.

Architecture

  • DiwaliEmailCardService – the shared orchestration point: defines the card designs, renders a card for email, PDF or preview, generates the PDF, replaces placeholders, and sends one card to one recipient. Used by the send form, the batch and the queue worker alike.
  • RecipientParser – parses pasted addresses and CSV uploads, removes duplicates, reports invalid entries, and derives a display name from each email address.
  • DiwaliHtmlMail – a Plugin/Mail plugin built on core's Symfony mailer that keeps the HTML body, adds a plain-text alternative and attaches the PDF.
  • DiwaliCardQueueWorker – a Queue API worker that sends queued cards on cron and re-queues a failed card until it succeeds or reaches the attempt limit.
  • DiwaliCardBatch – Batch API operations for sending a list immediately with a progress bar.
  • diwali-card.html.twig – one table-based template used for the email, the PDF and the preview, which themes can override per design or per output (for example diwali-card--card3--pdf.html.twig).
  • DiwaliEmailCardForm / DiwaliEmailCardSettingsForm – the send screen (recipients, design picker, live preview) and the settings screen.

The module is fully compatible with Drupal 11.

Drupal 10–11

Ask your assistant about Diwali Email Card

Check compatibility with your Drupal and PHP version, maintenance and security coverage, from current release data. How it works

Depends on

Dependencies of the latest stable release

  • file Drupal core

Required by

Tracked projects that depend on this one

No tracked projects depend on this one yet.

Activity

Tracked releases
6
Tracked since
Oct 2025
Latest release
1 week ago
Releases (12 mo)
1 ▼ from 5
Maintenance
Active

Release Timeline

Releases

Version Type Core PHP Release date
1.0.5 Stable 10–11 Oct 7, 2026
1.0.4 Stable 10–11 Oct 15, 2025
1.0.3 Stable 10–11 Oct 15, 2025
1.0.2 Stable 10–11 Oct 15, 2025
1.0.1 Stable 10–11 Oct 15, 2025
1.0.0 Stable 10–11 Oct 15, 2025