mailguru-client
v0.1.0
Published
Reusable Node.js client for Email Guru external send API
Maintainers
Readme
mailguru-client
Reusable Node.js client for Email Guru external send endpoint.
Install
npm install mailguru-clientEnvironment
EMAIL_GURU_URL=http://localhost:3000/api/external/send
EMAIL_GURU_CLIENT_TOKEN=your_client_object_id
[email protected]
EMAIL_GURU_DEFAULT_FROM_NAME=Your AppQuick usage
import { sendEmail } from "mailguru-client";
const delivery = await sendEmail({
to: "[email protected]",
subject: "Order confirmed",
text: "Your order is confirmed.",
html: "<p>Your order is confirmed.</p>",
});
console.log(delivery);Client usage
import { createEmailGuruClient } from "mailguru-client";
const emailGuru = createEmailGuruClient({
baseUrl: process.env.EMAIL_GURU_URL,
clientToken: process.env.EMAIL_GURU_CLIENT_TOKEN,
defaultFrom: "[email protected]",
defaultFromName: "Your App",
});
const delivery = await emailGuru.sendEmail({
to: "[email protected]",
subject: "Welcome",
text: "Welcome to our app.",
});Force provider
await sendEmail({
to: "[email protected]",
subject: "Provider test",
text: "Testing a selected provider.",
providerSlug: "brevo::Brevo Bookguru",
});Smoke test in this package
EMAIL_GURU_CLIENT_TOKEN=your_token [email protected] npm run test:smokeExports
sendEmail(input, options?)createEmailGuruClient(options)EmailGuruError
sendEmail input
to(required)from(optional, defaults to env)fromName(optional, defaults to env)subject(required)text(optional ifhtmlexists)html(optional iftextexists)type(optional, defaulttransactional)providerSlug(optional)clientToken(optional, overrides env/client config)
options
baseUrlclientTokendefaultFromdefaultFromNamefetchImpl
Publish later
npm login
npm publish --access public