An open API service indexing awesome lists of open source software.

https://github.com/feather-framework/feather-mail

An abstract mail service for Feather CMS.
https://github.com/feather-framework/feather-mail

Last synced: 5 months ago
JSON representation

An abstract mail service for Feather CMS.

Awesome Lists containing this project

README

          

# Feather Mail

An abstract mail component for Feather CMS.

[
![Release: 1.0.0-beta.1](https://img.shields.io/badge/Release-1%2E0%2E0--beta%2E1-F05138)
](
https://github.com/feather-framework/feather-mail/releases/tag/1.0.0-beta.1
)

## Features

- Immutable mail payload model
- Validation helpers and errors
- Raw MIME encoder for transport providers
- Attachments and HTML support

## Requirements

![Swift 6.1+](https://img.shields.io/badge/Swift-6%2E1%2B-F05138)
![Platforms: macOS, iOS, tvOS, watchOS, visionOS](https://img.shields.io/badge/Platforms-macOS_%7C_iOS_%7C_tvOS_%7C_watchOS_%7C_visionOS-F05138)

- Swift 6.1+
- Platforms:
- macOS 15+
- iOS 18+
- tvOS 18+
- watchOS 11+
- visionOS 2+

## Installation

Use Swift Package Manager; add the dependency to your `Package.swift` file:

```swift
.package(url: "https://github.com/feather-framework/feather-mail", exact: "1.0.0-beta.1"),
```

Then add `FeatherMail` to your target dependencies:

```swift
.product(name: "FeatherMail", package: "feather-mail"),
```

## Usage

[
![DocC API documentation](https://img.shields.io/badge/DocC-API_documentation-F05138)
](
https://feather-framework.github.io/feather-mail/
)

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.

## Mail drivers

The following mail driver implementations are available for use:

- [SES Driver](https://github.com/feather-framework/feather-mail-driver-ses)
- [SMTP Driver](https://github.com/feather-framework/feather-mail-driver-smtp)
- [Memory Driver](https://github.com/feather-framework/feather-memory-mail)

## Development

- Build: `swift build`
- Test:
- local: `make test`
- using Docker: `make docker-test`
- Format: `make format`
- Check: `make check`

## Contributing

[Pull requests](https://github.com/feather-framework/feather-mail/pulls) are welcome. Please keep changes focused and include tests for new logic.