DKIMSignOptions

This represents the options used to perform DKIM Signature signing action. See: https://tools.ietf.org/html/rfc6376

Name

Type

Description

@auid

String

Sets the Agent or User Identifier(AUID)

@bodyCanonAlgo

CanonicalizationAlgorithm

Sets the canonicalization algorithm for mail body.

@bodyLimit

Number (int)

Sets the body limit to sign.

@copiedHeaders

Array of String

Sets the copied headers used in DKIM.

@expireTime

Number (long)

Sets the expire time in seconds when the signature sign will be expired.

Success call of this method indicates that the signature sign timestamp is enabled.

@headerCanonAlgo

CanonicalizationAlgorithm

Sets the canonicalization algorithm for signed headers.

@privateKey

String

Sets the PKCS#8 format private key used to sign the email.

@privateKeyPath

String

Sets the PKCS#8 format private key file path.

@sdid

String

Sets the Singing Domain Identifier(SDID).

@selector

String

Sets the selector used to query the public key.

@signAlgo

DKIMSignAlgorithm

Sets the signing algorithm.

@signatureTimestamp

Boolean

Sets to enable or disable signature sign timestmap. Default is disabled.

@signedHeaders

Array of String

Sets the email signedHeaders used to sign.

MailConfig

represents the configuration of a mail service with mail server hostname, port, security options, login options and login/password

Name

Type

Description

@allowRcptErrors

Boolean

set if sending allows rcpt errors

if true, the mail will be sent to the recipients that the server accepted, if any

@authMethods

String

set string of allowed auth methods. if set only these methods will be used if the server supports them. If null or empty all supported methods may be used

@connectTimeout

Number (int)

-

@crlPaths

Array of String

-

@crlValues

Array of Buffer

-

@disableEsmtp

Boolean

set if ESMTP should be tried as first command (EHLO)

rfc 1869 states that clients should always attempt EHLO as first command to determine if ESMTP is supported, if this returns an error code, HELO is tried to use old SMTP. If there is a server that does not support EHLO and does not give an error code back, the connection should be closed and retried with HELO. We do not do that and rather support turning off ESMTP with a setting. The odds of this actually happening are very small since the client will not connect to arbitrary smtp hosts on the internet. Since the client knows that is connects to a host that doesn't support ESMTP/EHLO in that way, the property has to be set to false.

@enableDKIM

Boolean

Sets true to enable DKIM Signatures, sets false to disable it.

This is used most for temporary disable DKIM without removing DKIM opations from current config.

@enabledCipherSuites

Array of String

-

@enabledSecureTransportProtocols

Array of String

-

@hostname

String

Set the hostname of the smtp server.

@hostnameVerificationAlgorithm

String

-

@idleTimeout

Number (int)

-

@idleTimeoutUnit

TimeUnit

-

@keepAlive

Boolean

set if connection pool is enabled default is true

if the connection pooling is disabled, the max number of sockets is enforced nevertheless

@keyStore

String

get the key store filename to be used when opening SMTP connections

if not set, an options object will be created based on other settings (ssl and trustAll)

@keyStorePassword

String

get the key store password to be used when opening SMTP connections

@localAddress

String

-

@logActivity

Boolean

-

@login

LoginOption

Set the login mode for the connection.

Either DISABLED, OPTIONAL or REQUIRED

@maxPoolSize

Number (int)

set the max allowed number of open connections to the mail server if not set the default is 10

@metricsName

String

-

@ownHostname

String

set the hostname to be used for HELO/EHLO and the Message-ID

@password

String

Set the password for the login.

@pipelining

Boolean

Sets to enable/disable the pipelining capability if SMTP server supports it.

@port

Number (int)

Set the port of the smtp server.

@receiveBufferSize

Number (int)

-

@reconnectAttempts

Number (int)

-

@reconnectInterval

Number (long)

-

@reuseAddress

Boolean

-

@reusePort

Boolean

-

@sendBufferSize

Number (int)

-

@soLinger

Number (int)

-

@ssl

Boolean

-

@sslHandshakeTimeout

Number (long)

-

@sslHandshakeTimeoutUnit

TimeUnit

-

@starttls

StartTLSOptions

Set the tls security mode for the connection.

Either NONE, OPTIONAL or REQUIRED

@tcpCork

Boolean

-

@tcpFastOpen

Boolean

-

@tcpKeepAlive

Boolean

-

@tcpNoDelay

Boolean

-

@tcpQuickAck

Boolean

-

@trafficClass

Number (int)

-

@trustAll

Boolean

-

@useAlpn

Boolean

-

@userAgent

String

Sets the Mail User Agent(MUA) name.

It is used to generate the boundary in case of MultiPart email and the Message-ID.

If null is set, DEFAULT_USER_AGENT is used.

@username

String

Set the username for the login.

MailMessage

represent a mail message that can be sent via the MailClient

Name

Type

Description

@bcc

Array of String

set list of bcc addresses

@bounceAddress

String

set bounce address of this mail

@cc

Array of String

set list of cc addresses

@fixedHeaders

Boolean

set whether our own headers should be the only headers added to the message

@from

String

set from address of this mail

@headers

String

Add a message header.

@html

String

set the html text of this mail

@subject

String

set the subject of this mail

@text

String

set the plain text of this mail

@to

Array of String

set list of to addresses

MailResult

Represent the result of the sendMail operation

Name

Type

Description

@messageID

String

@recipients

Array of String