@lapage/mailhub
v0.1.2
Published
Tiny fetch-based MailHub client for Node.js and browsers.
Downloads
337
Maintainers
Readme
@lapage/mailhub
Tiny MailHub client for Node.js and browsers using native fetch.
Install
npm install @lapage/mailhubUsage
Server-side auth with apiKey:
import { createMailHubCli } from '@lapage/mailhub';
const mailhub = createMailHubCli({
auth: {
apiKey: process.env.MAILHUB_API_KEY!,
},
});
await mailhub.send({
subject: 'New contact request',
data: {
name: 'Jane Doe',
email: '[email protected]',
message: 'Hi there',
},
});Browser auth with host and webToken:
import { createMailHubCli } from '@lapage/mailhub';
const mailhub = createMailHubCli({
auth: {
host: 'https://my-site.com',
webToken: 'mailhub_web_token',
},
});
await mailhub.send({
subject: 'Contact form',
data: {
name: 'Jane Doe',
email: '[email protected]',
message: 'Hi there',
},
});API
createMailHubCli(options)
Options:
auth: Either{ apiKey }or{ host, webToken }.fetch: Optional custom fetch implementation.headers: Optional extra headers.origin: Optional origin header override for non-browser use with browser auth.
Methods:
send({ subject, data })sendContactRequest({ subject, data })
Both methods call POST /mailhub/send with:
The client always sends requests to https://mailhub.lapage.vn/mailhub/send.
{
"auth": {},
"subject": "string",
"body": {
"data": {}
}
}Successful responses return:
{
host: string;
authMode: 'browser' | 'server';
jobId: string;
status: 'queued';
}Errors throw MailHubCliError.
