# Email notifications

> Transactional email over SMTP from four templates - confirmation, payment link, notification and rule notification - with every send attempt written to a log.

Source: https://adops.id/integrations/email-notifications/
Last updated: 2026-08-20
Publisher: AdOps (https://adops.id) — an independent product, not affiliated with Meta Platforms, Inc.

---

## Key facts

- **Templates:** 4 - email confirmation, payment link, notification and rule notification
- **Transport:** SMTP, with host, port, username and password read from the deployment environment
- **Default sender:** "AdOps" <admin@adops.id>
- **Recorded per attempt:** Event type, recipients, subject, template, context, status, error message, mailer response and sent-at time
- **Confirmation resend cooldown:** 60 seconds between resends
- **Live path today:** The confirmation email; the other three templates are registered but no code path emits their events

**AdOps reads:** The SMTP server's own response to each send, stored verbatim on the log record; The transport outcome, success or error, plus the error message when a message is rejected; No mailbox: AdOps holds no IMAP or POP connection and never reads an inbox or a reply

**AdOps writes:** Messages rendered from four EJS templates: email confirmation, payment link, notification and rule notification; The confirmation message, carrying a 64-character token link that confirms the address and starts the 14-day trial; A default From header of "AdOps" <admin@adops.id> on every message; Nothing else: the transport is driven by those four events only, with no bulk or marketing send path

AdOps sends transactional email over SMTP. Four EJS templates are defined, each bound to its own event on an internal event bus: email confirmation, payment link, notification and rule notification. Every send attempt, successful or not, is written to a log record carrying the recipients, the subject, the template, the status and the mail server's own response.

## Which email does AdOps send today?

The confirmation email. Signing up puts an address into the double opt-in flow: AdOps sends a message carrying a 64-character token link, and following that link confirms the address and starts the 14-day trial. The confirmation screen offers a resend button on a 60-second cooldown, counting the remaining seconds down.

The other three templates - payment link, notification and rule notification - are defined and their handlers are registered on the same event bus, but no code path currently emits those events. They are wiring, not a shipped alert channel.

## Does AdOps alert me when a rule fires?

Not by email today. A rule can carry a notification entry with a channel type of email plus a recipient address and name, and that field is stored with the rule, but it is not currently what triggers an outgoing message.

What does exist is the written record. Every rule run writes a per-campaign, per-task result with an Executed, Not Executed or Skipped badge, the value each condition resolved against the value it was tested for, the parameters the action used, and the before and after values for budget and name changes. The Activity Log lists only the actions that genuinely executed, filterable by event name, ad account, rule name, entity ID, entity name and action, so the question "what did the automation do to this campaign last Tuesday" is a search rather than a support ticket.

## What is recorded for each send?

One log document per attempt, holding the event type, the recipient list, the subject, the template name, the context the template was rendered with, a status of success or error, the error message when there is one, the mail server's own response string and the time the attempt was made. That is enough to answer whether a message left the platform, who it was addressed to and what the transport said about it, without guessing from a customer's screenshot.

## How is the transport configured?

Through the deployment environment: SMTP host, port, username and password, with a default From header of `"AdOps" <admin@adops.id>`. Templates are rendered server-side with EJS before hand-off, so the message body is assembled by AdOps rather than by the mail provider.

## What this integration is not

It is not a marketing or lifecycle email system: there are no sequences, no lists, no segments and no bulk send path, and the transport is driven by four events only. It is not a two-way channel either, since AdOps holds no IMAP or POP connection and never reads an inbox or a reply. And it is not the audit trail. If you need to know what an automation did, the rule log detail and the Activity Log are the record, and they do not depend on a message arriving.
