webform_scheduled_csv_mailer
Webform Submission Scheduled Mailer
The Webform CSV Mailer module provides a powerful, automated solution for exporting Webform submissions into CSV format as an attachment and delivering them via email on a scheduled basis. Unlike standard email handlers that send data per submission, this module aggregates data over specific time intervals, making it ideal for periodic reporting, lead management, and data auditing.
Key Features
Configuration Entity Architecture: Leverages Drupal's native Config Entity system, allowing you to create, manage, and export multiple independent reporting schedules as individual configuration objects.
Flexible Scheduling: Out-of-the-box support for multiple frequencies:
High Frequency: Every 5 minutes for near-real-time monitoring.
Standard Intervals: Daily, Weekly (every Monday), and Monthly (1st of the month).
Custom Intervals: Define a repeat cycle every X number of days.
Multiple Recipients: Easily manage stakeholder lists by entering comma-separated email addresses.
Time-Sensitive Exports: Automatically calculates the correct time window based on the chosen frequency to ensure no submission is missed or duplicated in reports.
Performance Optimized: Built with a dedicated service layer and native Drupal hook_cron integration to ensure efficient background processing.
Administrator Dashboard: A clean, sortable management interface showing the "Last Sent" status for all schedules.
Why use this module?
Site administrators often need to provide data exports to stakeholders who do not have access to the Drupal backend. Manual exports are time-consuming and prone to human error. Webform CSV Mailer automates this workflow, ensuring that your team receives the data they need, exactly when they need it, in a universal format (CSV).
Installation And Setup
Install the module using Composer then clear caches with drush cr. After installation, go to Administration → Extend (/admin/modules), search for Webform CSV Mailer, enable the module, and save. Next, assign permissions by navigating to Administration → People → Permissions (/admin/people/permissions) and granting access to the appropriate administrative roles under the Webform CSV Mailer section. Once enabled, configure the module by going to Administration → Configuration → Web services → Webform CSV Mailer, where you can select the webform, set the recipient email, choose the start date and time, and define the repeat interval. After saving the configuration, you will be able to schedule automated CSV email reports of webform submissions. Ensure Drupal cron is running so scheduled emails are processed correctly.
Technical Implementation
This module is built with modern Drupal best practices:
Service-Oriented: Core logic is encapsulated in the webform_csv_mailer.service.
Schema Validated: Includes a full configuration schema for seamless deployment across environments.
Timezone Aware: Synchronizes "Send Time" with the server's regional settings to ensure predictable delivery.