Creating a Scheduled Send

August 11, 2020 ยท View on GitHub

Use the sendAt property to specify when to send the emails (in UNIX timestamp seconds, not milliseconds):

const msg = {
  to: 'recipient@example.org',
  from: 'sender@example.org',
  subject: 'Hello delayed email',
  html: '<p>Some email content</p>',
  sendAt: 1500077141,
};

await sgMail.send(msg);

Limitations

  1. Emails can only be scheduled, at most, 72 hours in advance.
  2. If successful, without a batchId set, the call to sgMail.send() returns a 202 status code with an empty response body. Currently, cancelling a scheduled email without a batchId set requires a change of password or contacting our support team.

To Cancel or Pause Your Scheduled Send:

  1. Create a Batch ID.
  2. Assign Batch ID to a msg object:
const msg = {
  to: 'recipient@example.org',
  from: 'sender@example.org',
  subject: 'Hello delayed email',
  html: '<p>Some email content</p>',
  sendAt: 1500077141,
  batchId: 'YOUR_BATCH_ID'
};

await sgMail.send(msg);
  1. Update your Batch ID with a cancel or pause status.