@aphexcms/resend-adapter
v2.0.9
Published
Resend email adapter for Aphex CMS.
Readme
@aphexcms/resend-adapter
Resend email adapter for Aphex CMS.
Installation
pnpm add @aphexcms/resend-adapter resendUsage
Basic Setup
// src/lib/server/email/index.ts
import { createResendAdapter } from '@aphexcms/resend-adapter';
import { RESEND_API_KEY } from '$env/static/private';
export const emailAdapter = createResendAdapter({
apiKey: RESEND_API_KEY
});Environment Variables
Add to your .env file:
RESEND_API_KEY=re_your_api_key_hereSending Emails
import { emailAdapter } from '$lib/server/email';
// Send a single email
const result = await emailAdapter.send({
from: 'Acme <[email protected]>',
to: '[email protected]',
subject: 'Hello World',
html: '<p>Hello from Aphex CMS!</p>'
});
if (result.error) {
console.error('Failed to send email:', result.error);
} else {
console.log('Email sent successfully:', result.id);
}Batch Sending
const results = await emailAdapter.sendBatch([
{
from: 'Acme <[email protected]>',
to: '[email protected]',
subject: 'Welcome',
html: '<p>Welcome user 1!</p>'
},
{
from: 'Acme <[email protected]>',
to: '[email protected]',
subject: 'Welcome',
html: '<p>Welcome user 2!</p>'
}
]);Advanced Options
await emailAdapter.send({
from: 'Acme <[email protected]>',
to: ['[email protected]', '[email protected]'],
cc: '[email protected]',
bcc: '[email protected]',
replyTo: '[email protected]',
subject: 'Newsletter',
html: '<h1>Monthly Update</h1>',
text: 'Monthly Update',
tags: [
{ name: 'category', value: 'newsletter' },
{ name: 'month', value: 'january' }
],
attachments: [
{
filename: 'invoice.pdf',
content: pdfBuffer
}
]
});API Reference
createResendAdapter(config)
Creates a new Resend email adapter instance.
Config:
apiKey(required): Your Resend API key
Returns: EmailAdapter
EmailAdapter.send(options)
Sends a single email.
Options:
from(required): Sender email addressto(required): Recipient email(s)subject(required): Email subjecthtml: HTML contenttext: Plain text contentcc: CC recipientsbcc: BCC recipientsreplyTo: Reply-to addresstags: Array of tags for trackingattachments: Array of file attachments
Returns: Promise<SendEmailResult>
EmailAdapter.sendBatch(emails)
Sends multiple emails in a batch.
Parameters:
emails: Array ofSendEmailOptions
Returns: Promise<SendEmailResult[]>
