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@ornoreply@get a configurable fallback like “Friend”), plus an optional custom message, company name and company logo. WriteName <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_dsnor use any mail backend that supports HTML and attachments, such as SMTP. - Every send is logged to the
diwali_email_cardlog channel. Generated PDFs are written to the temporary directory and deleted as soon as they are sent.
Post-Installation
After installing the module:
- 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. - 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. - Grant the Send Diwali cards permission to the roles that should send cards.
- 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/Mailplugin 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.
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.