Send Email

  • apify/send-mail
  • Modified
  • Users 1.7k
  • Runs 697k
  • Created by Author's avatarApify

The actor automatically sends an email to a specific address. This actor is useful for notifications and reporting. With only 3 lines of javascript code, you'll be on top of your scraping actors and never miss important results or issues.

Apify Send Mail

Apify actor to send mail.

This actor is meant to be used as a reporting tool and must not be used to send promotional or spammy emails. Using it as such will lead to the user being banned on the Apify platform.

Input

Example:

{ // Email address of the recipient(s) (e.g. "Apify <info@apify.com>") // Required to: String, // Email CC same format as to // Required cc: String // Email BCC same format as to bcc: String // Email subject // Required subject: String, // Text body of Email // Required text: String, // Email attachments attachments: [Object] }

Attributes:

  • to - Email address of the recipient(s), you can comma-separate multiple addresses (e.g. "Apify info@apify.com" or "info@apify.com, hello@apify.com")
  • cc - Email CC same format as to
  • bcc - Email BCC same format as to
  • subject - Email subject
  • text - Text body of Email
  • html - HTML body of Email
  • replyTo - Email address which will be set when recipient will try to reply to mail. (Uses header Reply-To see doc)
  • attachments - array of attachments in base64 string, example:
[{ // attachment file name filename: String, // attachment content in base64 string data: String }]

Limitations

To prevent abuse, the actor limits the number of email recipients:

  • Users on the free plan can only send emails to their own email address associated with their Apify account.
  • Paying users can send emails to up to 20 different recipients.

Usage

From other Apify actor

await Apify.call('apify/send-mail', { to: 'test@apify.com', subject: 'Test from act', text: "Email text", attachments: [{ filename: 'test.txt', data: 'dGVzdCBzZmFzZGFzZGFzZGFzZA' }] });

From Apify actor/task webhook

Calling this actor via a webhook is very handy because you can ensure it is sent only after specific event happens. Here is an example setup to send email after failed run.

  1. Open Webhooks tab of the actor/task that you want to monitor.
  2. Set Event types to Run failed and Run timed out.
  3. URL is the RUN API endpoint of this actor, just fill your API token - https://api.apify.com/v2/acts/apify~send-mail/runs?token=APIFY_API_TOKEN
  4. Payload template represents the body that is sent to this actor:

Example of payload that sends run ID in the email text:

{ "to": "test@apify.com", "subject": "Task Scrape-website run failed", "text": {{eventData.actorRunId}} }