@sheetbase/gmail v1.1.0
Sheetbase Module: @sheetbase/gmail
Send email using Gmail in Sheetbase backend app.
Install
Using npm: npm install --save @sheetbase/gmail
import * as Gmail from "@sheetbase/gmail";As a library: 1cKQyLf_OZwivLAiNBw-naLV_uq-lmf8AcOEnE9t5E9IQhA1Fo8JTV_sm
Set the Indentifier to GmailModule and select the lastest version, view code.
declare const GmailModule: { Gmail: any };
const Gmail = GmailModule.Gmail;Usage
Docs homepage: https://sheetbase.github.io/gmail
API reference: https://sheetbase.github.io/gmail/api
Getting started
Install: npm install --save @sheetbase/gmail
Usage:
import { gmail } from "@sheetbase/gmail";
const Gmail = gmail(
/* options */ {
prefix: "MyApp"
}
);
const { threadId } = Gmail.send({
recipient: "xxx@xxx.xxx"
});Configs
forwarding
- Type:
string - Default: current account email.
Manage email from different account.
prefix
- Type:
string - Default:
Sheetbase.
For better management, all email subject will be prefix with a string and labeled prefix:category.
categories
- Type:
object - Default: an uncategoriezed category:
{ uncategorized: { title: 'Uncategorized', silent: true } }.
List of support categories, all email will be sorted to one of these categories.
{
categories: {
message: 'Messages',
misc: {
title: 'Misc',
silent: true
}
}
}templates
- Type:
object - Default:
{}.
List of supported templates.
{
templates: {
hello: (data: any) => `Hello ${data.name}!`,
}
}Gmail
Interface for sending email.
quota: view remaining daily quota.send: send email.
quota
View remaining daily quota.
const { remainingDailyQuota } = Gmail.quota();send
Send email.
// To: xxx@xxx.xxx
// Subject: Send me email
// Content: Hello world!
// Label: <prefix>:Uncategorized
const { threadId } = Gmail.send({
recipient: "xxx@xxx.xxx",
subject: "Send me email",
options: {
htmlBody: `<p>Hello world!</p>`
}
});
// To: ...
// Subject: ...
// Content: ...
// Label: <prefix>:Messages
Gmail.send(
{
/* ... */
},
"message"
);
// To: ...
// Subject: ...
// Content: Hello John!
// Label: ...
Gmail.send(
{
recipient: "xxx@xxx.xxx",
subject: "Send me email"
},
"message",
{
hello: { name: "John" }
}
);
// force silent = false
Gmail.send(
{
/* ... */
},
null,
null,
false
);Routes
To add routes to your app, see options AddonRoutesOptions:
Gmail.registerRoutes(options?: AddonRoutesOptions);Default disabled
Disabled routes by default, to enable set { disabledRoutes: [] } in registerRoutes():
[
"post:/mail" // send email
];Endpoints
GET /mail
Get quota.
POST /mail
Send email. Route body:
mailingData: mail datacategory: category nametemplate: template configsilent: override category silent
Send an email:
{
mailingData: {
recipient: 'xxx@xxx.xxx',
subject: 'Send me email',
options: {
htmlBody: `<p>Hello world!</p>`,
}
}
}With category:
{
mailingData: { /* */ },
category: 'message'
}With template:
{
mailingData: { /* */ },
template: {
hello: { name: 'John' }
}
}Override category silent:
{
mailingData: { /* */ },
silent: false,
}License
@sheetbase/gmail is released under the MIT license.