@sheetbase/gmail-server
v0.0.8
Published
Send email using Gmail in Sheetbase backend app.
Downloads
1
Maintainers
Readme
Sheetbase Module: @sheetbase/gmail-server
Send email using Gmail in Sheetbase backend app.
Install
Using npm: npm install --save @sheetbase/gmail-server
import * as Gmail from "@sheetbase/gmail-server";
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-server
API reference: https://sheetbase.github.io/gmail-server/api
Getting started
Install: npm install --save @sheetbase/gmail-server
Usage:
import { gmail } from "@sheetbase/gmail-server";
const Gmail = gmail(
/* options */ {
prefix: "MyApp"
}
);
const { threadId } = Gmail.send({
recipient: "[email protected]"
});
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: [email protected]
// Subject: Send me email
// Content: Hello world!
// Label: <prefix>:Uncategorized
const { threadId } = Gmail.send({
recipient: "[email protected]",
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: "[email protected]",
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: '[email protected]',
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,
}
Examples
import * as Gmail from "./public_api";
function load_() {
return Gmail.gmail();
}
License
@sheetbase/gmail-server is released under the MIT license.