integrations/email/smtp/dist¶
Interfaces¶
SmtpCredentialStatusInput¶
Properties¶
accountCredentialsConfigured?¶
authMode?¶
senderConfigured?¶
serverConfigured?¶
SmtpEmailClient¶
Properties¶
rawTransport¶
Methods¶
checkTransport()¶
Returns¶
Promise\<SmtpTransportReadiness>
close()¶
Returns¶
void
sendEmail()¶
Parameters¶
| Parameter | Type |
|---|---|
input |
SmtpEmailMessageInput |
Returns¶
Promise\<SmtpEmailSendResult>
sendReply()¶
Parameters¶
| Parameter | Type |
|---|---|
input |
SmtpEmailMessageInput |
Returns¶
Promise\<SmtpEmailSendResult>
SmtpEmailClientOptions¶
Properties¶
defaults?¶
rawTransport?¶
transport¶
SmtpEmailDefaults¶
Properties¶
from?¶
replyTo?¶
SmtpEmailMessageInput¶
Properties¶
attachments?¶
bcc?¶
cc?¶
from?¶
headers?¶
html?¶
replyTo?¶
subject¶
text?¶
to¶
SmtpEmailSendResult¶
Properties¶
accepted¶
messageId?¶
pending¶
provider¶
rejected¶
response?¶
SmtpRawSendInfo¶
Properties¶
accepted?¶
messageId?¶
pending?¶
rejected?¶
response?¶
SmtpRawTransport¶
Methods¶
close()?¶
Returns¶
void
sendMail()¶
Parameters¶
| Parameter | Type |
|---|---|
input |
SmtpEmailMessageInput & { from: string; } |
Returns¶
Promise\<SmtpRawSendInfo>
verify()?¶
Returns¶
Promise\<boolean>
SmtpTransportAuth¶
Properties¶
pass¶
user¶
SmtpTransportOptions¶
Properties¶
auth?¶
connectionTimeout?¶
greetingTimeout?¶
host¶
localAddress?¶
name?¶
port¶
requireTLS?¶
secure¶
socketTimeout?¶
SmtpTransportReadiness¶
Properties¶
host¶
port¶
ready¶
secure¶
verified¶
Functions¶
createSmtpEmailClient()¶
Parameters¶
| Parameter | Type |
|---|---|
options |
SmtpEmailClientOptions |
Returns¶
createSmtpEmailIntegration()¶
function createSmtpEmailIntegration(options): {
bindingReport: OperationBindingReport;
client: SmtpEmailClient;
manifest: {
capabilities: {
audiences?: ("customer-facing" | "internal-support" | "mixed")[];
capability: string;
changesWorkflow?: boolean;
description?: string;
exposesSensitiveData?: boolean;
extension?: boolean;
label?: string;
metadata?: Record<string, unknown>;
providerObjects?: {
description?: string;
kind: string;
label?: string;
metadata?: Record<string, unknown>;
schemaName?: string;
}[];
requiresCredential?: boolean;
sideEffect?: boolean;
}[];
category: string;
channelAudiences: ("customer-facing" | "internal-support" | "mixed")[];
coverage: {
evidence: {
label: string;
url?: string;
}[];
notes: string[];
scope: | "support-workflow-subset"
| "provider-api-subset"
| "connector-required"
| "local-protocol"
| "full-provider-api";
};
credentialRequirements: {
description?: string;
id: string;
label?: string;
metadata?: Record<string, unknown>;
required: boolean;
scopes: string[];
}[];
directions: (
| "receive-only"
| "send-only"
| "inbound-only"
| "outbound-only"
| "bidirectional")[];
id: string;
limitations: string[];
maintainers: {
name: string;
type: "community" | "official" | "unknown" | "partner";
url?: string;
}[];
metadata?: Record<string, unknown>;
name: string;
operations: {
alias: string;
audience?: "customer-facing" | "internal-support" | "mixed";
audiences?: ("customer-facing" | "internal-support" | "mixed")[];
capability: string;
changesWorkflow?: boolean;
description?: string;
exposesSensitiveData?: boolean;
extension: boolean;
externallyVisible?: boolean;
inputSchema?: unknown;
inputSchemaName?: string;
inputSchemaRef?: string;
label?: string;
metadata?: Record<string, unknown>;
outputSchema?: unknown;
outputSchemaName?: string;
outputSchemaRef?: string;
providerObject?: string;
providerObjects?: {
description?: string;
kind: string;
label?: string;
metadata?: Record<string, unknown>;
schemaName?: string;
}[];
providerOperation?: string;
requiredPolicyIds?: string[];
requiresApproval?: boolean;
requiresCredential?: boolean;
sideEffect?: boolean;
}[];
packageName: string;
privacyNotes: string[];
provider: string;
trustLevel: "community" | "official" | "verified" | "experimental";
} & {
capabilities: readonly [{
audiences: readonly ["customer-facing", "mixed"];
capability: "send";
description: "Sends outbound support email through a configured SMTP transport.";
exposesSensitiveData: true;
label: "Send SMTP email";
providerObjects: readonly [{
kind: "emailMessage";
label: "Email Message";
}];
requiresCredential: true;
sideEffect: true;
}, {
audiences: readonly ["internal-support", "mixed"];
capability: "read-provider-object";
description: "Checks whether the configured SMTP transport can authenticate and accept mail.";
label: "Check SMTP transport";
providerObjects: readonly [{
kind: "smtpTransport";
label: "SMTP Transport";
}];
requiresCredential: true;
}];
category: "email";
channelAudiences: readonly ["customer-facing", "mixed"];
coverage: {
evidence: readonly [{
label: "RFC 5321 SMTP";
url: "https://datatracker.ietf.org/doc/html/rfc5321";
}, {
label: "Nodemailer";
url: "https://nodemailer.com/";
}];
notes: readonly ["Coverage is a focused Cognidesk SMTP outbound adapter backed by Nodemailer.", "This package sends SDK-user supplied message payloads and can verify the configured SMTP transport when the server supports it."];
scope: "local-protocol";
};
credentialRequirements: readonly [{
description: "SMTP host, port, TLS mode, and optional transport security settings.";
id: "smtp-server";
label: "SMTP server settings";
required: true;
}, {
description: "Server-side SMTP username and password or externally supplied authenticated transport.";
id: "smtp-account-credentials";
label: "SMTP account credentials";
required: true;
}, {
description: "Default from address used when a send call does not provide one.";
id: "smtp-sender-address";
label: "Sender address";
required: false;
}];
directions: readonly ["send-only"];
id: "email.smtp";
limitations: readonly ["SMTP is outbound-only; mailbox synchronization, inbound parsing, reply polling, retention, and deletion are intentionally outside this package.", "SDK users own outbound approval, consent, sender identity policy, retry policy, rate limits, attachment policy, bounce handling, and retention."];
maintainers: readonly [{
name: "Cognidesk";
type: "official";
}];
metadata: {
channelCoverage: {
deliveryWebhooks: "not-covered";
fullMailboxSync: "not-covered";
inboundMailbox: "not-covered";
sendEmail: "provider-supported-via-protocol-library";
sendReply: "provider-supported-via-protocol-library";
transportReadiness: "provider-supported-via-protocol-library";
};
implementation: {
integrationKitStatus: "implemented";
libraryPackage: "nodemailer";
libraryVersionRange: "^9.0.1";
manifestImport: "no-sdk-client-initialization";
protocolSource: "RFC 5321";
strategy: "local-protocol";
verifiedAt: "2026-06-24";
verifiedPackageVersion: "9.0.1";
};
rawClientEscapeHatch: "Nodemailer transport exposed from createSmtpEmailClient().rawTransport";
};
name: "SMTP Email";
operations: readonly [{
alias: "email.send";
capability: "send";
exposesSensitiveData: true;
externallyVisible: true;
providerObject: "emailMessage";
requiresApproval: true;
sideEffect: true;
}, {
alias: "email.reply.send";
capability: "send";
exposesSensitiveData: true;
externallyVisible: true;
providerObject: "emailMessage";
requiresApproval: true;
sideEffect: true;
}, {
alias: "smtp.transport.check";
capability: "read-provider-object";
extension: true;
providerObject: "smtpTransport";
}];
packageName: "@cognidesk/integration-email-smtp";
privacyNotes: readonly ["SMTP message bodies, recipients, sender addresses, reply-to addresses, headers, attachments, and delivery responses can contain customer data.", "SMTP credentials stay server-side and are represented in Studio only as credential/readiness state."];
provider: "smtp";
trustLevel: "official";
};
metadata?: Record<string, unknown>;
operationAliases: ("email.reply.send" | "email.send" | "smtp.transport.check")[];
operations: {
email.reply.send: (input) => Promise<SmtpEmailSendResult>;
email.send: (input) => Promise<SmtpEmailSendResult>;
smtp.transport.check: () => Promise<SmtpTransportReadiness>;
};
rawTransport: SmtpRawTransport;
getOperationHandler: {
email.reply.send: (input) => Promise<SmtpEmailSendResult>;
email.send: (input) => Promise<SmtpEmailSendResult>;
smtp.transport.check: () => Promise<SmtpTransportReadiness>;
}[Alias];
requireOperationHandler: {
email.reply.send: (input) => Promise<SmtpEmailSendResult>;
email.send: (input) => Promise<SmtpEmailSendResult>;
smtp.transport.check: () => Promise<SmtpTransportReadiness>;
}[Alias];
run: Promise<Awaited<ReturnType<{
email.reply.send: (input) => Promise<SmtpEmailSendResult>;
email.send: (input) => Promise<SmtpEmailSendResult>;
smtp.transport.check: () => Promise<SmtpTransportReadiness>;
}[Alias]>>>;
};
Parameters¶
| Parameter | Type |
|---|---|
options |
SmtpEmailClientOptions |
Returns¶
{
bindingReport: OperationBindingReport;
client: SmtpEmailClient;
manifest: {
capabilities: {
audiences?: ("customer-facing" | "internal-support" | "mixed")[];
capability: string;
changesWorkflow?: boolean;
description?: string;
exposesSensitiveData?: boolean;
extension?: boolean;
label?: string;
metadata?: Record<string, unknown>;
providerObjects?: {
description?: string;
kind: string;
label?: string;
metadata?: Record<string, unknown>;
schemaName?: string;
}[];
requiresCredential?: boolean;
sideEffect?: boolean;
}[];
category: string;
channelAudiences: ("customer-facing" | "internal-support" | "mixed")[];
coverage: {
evidence: {
label: string;
url?: string;
}[];
notes: string[];
scope: | "support-workflow-subset"
| "provider-api-subset"
| "connector-required"
| "local-protocol"
| "full-provider-api";
};
credentialRequirements: {
description?: string;
id: string;
label?: string;
metadata?: Record<string, unknown>;
required: boolean;
scopes: string[];
}[];
directions: (
| "receive-only"
| "send-only"
| "inbound-only"
| "outbound-only"
| "bidirectional")[];
id: string;
limitations: string[];
maintainers: {
name: string;
type: "community" | "official" | "unknown" | "partner";
url?: string;
}[];
metadata?: Record<string, unknown>;
name: string;
operations: {
alias: string;
audience?: "customer-facing" | "internal-support" | "mixed";
audiences?: ("customer-facing" | "internal-support" | "mixed")[];
capability: string;
changesWorkflow?: boolean;
description?: string;
exposesSensitiveData?: boolean;
extension: boolean;
externallyVisible?: boolean;
inputSchema?: unknown;
inputSchemaName?: string;
inputSchemaRef?: string;
label?: string;
metadata?: Record<string, unknown>;
outputSchema?: unknown;
outputSchemaName?: string;
outputSchemaRef?: string;
providerObject?: string;
providerObjects?: {
description?: string;
kind: string;
label?: string;
metadata?: Record<string, unknown>;
schemaName?: string;
}[];
providerOperation?: string;
requiredPolicyIds?: string[];
requiresApproval?: boolean;
requiresCredential?: boolean;
sideEffect?: boolean;
}[];
packageName: string;
privacyNotes: string[];
provider: string;
trustLevel: "community" | "official" | "verified" | "experimental";
} & {
capabilities: readonly [{
audiences: readonly ["customer-facing", "mixed"];
capability: "send";
description: "Sends outbound support email through a configured SMTP transport.";
exposesSensitiveData: true;
label: "Send SMTP email";
providerObjects: readonly [{
kind: "emailMessage";
label: "Email Message";
}];
requiresCredential: true;
sideEffect: true;
}, {
audiences: readonly ["internal-support", "mixed"];
capability: "read-provider-object";
description: "Checks whether the configured SMTP transport can authenticate and accept mail.";
label: "Check SMTP transport";
providerObjects: readonly [{
kind: "smtpTransport";
label: "SMTP Transport";
}];
requiresCredential: true;
}];
category: "email";
channelAudiences: readonly ["customer-facing", "mixed"];
coverage: {
evidence: readonly [{
label: "RFC 5321 SMTP";
url: "https://datatracker.ietf.org/doc/html/rfc5321";
}, {
label: "Nodemailer";
url: "https://nodemailer.com/";
}];
notes: readonly ["Coverage is a focused Cognidesk SMTP outbound adapter backed by Nodemailer.", "This package sends SDK-user supplied message payloads and can verify the configured SMTP transport when the server supports it."];
scope: "local-protocol";
};
credentialRequirements: readonly [{
description: "SMTP host, port, TLS mode, and optional transport security settings.";
id: "smtp-server";
label: "SMTP server settings";
required: true;
}, {
description: "Server-side SMTP username and password or externally supplied authenticated transport.";
id: "smtp-account-credentials";
label: "SMTP account credentials";
required: true;
}, {
description: "Default from address used when a send call does not provide one.";
id: "smtp-sender-address";
label: "Sender address";
required: false;
}];
directions: readonly ["send-only"];
id: "email.smtp";
limitations: readonly ["SMTP is outbound-only; mailbox synchronization, inbound parsing, reply polling, retention, and deletion are intentionally outside this package.", "SDK users own outbound approval, consent, sender identity policy, retry policy, rate limits, attachment policy, bounce handling, and retention."];
maintainers: readonly [{
name: "Cognidesk";
type: "official";
}];
metadata: {
channelCoverage: {
deliveryWebhooks: "not-covered";
fullMailboxSync: "not-covered";
inboundMailbox: "not-covered";
sendEmail: "provider-supported-via-protocol-library";
sendReply: "provider-supported-via-protocol-library";
transportReadiness: "provider-supported-via-protocol-library";
};
implementation: {
integrationKitStatus: "implemented";
libraryPackage: "nodemailer";
libraryVersionRange: "^9.0.1";
manifestImport: "no-sdk-client-initialization";
protocolSource: "RFC 5321";
strategy: "local-protocol";
verifiedAt: "2026-06-24";
verifiedPackageVersion: "9.0.1";
};
rawClientEscapeHatch: "Nodemailer transport exposed from createSmtpEmailClient().rawTransport";
};
name: "SMTP Email";
operations: readonly [{
alias: "email.send";
capability: "send";
exposesSensitiveData: true;
externallyVisible: true;
providerObject: "emailMessage";
requiresApproval: true;
sideEffect: true;
}, {
alias: "email.reply.send";
capability: "send";
exposesSensitiveData: true;
externallyVisible: true;
providerObject: "emailMessage";
requiresApproval: true;
sideEffect: true;
}, {
alias: "smtp.transport.check";
capability: "read-provider-object";
extension: true;
providerObject: "smtpTransport";
}];
packageName: "@cognidesk/integration-email-smtp";
privacyNotes: readonly ["SMTP message bodies, recipients, sender addresses, reply-to addresses, headers, attachments, and delivery responses can contain customer data.", "SMTP credentials stay server-side and are represented in Studio only as credential/readiness state."];
provider: "smtp";
trustLevel: "official";
};
metadata?: Record<string, unknown>;
operationAliases: ("email.reply.send" | "email.send" | "smtp.transport.check")[];
operations: {
email.reply.send: (input) => Promise<SmtpEmailSendResult>;
email.send: (input) => Promise<SmtpEmailSendResult>;
smtp.transport.check: () => Promise<SmtpTransportReadiness>;
};
rawTransport: SmtpRawTransport;
getOperationHandler: {
email.reply.send: (input) => Promise<SmtpEmailSendResult>;
email.send: (input) => Promise<SmtpEmailSendResult>;
smtp.transport.check: () => Promise<SmtpTransportReadiness>;
}[Alias];
requireOperationHandler: {
email.reply.send: (input) => Promise<SmtpEmailSendResult>;
email.send: (input) => Promise<SmtpEmailSendResult>;
smtp.transport.check: () => Promise<SmtpTransportReadiness>;
}[Alias];
run: Promise<Awaited<ReturnType<{
email.reply.send: (input) => Promise<SmtpEmailSendResult>;
email.send: (input) => Promise<SmtpEmailSendResult>;
smtp.transport.check: () => Promise<SmtpTransportReadiness>;
}[Alias]>>>;
}
| Name | Type |
|---|---|
bindingReport |
OperationBindingReport |
client |
SmtpEmailClient |
manifest |
{ capabilities: { audiences?: ("customer-facing" | "internal-support" | "mixed")[]; capability: string; changesWorkflow?: boolean; description?: string; exposesSensitiveData?: boolean; extension?: boolean; label?: string; metadata?: Record\<string, unknown>; providerObjects?: { description?: string; kind: string; label?: string; metadata?: Record\<string, unknown>; schemaName?: string; }[]; requiresCredential?: boolean; sideEffect?: boolean; }[]; category: string; channelAudiences: ("customer-facing" | "internal-support" | "mixed")[]; coverage: { evidence: { label: string; url?: string; }[]; notes: string[]; scope: | "support-workflow-subset" | "provider-api-subset" | "connector-required" | "local-protocol" | "full-provider-api"; }; credentialRequirements: { description?: string; id: string; label?: string; metadata?: Record\<string, unknown>; required: boolean; scopes: string[]; }[]; directions: ( | "receive-only" | "send-only" | "inbound-only" | "outbound-only" | "bidirectional")[]; id: string; limitations: string[]; maintainers: { name: string; type: "community" | "official" | "unknown" | "partner"; url?: string; }[]; metadata?: Record\<string, unknown>; name: string; operations: { alias: string; audience?: "customer-facing" | "internal-support" | "mixed"; audiences?: ("customer-facing" | "internal-support" | "mixed")[]; capability: string; changesWorkflow?: boolean; description?: string; exposesSensitiveData?: boolean; extension: boolean; externallyVisible?: boolean; inputSchema?: unknown; inputSchemaName?: string; inputSchemaRef?: string; label?: string; metadata?: Record\<string, unknown>; outputSchema?: unknown; outputSchemaName?: string; outputSchemaRef?: string; providerObject?: string; providerObjects?: { description?: string; kind: string; label?: string; metadata?: Record\<string, unknown>; schemaName?: string; }[]; providerOperation?: string; requiredPolicyIds?: string[]; requiresApproval?: boolean; requiresCredential?: boolean; sideEffect?: boolean; }[]; packageName: string; privacyNotes: string[]; provider: string; trustLevel: "community" | "official" | "verified" | "experimental"; } & { capabilities: readonly [{ audiences: readonly ["customer-facing", "mixed"]; capability: "send"; description: "Sends outbound support email through a configured SMTP transport."; exposesSensitiveData: true; label: "Send SMTP email"; providerObjects: readonly [{ kind: "emailMessage"; label: "Email Message"; }]; requiresCredential: true; sideEffect: true; }, { audiences: readonly ["internal-support", "mixed"]; capability: "read-provider-object"; description: "Checks whether the configured SMTP transport can authenticate and accept mail."; label: "Check SMTP transport"; providerObjects: readonly [{ kind: "smtpTransport"; label: "SMTP Transport"; }]; requiresCredential: true; }]; category: "email"; channelAudiences: readonly ["customer-facing", "mixed"]; coverage: { evidence: readonly [{ label: "RFC 5321 SMTP"; url: "https://datatracker.ietf.org/doc/html/rfc5321"; }, { label: "Nodemailer"; url: "https://nodemailer.com/"; }]; notes: readonly ["Coverage is a focused Cognidesk SMTP outbound adapter backed by Nodemailer.", "This package sends SDK-user supplied message payloads and can verify the configured SMTP transport when the server supports it."]; scope: "local-protocol"; }; credentialRequirements: readonly [{ description: "SMTP host, port, TLS mode, and optional transport security settings."; id: "smtp-server"; label: "SMTP server settings"; required: true; }, { description: "Server-side SMTP username and password or externally supplied authenticated transport."; id: "smtp-account-credentials"; label: "SMTP account credentials"; required: true; }, { description: "Default from address used when a send call does not provide one."; id: "smtp-sender-address"; label: "Sender address"; required: false; }]; directions: readonly ["send-only"]; id: "email.smtp"; limitations: readonly ["SMTP is outbound-only; mailbox synchronization, inbound parsing, reply polling, retention, and deletion are intentionally outside this package.", "SDK users own outbound approval, consent, sender identity policy, retry policy, rate limits, attachment policy, bounce handling, and retention."]; maintainers: readonly [{ name: "Cognidesk"; type: "official"; }]; metadata: { channelCoverage: { deliveryWebhooks: "not-covered"; fullMailboxSync: "not-covered"; inboundMailbox: "not-covered"; sendEmail: "provider-supported-via-protocol-library"; sendReply: "provider-supported-via-protocol-library"; transportReadiness: "provider-supported-via-protocol-library"; }; implementation: { integrationKitStatus: "implemented"; libraryPackage: "nodemailer"; libraryVersionRange: "^9.0.1"; manifestImport: "no-sdk-client-initialization"; protocolSource: "RFC 5321"; strategy: "local-protocol"; verifiedAt: "2026-06-24"; verifiedPackageVersion: "9.0.1"; }; rawClientEscapeHatch: "Nodemailer transport exposed from createSmtpEmailClient().rawTransport"; }; name: "SMTP Email"; operations: readonly [{ alias: "email.send"; capability: "send"; exposesSensitiveData: true; externallyVisible: true; providerObject: "emailMessage"; requiresApproval: true; sideEffect: true; }, { alias: "email.reply.send"; capability: "send"; exposesSensitiveData: true; externallyVisible: true; providerObject: "emailMessage"; requiresApproval: true; sideEffect: true; }, { alias: "smtp.transport.check"; capability: "read-provider-object"; extension: true; providerObject: "smtpTransport"; }]; packageName: "@cognidesk/integration-email-smtp"; privacyNotes: readonly ["SMTP message bodies, recipients, sender addresses, reply-to addresses, headers, attachments, and delivery responses can contain customer data.", "SMTP credentials stay server-side and are represented in Studio only as credential/readiness state."]; provider: "smtp"; trustLevel: "official"; } |
metadata? |
Record\<string, unknown> |
operationAliases |
("email.reply.send" | "email.send" | "smtp.transport.check")[] |
operations |
{ email.reply.send: (input) => Promise\<SmtpEmailSendResult>; email.send: (input) => Promise\<SmtpEmailSendResult>; smtp.transport.check: () => Promise\<SmtpTransportReadiness>; } |
operations.email.reply.send() |
(input) => Promise\<SmtpEmailSendResult> |
operations.email.send() |
(input) => Promise\<SmtpEmailSendResult> |
operations.smtp.transport.check() |
() => Promise\<SmtpTransportReadiness> |
rawTransport |
SmtpRawTransport |
getOperationHandler() |
(alias) => { email.reply.send: (input) => Promise\<SmtpEmailSendResult>; email.send: (input) => Promise\<SmtpEmailSendResult>; smtp.transport.check: () => Promise\<SmtpTransportReadiness>; }[Alias] |
requireOperationHandler() |
(alias) => { email.reply.send: (input) => Promise\<SmtpEmailSendResult>; email.send: (input) => Promise\<SmtpEmailSendResult>; smtp.transport.check: () => Promise\<SmtpTransportReadiness>; }[Alias] |
run() |
( alias, input, context?) => Promise\<Awaited\<ReturnType\<{ email.reply.send: (input) => Promise\<SmtpEmailSendResult>; email.send: (input) => Promise\<SmtpEmailSendResult>; smtp.transport.check: () => Promise\<SmtpTransportReadiness>; }[Alias]>>> |
htmlEmailFromText()¶
Parameters¶
| Parameter | Type |
|---|---|
text |
string |
Returns¶
string
smtpEmailCredentialStatuses()¶
function smtpEmailCredentialStatuses(input): {
expiresAt?: string;
message?: string;
providerPackageId?: string;
requirementId: string;
scopes?: string[];
state: | "required"
| "configured"
| "permission-blocked"
| "not-required"
| "missing"
| "expired"
| "insufficient-scope"
| "unavailable";
}[];
Parameters¶
| Parameter | Type |
|---|---|
input |
SmtpCredentialStatusInput |
Returns¶
{
expiresAt?: string;
message?: string;
providerPackageId?: string;
requirementId: string;
scopes?: string[];
state: | "required"
| "configured"
| "permission-blocked"
| "not-required"
| "missing"
| "expired"
| "insufficient-scope"
| "unavailable";
}[]
References¶
smtpEmailProviderManifest¶
Re-exports smtpEmailProviderManifest