Skip to content
This repository has been archived by the owner on Apr 15, 2024. It is now read-only.
/ mail Public archive

Send email using Gmail in Sheetbase backend app.

License

Notifications You must be signed in to change notification settings

sheetbase/mail

Repository files navigation

@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 action
  • mail/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.

About

Send email using Gmail in Sheetbase backend app.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published