|
2 | 2 |
|
3 | 3 | An abstract mail component for Feather CMS. |
4 | 4 |
|
5 | | -## Getting started |
| 5 | +[ |
| 6 | +  |
| 7 | +]( |
| 8 | + https://github.com/feather-framework/feather-mail/releases/tag/1.0.0-beta.1 |
| 9 | +) |
| 10 | + |
| 11 | +## Features |
| 12 | + |
| 13 | +- Immutable mail payload model |
| 14 | +- Validation helpers and errors |
| 15 | +- Raw MIME encoder for transport providers |
| 16 | +- Attachments and HTML support |
| 17 | + |
| 18 | +## Requirements |
6 | 19 |
|
7 | | -⚠️ This repository is a work in progress, things can break until it reaches v1.0.0. |
| 20 | + |
| 21 | + |
8 | 22 |
|
9 | | -Use at your own risk. |
| 23 | +- Swift 6.1+ |
| 24 | +- Platforms: |
| 25 | + - macOS 15+ |
| 26 | + - iOS 18+ |
| 27 | + - tvOS 18+ |
| 28 | + - watchOS 11+ |
| 29 | + - visionOS 2+ |
10 | 30 |
|
11 | | -### Adding the dependency |
| 31 | +## Installation |
12 | 32 |
|
13 | | -To add a dependency on the package, declare it in your `Package.swift`: |
| 33 | +Use Swift Package Manager; add the dependency to your `Package.swift` file: |
14 | 34 |
|
15 | 35 | ```swift |
16 | | -.package(url: "https://github.com/feather-framework/feather-mail", .upToNextMinor(from: "0.4.0")), |
| 36 | +.package(url: "https://github.com/feather-framework/feather-mail", exact: "1.0.0-beta.1"), |
17 | 37 | ``` |
18 | 38 |
|
19 | | -and to your application target, add `FeatherMail` to your dependencies: |
| 39 | +Then add `FeatherMail` to your target dependencies: |
20 | 40 |
|
21 | 41 | ```swift |
22 | | -.product(name: "FeatherMail", package: "feather-mail") |
| 42 | +.product(name: "FeatherMail", package: "feather-mail"), |
23 | 43 | ``` |
24 | 44 |
|
25 | | -Example `Package.swift` file with `FeatherMail` as a dependency: |
| 45 | +## Usage |
26 | 46 |
|
27 | | -```swift |
28 | | -// swift-tools-version:6.2 |
29 | | -import PackageDescription |
30 | | - |
31 | | -let package = Package( |
32 | | - name: "my-application", |
33 | | - dependencies: [ |
34 | | - .package(url: "https://github.com/feather-framework/feather-mail", .upToNextMinor(from: "0.6.0")), |
35 | | - ], |
36 | | - targets: [ |
37 | | - .target(name: "MyApplication", dependencies: [ |
38 | | - .product(name: "FeatherMail", package: "feather-mail") |
39 | | - ]), |
40 | | - .testTarget(name: "MyApplicationTests", dependencies: [ |
41 | | - .target(name: "MyApplication"), |
42 | | - ]), |
43 | | - ] |
| 47 | +[ |
| 48 | +  |
| 49 | +]( |
| 50 | + https://feather-framework.github.io/feather-mail/ |
44 | 51 | ) |
45 | | -``` |
46 | 52 |
|
47 | | -### Documentation |
| 53 | +API documentation is available at the following link. |
| 54 | + |
| 55 | +> [!WARNING] |
| 56 | +> This repository is a work in progress, things can break until it reaches v1.0.0. |
| 57 | +
|
| 58 | +## Mail drivers |
| 59 | + |
| 60 | +The following mail driver implementations are available for use: |
| 61 | + |
| 62 | +- [SES Driver](https://github.com/feather-framework/feather-mail-driver-ses) |
| 63 | +- [SMTP Driver](https://github.com/feather-framework/feather-mail-driver-smtp) |
| 64 | +- [Memory Driver](https://github.com/feather-framework/feather-memory-mail) |
| 65 | + |
| 66 | +## Development |
| 67 | + |
| 68 | +- Build: `swift build` |
| 69 | +- Test: |
| 70 | + - local: `make test` |
| 71 | + - using Docker: `make docker-test` |
| 72 | +- Format: `make format` |
| 73 | +- Check: `make check` |
| 74 | + |
| 75 | +## Contributing |
48 | 76 |
|
49 | | -The official API reference for this project is available at: |
50 | | -[https://feather-framework.github.io/feather-mail/documentation/](https://feather-framework.github.io/feather-mail/documentation/) |
| 77 | +[Pull requests](https://github.com/feather-framework/feather-mail/pulls) are welcome. Please keep changes focused and include tests for new logic. |
0 commit comments