hn / typo3-mail-sender
TYPO3 extension for configuring and validating email sender addresses with DNS and deliverability checks
Installs: 32
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
Type:typo3-cms-extension
pkg:composer/hn/typo3-mail-sender
Requires
- php: ^8.1.0
- mika56/spfcheck: ^3.0
- typo3/cms-backend: ^13.4
- typo3/cms-core: ^13.4
- zbateson/mail-mime-parser: ^3.0
Requires (Dev)
- brianium/paratest: ^7.11
- typo3/cms-install: ^13.4
- typo3/testing-framework: ^9.2.0
Suggests
- typo3/cms-form: For form finisher integration with validated sender address dropdown
- typo3/cms-scheduler: For automated periodic validation of sender addresses
Conflicts
- symfony/dependency-injection: 7.4.0
This package is auto-updated.
Last update: 2025-12-03 10:51:58 UTC
README
๐ง Work in Progress
Configure and validate email sender addresses with DNS and deliverability checks for TYPO3 CMS.
About This Project
This extension is proudly funded by the TYPO3 Community Budget for Q4 2025. It was selected by TYPO3 members as one of four ideas to receive community funding, reflecting the strong need for better email sender configuration and validation in TYPO3.
Learn more: TYPO3 Community Budget Q4 2025 Winners
Current Features
Phase 1: Foundation โ
- โ Manage email sender addresses in the TYPO3 backend
- โ Store sender email addresses and display names
- โ Database structure for validation tracking
- โ System record configuration (root-level records)
- โ Integration in TYPO3's System Information/Status module
- โ Custom TCA renderType for validation status display
Phase 2: Core Validation ๐ (In Progress)
- โ Email syntax validation
- โ MX record verification
- โ SPF record validation (checks SMTP transport configuration)
- โ DMARC record analysis with recommendations
- โ Email existence verification (SMTP check)
- โ Validation result caching and display
- โ
CLI command for validation (
mail:sender:validate) - ๐ Tweaking email existence check failure handling
Phase 3: Integration & Adoption ๐ (In Progress)
- โ Integration with ext:form (validated sender dropdown)
- ๐ TCA Extra Field API for third-party extensions
- ๐ Documentation for extension developers
Planned Features
- ๐ Phase 4: Import from existing configurations
Roadmap
Phase 1: Foundation โ Complete
Goal: Basic extension structure and system integration
Features:
- Extension scaffolding (composer.json, ext_emconf.php, TCA)
- Database schema for sender address configuration
- TCA configuration for backend management
- Basic CRUD operations with functional tests
- System record design (root-level, no translation)
- Integration in TYPO3's System Information/Status module
- Custom TCA renderType for validation status display
Deliverable: Functional extension with sender address management in TYPO3 backend
Phase 2: Core Validation ๐ In Progress
Goal: Implement email validation - the core functionality
Features:
- โ Email syntax validation
- โ
SPF record validation using
dns_get_record() - โ MX record verification
- โ DMARC record analysis with recommendations
- โ Email existence checks via SMTP verification
- โ Validation result caching for performance
- โ Status reporting and visual display
- โ CLI command for validation
- ๐ Refinement of email existence check error handling
Deliverable: Complete email validation system with DNS checks and status reporting
Phase 3: Integration & Adoption ๐ In Progress
Goal: Wide adoption through easy integration
Features:
- โ Integration with ext:form (replace freetext sender with validated dropdown)
- ๐ TCA Extra Field API for third-party extensions (similar to
enableRichtext) - ๐ Identify and integrate with popular TYPO3 extensions
- ๐ Comprehensive documentation for extension developers
- ๐ Integration testing and examples
Deliverable: API and integrations enabling easy adoption by extension developers
Phase 4: Polish & Import ๐ Planned
Goal: Production-ready release with import functionality Target: December 2025
Features:
- Import functionality:
- From
$GLOBALS['TYPO3_CONF_VARS']['MAIL'] - From TypoScript configurations
- From other extension databases
- From
- Reference tracking (show where sender addresses are used)
- Final documentation and changelog
- Testing, bug fixes, and polish
- TER (TYPO3 Extension Repository) release preparation
- TYPO3.org news article
Deliverable: Release-ready extension with full documentation
Requirements
- TYPO3 13.4 or later
- PHP 8.1 or later
Installation
Install via Composer:
composer require hn/typo3-mail-sender
Usage
After installation, mail sender addresses can be managed in the TYPO3 backend:
- Navigate to the List module
- Select the root page (ID: 0)
- Create new "Mail Sender Address" records
Record Fields
Each sender address record contains:
- Sender Email Address: The email address to be used as sender
- Sender Name: Display name for the sender
- Hidden: Toggle to temporarily disable a sender address
Validation Fields
The following fields are populated automatically by validation services:
- Validation Status: Current validation state (pending, valid, invalid)
- Last Validation Check: Timestamp of the last validation
- Validation Result: Detailed JSON validation results
Development
Running Tests
composer test
The extension uses the TYPO3 testing framework with SQLite. Tests are automatically bootstrapped via the Build/setup-typo3.sh script.
Test Coverage
Current functional tests cover:
- โ Basic CRUD operations
- โ Record soft-delete
- โ Record hiding/visibility
- โ TCA configuration
- โ Database schema
Contributing
We welcome contributions from the TYPO3 community! As a community-funded project, your input helps shape this extension.
Ways to contribute:
- ๐ก Share feedback and feature suggestions via GitHub Issues
- ๐ Report bugs and issues
- ๐ Improve documentation
- ๐งช Help with testing
- ๐ป Submit pull requests
Please check the GitHub repository for open issues and contribution guidelines.
Project Status
Current Phase: Phase 2 (Core Validation) & Phase 3 (Integration) Next Milestone: Phase 4 (Polish & Import) Target Release: December 2025
License
GPL-2.0-or-later
Authors
- Marco Pfeiffer - marco@hauptsache.net
- TYPO3 Community - Funded by Community Budget Q4 2025
Acknowledgments
Special thanks to the TYPO3 community for selecting this project for funding and supporting open-source development in the TYPO3 ecosystem.