send

Send a new mail.

Usage

Below is a minimal example of how to use send method (with no optional parameters). It's highly recommended to also use encryption.

const txResponse = await mail.send({
  envelope,
});

Returns

Promise<EthereumTransactionResponse>

A promise that resolves to the response from the sendTransaction method on the walletClient provided by the developer on Mail initialization.

Parameters

options

  • Type MailSendOptions

Configuration for sending mail.

options.envelope

  • Type Envelope

The mail envelope to send.

options.encryption (Optional)

  • Type Encryption

The encryption method to apply to the mail.

options.onStateChange (Optional)

  • Type (state: MailSendState) => void

A callback function to track state changes during the sending process.

MailSendState is an enum of the possible states of the sending process.

  • When sending non-encrypted mail

    • STORING_ATTACHMENTS

    • STORING_ENVELOPE

    • SENDING_TRANSACTION

  • When sending encrypted mail

    • ENCRYPTING_STORING_ATTACHMENTS

    • ENCRYPTING_STORING_ENVELOPE

    • SENDING_TRANSACTION

options.onUploadProgress (Optional)

  • Type (progressInfo: FileProgressInfo) => void

A callback function to track the progress of file uploads when sending the mail.

Last updated