hn / typo3-mail-sender
TYPO3 extension for configuring and validating email sender addresses with DNS and deliverability checks
Installs: 16
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
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-01 12:05:17 UTC
README
๐ง Work in Progress - Currently in Phase 1 development ๐ TYPO3 Community Budget Q4 2025 Winner
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)
- โ 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)
Planned Features
- ๐ Phase 2: DNS record validation (SPF, DMARC, MX)
- ๐ Phase 2: Email deliverability checks
- ๐ Phase 3: Integration with ext:form and other extensions
- ๐ Phase 4: Import from existing configurations
Roadmap
Phase 1: Foundation โ In Progress
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)
Deliverable: Functional extension with sender address management in TYPO3 backend
Phase 2: Core Validation ๐ Planned
Goal: Implement email validation - the core functionality
Features:
- SPF record validation using
dns_get_record() - MX record verification
- DMARC record analysis
- Email existence checks (similar to email-checker.net)
- Test email functionality
- Validation result caching for performance
- Status reporting and visual display
- Decision on synchronous vs. asynchronous validation (with timeouts)
Deliverable: Complete email validation system with DNS checks and status reporting
Phase 3: Integration & Adoption ๐ Planned
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 (Phase 2+)
The following fields will be populated automatically by validation services in Phase 2:
- 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 1 (Foundation) Next Milestone: Phase 2 (Core Validation) 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.