Added shared mailer package to remove circular dependencies between packages. (#63)

This commit is contained in:
Giancarlo Buomprisco
2024-09-04 03:34:48 +08:00
committed by GitHub
parent d18f810c6e
commit 4c7a3354b9
21 changed files with 256 additions and 38 deletions

View File

@@ -0,0 +1,51 @@
# Mailers - @kit/mailers
This package is responsible for sending emails using a unified interface across the app.
The default mailer uses the `nodemailer` package to send emails. You can create custom mailers by extending the `Mailer` class.
Make sure the app installs the `@kit/mailers` package before using it.
```json
{
"name": "my-app",
"dependencies": {
"@kit/mailers": "*"
}
}
```
## Usage
By default, the package uses `nodemailer`.
To use [Resend](https:///resend.com)'s HTTP API, please set the environment variable `MAILER_PROVIDER` to `resend`.
```
MAILER_PROVIDER=resend
```
### Send an email
```tsx
import { getMailer } from '@kit/mailers';
async function sendEmail() {
const mailer = await getMailer();
return mailer.sendEmail({
to: '',
from: '',
subject: 'Hello',
text: 'Hello, World!'
});
}
```
## Resend
If you're using the `resend` provider, please add the following environment variables:
```
RESEND_API_KEY=your-api-key
```