Overview
This node enables sending emails via SMTP with advanced options such as multiple recipients, CC/BCC, attachments, custom headers, and email format selection (plain text, HTML, or both). It also supports saving sent emails locally in JSON and/or EML formats for record-keeping.
Common scenarios include:
- Automated notification emails from workflows.
- Sending reports or alerts with attachments.
- Marketing or transactional emails requiring rich formatting.
- Archiving sent emails for compliance or auditing.
Example use cases:
- Sending a welcome email to new users with both HTML and plain text versions.
- Dispatching invoices as PDF attachments to clients.
- Sending alert emails with high priority and custom headers for integration with other systems.
Properties
| Name | Meaning |
|---|---|
| From Email | Sender's email address (required). |
| From Name | Sender's name (optional). |
| To Email | Recipient email address(es), comma-separated (required). |
| CC Email | Email address(es) for carbon copy (optional). |
| BCC Email | Email address(es) for blind carbon copy (optional). |
| Subject | Subject line of the email (required). |
| Email Format | Format of the email content: Plain Text, HTML, or Both. |
| Text | Plain text version of the email (required if format is Plain Text or Both). |
| HTML | HTML version of the email (required if format is HTML or Both). |
| Attachments | One or more attachments to include, each defined by: - Property Name: binary property containing data - File Name: name of the attachment file - Content-ID: for inline images in HTML (optional) |
| Options | Additional email options including: - Custom Headers: add arbitrary headers - Priority: Low, Normal, High - Reply To: reply email address - Return Path: bounce handling address (optional) - Save Sent Email: whether to save the sent email locally - Save Format: JSON, EML, or Both (if saving) - Save Path: directory path to save emails - Timeout (Seconds): max time to wait for sending |
Output
The node outputs a JSON object per input item with the following structure:
messageId: The unique ID of the sent message.accepted: List of accepted recipient addresses.rejected: List of rejected recipient addresses.response: Server response string after sending.envelope: Envelope details used for sending.success: Boolean indicating if sending succeeded.timestamp: ISO timestamp of when the email was sent.
If sending fails and "Continue On Fail" is enabled, output includes:
error: Error message describing the failure.success: falsetimestamp: ISO timestamp of failure.
No binary data is output by this node.
Dependencies
- Requires an SMTP server credential configured in n8n with host, port, security, username, and password.
- Uses the
nodemailerlibrary internally to send emails. - Node.js filesystem access to optionally save sent emails locally.
- No external API dependencies beyond SMTP.
Troubleshooting
- Missing required fields: Errors occur if From Email, To Email, or Subject are empty. Ensure these are provided.
- Content missing for selected format: If "Plain Text" or "HTML" format is selected, corresponding content must be filled; otherwise, an error is thrown.
- Attachment errors: Attachment property names must match existing binary properties in input data; otherwise, an error occurs.
- Timeouts: Sending may fail if SMTP server does not respond within the configured timeout (default 30 seconds).
- Saving errors: If the save path is invalid or not writable, saving the sent email will fail with an error.
- SMTP connection issues: Connection test method can verify credentials; failures indicate incorrect SMTP settings or network issues.
To resolve common errors:
- Double-check all required inputs.
- Verify SMTP credentials and connectivity.
- Confirm binary data exists for attachments.
- Adjust timeout if needed.
- Ensure save directory permissions.