@sheetbase/mail
v3.0.1
Published
Send email using Gmail in Sheetbase backend app.
Downloads
3
Maintainers
Readme
@sheetbase/mail
Send email using Gmail in Sheetbase backend app.
Install:
npm install --save @sheetbase/mail
Usage:
// 1. import module
import { MailModule } from "@sheetbase/mail";
// 2. create an instance
export class App {
// the object
mailModule: MailModule;
// initiate the instance
constructor() {
this.mailModule = new MailModule(/* options */);
}
}
| Name | Type | Description | | ---------------------------------------------------------------------------------- | ----------------------------------------------- | ----------- | | categories? | Record<string, string | Category> | | | forwarding? | undefined | string | | | templates? | Record<string, Template> | |
The Lib
class.
| Name | Type | Description | | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- | ----------- | | attachmentService | AttachmentService | | | helperService | HelperService | | | labelService | LabelService | | | mailRoute | MailRoute | | | mailService | MailService | | | mailThreadRoute | MailThreadRoute | | | mailThreadsRoute | MailThreadsRoute | | | messageService | MessageService | | | optionService | OptionService | | | threadService | ThreadService | |
| Function | Returns type | Description | | --------------------------------------------------------------------- | ---------------------------- | ------------------------ | | registerRoutes(routeEnabling?, middlewares?) | RouterService<> | Expose the module routes |
Expose the module routes
Parameters
| Param | Type | Description | | ------------- | -------------------------------------------- | ----------- | | routeEnabling | true | DisabledRoutes | | | middlewares | Middlewares | RouteMiddlewares | |
Returns
RouterService<>
MailModule provides REST API endpoints allowing clients to access server resources. Theses enpoints are not exposed by default, to expose the endpoints:
MailModule.registerRoutes(routeEnabling?);
MailModule returns these routing errors, you may use the error code to customize the message:
mail/invalid-input
: Invalid input.mail/missing-recipient
: Missing required recipient for the actionmail/no-access
: Current auth user has no access permission for the resource.
| Route | Method | Disabled | Description |
| ----------------------------------- | ------- | -------- | -------------------------------------------------------------------------------- |
| /mail | GET
| | Get mail information |
| /mail | PATCH
| true
| Reply to a thread/message |
| /mail | PUT
| true
| Send an email |
| /mail/thread | GET
| true
| Get a single message/thread |
| /mail/threads | GET
| true
| Get threads (list by category/single - parent + children/single - children only) |
Get mail information
Response
object
DISABLED
Reply to a thread/message
Request body
| Name | Type | Description | | ---------- | ------------------------- | ----------- | | threadId? | string | | | messageId? | string | | | input | MailingInput | | | replyAll? | boolean | |
Middleware data
| Name | Type | Description | | -------- | ------------ | ----------- | | auth | AuthData | |
Response
GmailMessage | GmailThread
DISABLED
Send an email
Request body
| Name | Type | Description | | ------------- | ------------------------- | ----------- | | recipient | string | | | subject | string | | | input | MailingInput | | | categoryName? | string | |
Response
object
DISABLED
Get a single message/thread
Request query
| Name | Type | Description | | ---------- | ---------- | ----------- | | threadId? | string | | | messageId? | string | |
Middleware data
| Name | Type | Description | | -------- | ------------ | ----------- | | auth | AuthData | |
Response
null | Thread
DISABLED
Get threads (list by category/single - parent + children/single - children only)
Request query
| Name | Type | Description | | ------------- | ----------- | ----------- | | threadId? | string | | | categoryName? | string | | | childrenOnly? | boolean | | | full? | boolean | | | grouping? | boolean | |
Middleware data
| Name | Type | Description | | -------- | ------------ | ----------- | | auth | AuthData | |
Response
Thread[] | GroupingThread | GroupingThread[]
License
@sheetbase/mail is released under the MIT license.