Package Exports
- @sheetbase/mail
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@sheetbase/mail) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
@sheetbase/mail
Send email using Gmail in Sheetbase backend app.
Installation
Install:
npm install --save @sheetbase/mailUsage:
// 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 */);
}
}Options
| Name | Type | Description |
|---|---|---|
| categories? | Record |
|
| forwarding? | undefined | string |
|
| templates? | Record |
Lib
The Lib class.
Lib properties
Lib methods
| Function | Returns type | Description |
|---|---|---|
| registerRoutes(routeEnabling?, middlewares?) | RouterService<> |
Expose the module routes |
registerRoutes(routeEnabling?, middlewares?)
registerRoutes(routeEnabling?, middlewares?)Expose the module routes
Parameters
| Param | Type | Description |
|---|---|---|
| routeEnabling | true | DisabledRoutes |
|
| middlewares | Middlewares | RouteMiddlewares |
Returns
RouterService<>
Routing
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?);Errors
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.
Routes
Routes overview
| Route | Method | Disabled | Description |
|---|---|---|---|
GET |
Get mail information | ||
PATCH |
true |
Reply to a thread/message | |
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) |
Routes detail
GET /mail
GET /mailGet mail information
Response
object
PATCH /mail
PATCH /mailDISABLED 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
PUT /mail
PUT /mailDISABLED Send an email
Request body
| Name | Type | Description |
|---|---|---|
| recipient | string |
|
| subject | string |
|
| input | MailingInput |
|
| categoryName? | string |
Response
object
GET /mail/thread
GET /mail/threadDISABLED Get a single message/thread
Request query
| Name | Type | Description |
|---|---|---|
| threadId? | string |
|
| messageId? | string |
Middleware data
| Name | Type | Description |
|---|---|---|
| auth | AuthData |
Response
null | Thread
GET /mail/threads
GET /mail/threadsDISABLED 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.