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

dev-main 2025-12-01 12:05 UTC

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
  • 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:

  1. Navigate to the List module
  2. Select the root page (ID: 0)
  3. 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

Acknowledgments

Special thanks to the TYPO3 community for selecting this project for funding and supporting open-source development in the TYPO3 ecosystem.