An abstract mail component for Feather CMS.
- Mail currency type to send messages
- Validation helpers and errors
- Raw MIME encoder for transport providers
- Attachments and HTML support
- Swift 6.3+
- Platforms:
- Linux
- macOS 15+
- iOS 18+
- tvOS 18+
- watchOS 11+
- visionOS 2+
Use Swift Package Manager; add the dependency to your Package.swift file:
.package(url: "https://github.com/feather-framework/feather-mail", exact: "1.0.0-rc.3"),Then add FeatherMail to your target dependencies:
.product(name: "FeatherMail", package: "feather-mail"),For in-memory test support, add FeatherMailTesting:
.product(name: "FeatherMailTesting", package: "feather-mail"),TestMailClient validates and records sent messages. Use getMailbox() to
inspect them and clearMailbox() to reset the client between test cases.
API documentation is available at the following link.
Warning
This repository is a work in progress, things can break until it reaches v1.0.0.
The following mail client implementations are available for use:
The in-memory testing client is provided by FeatherMailTesting in this
package; it is not a delivery provider.
- Build:
swift build - Test:
- local:
make test - using Docker:
make docker-test
- local:
- Format:
make format - Check:
make check
Pull requests are welcome. Please keep changes focused and include tests for new logic.