Orange Collar Media
Orange Collar Media
DOCS
OCMLABS/MODULE-PRODUCT-MESSAGING · EMAIL TRIGGERS & ATTACHMENTS

Email triggers, send delays, copy recipients, and PDF attachments

  • Magento
  • Adobe Commerce
  • Hyvä

Turn on Send Email on a rule to reveal the Email fieldset.

FieldDescription
Trigger EventWhen the email is queued: Order Placed, Invoice Created, or Shipment Created.
Email TemplateThe Magento email template to send. See Email Templates & Variables.
Send Delay (minutes)0 sends on the next cron run. 4320 sends three days after the trigger. Maximum 525600 (one year).
Copy ToOptional comma-separated extra recipient addresses.
Copy MethodBCC on the customer email (default) or Separate email, one distinct message per address.

Triggers

TriggerFires onTypical use
Order PlacedOrder submission, including multi-address (multishipping) checkoutsWarranty terms, “battery ships separately” notices
Invoice CreatedAn invoice is saved for the orderTerms or registration details that should follow payment
Shipment CreatedA shipment is saved containing a matched SKUManuals and setup guides that should arrive with the product

Shipment-triggered rules look only at the items in that shipment. If an order ships in two boxes and the drill is in the second, the drill’s manual email is queued when the second shipment is created. The email’s matched items show the quantity actually shipped, not the quantity ordered.

One email per rule per order

The queue has a unique key on rule and order. The first matching trigger queues the email; every later attempt for the same rule and order is a silent no-op. That covers double saves, a second invoice, and partial shipments: a shipment-triggered rule emails once, for the first shipment that contains a matched SKU. If you need a separate email for each of several products, use separate rules.

Send delays

A delay does not need its own cron job. The queue row is written with a scheduled time of now plus the delay, and the per-minute send job picks it up when it comes due. Use a delay where timing is the point, such as a “did you register your warranty yet?” reminder a few days after shipment, and leave first-touch emails at 0.

If the order is cancelled or refunded while a delayed email is waiting, the email is not sent.

Copy recipients

Copy To addresses receive every email the rule sends. With BCC, they are blind-copied on the customer’s message. With Separate email, each address gets its own message. Either way, a failure delivering to a copy address never causes the customer to receive the same email again on retry.

PDF attachments

While Send Email is on, the Attachments fieldset lets you upload one or more PDFs that go out on every email the rule sends: manuals, warranty certificates, safety data sheets. Save the rule before uploading.

  • PDF only, verified on content. Both the file extension and the file’s real content, sniffed with PHP’s fileinfo extension, must indicate application/pdf. A renamed non-PDF is rejected at upload.
  • Combined size cap per rule. Max Attachment Total Size (default 10 MB) applies to the sum of the rule’s existing attachments plus the new file, not to each file.
  • Missing files do not block the email. If a file has gone missing by send time, the email goes out without it and a warning is logged.
  • Deleting an attachment on the rule form asks for confirmation and removes both the file and its record.

Files are stored under pub/media/ocmlabs_productmessaging/, the shared media directory, so they survive multi-node deployments. They are served like any other media file; there is no access control on them beyond your pub/media configuration, so do not attach anything you would not publish.

Guests

Guest orders are emailed by default, at the order’s email address and addressed to the billing name. Set Send Emails to Guests to No in System Settings to exclude them. Success-page blocks still show for guests either way.

Transactional, not marketing

These emails are tied to a purchase the customer already made, so the module does not add an unsubscribe link or keep a suppression list. Keep rule templates transactional: warranty terms, manuals, order-specific information. If you repurpose a rule for discount codes or unrelated cross-sells, it becomes marketing email and the compliance obligations that come with it are yours. For promotional email, use Magento’s Newsletter module or a marketing platform.