[EmailReport:]UPDATED
Emails the entire completed report once complete.
Macro Compatibility
The macro can be used in the highlighted input document types only. A greyed-out icon indicates not supported.
Usage
The [EmailReport:] macro can be used to email a completed report as an attachment (in docx, pdf, xlsx or pptx formats). The macro can be placed anywhere in a document, and will be removed in completed reports. Any email address used may include an optional display name, in which case the email address (person@domain) must be specified inside angle brackets, e.g. Bob Smith <bob.smith@mycompany.com>. Note that the validity and structure of email addresses are not validated. It is up to the macro user to ensure well-formed addresses are used. Whitespace is ignored. For Production (i.e. not free) reports, if none of the attach_xxx parameters are set, a Docx file WILL be selected. Note: when using the attach_xxx parameters, it is very important to ensure the Schedule has the correct output format selected. The email will be sent regardless, but may be missing attachments if the Schedule's output formats do not match the options chosen here.
What's New
(2025-04-12)Added the 'compressFiles' parameter to allow the output files to be sent as .zip files.
Parameter | Type | Presence | Purpose | Options | Default |
---|---|---|---|---|---|
String | Mandatory | The e-mail subject. | N/A | N/A | |
List<String> | Mandatory | A semicolon-separated list of e-mail addresses. | N/A | N/A | |
Boolean | Optional | Whether to attach the report as DOCX format. |
|
false | |
Boolean | Optional | Whether to attach the report as HTML format. |
|
false | |
Boolean | Optional | Whether to attach the report as PDF format. |
|
false | |
Boolean | Optional | Whether to attach the report as PPTX format. |
|
false | |
Boolean | Optional | Whether to attach the report as XLSX format. |
|
false | |
List<String> | Optional | A semicolon-separated list of e-mail addresses. | N/A | N/A | |
String | Optional | The email body text. This will never appear in the actual report, just in the email. Format this as HTML. For the [EmailReport:] macro, this is the entire body. For the [Email:] macro, this is used to prefix the content between the [Email:] and [EndEmail:] macros. | N/A | N/A | |
List<String> | Optional | A semicolon-separated list of e-mail addresses. | N/A | N/A | |
String | Optional | Add a comment to make your document template more readable. The comment is discarded in the output document. | N/A | N/A | |
Boolean | Optional | Whether to send each attachment as an individual .zip (compressed) file. Each .zip file will retain the original filename and add the .zip suffix, e.g. 'My Report.docx.zip'. |
|
false | |
String | Optional | The name of the Connection. | N/A | N/A | |
String | Optional | The optional display name (shown in your email application) of the sender. NOTE: you can ONLY change the display name when you have specified a Connection e.g. with the 'connectionName' parameter or in the Configuration JSON section of the Connection. Otherwise email sending uses ReportMagic's default SMTP client and the display name is set by the system. | N/A | N/A | |
Boolean | Optional | Should NCalc expression evaluation throw error on Overflow |
|
true | |
String | Optional | The text to display should the macro fail to execute. Note that a poorly-specified macro (e.g. omitting mandatory parameters) will still result in an error message. | N/A | N/A | |
String | Optional | The text to send in the email if the attachments are too large to send. | N/A | N/A | |
String | Optional | A single e-mail address. This may not be supported by your email server (i.e. setting the sender to an arbitrary email), and can be omitted to use the default. When the email server does NOT support this, you may receive a System Error when processing the report, so you should check first by testing the macro. NOTE: you can ONLY change the from address when you have specified a Connection e.g. with the 'connectionName' parameter or in the Configuration JSON section of the Connection. Otherwise email sending uses ReportMagic's default SMTP client and the from address is set by the system. In other words, if you set the from address, you must set a Connection, and the email address does NOT need to have been set up anywhere else (you can choose any email but your mail server may not support it). | N/A | N/A | |
Boolean | Optional | Whether the section of the Word document contained inside the macro should be removed in the final output document (does not affect e-mail content). |
|
false | |
String | Optional | The condition that must be true in order for the macro to be executed/evaluated. Must either evaluate to true or false, for example: "3+5=8" or "contains('abcd', 'z'). | N/A | true | |
MacroMode | Optional | The mode in which variables are stored. In the legacy mode (default for Schedules), the variable created is a string and formatted. In the normal mode (default for Report Studio), the output variable is stored as a strongly-typed object, e.g. an Int32 or a List |
|
Legacy | |
ObfuscationType | Optional | Obfuscation type. Use obfuscation to write reports where sensitive data is hidden. When used, ReportMagic guarantees that the same input string will map to the same output string for the whole of the report (but the next time the report runs, it will most likely map to a different value). If you use obfuscation, the property in your macro will not show up and instead, you will see a fake item of the obfuscation type chosen. |
|
None | |
String | Optional | The e-mail priority. |
|
normal | |
String | Optional | If specified, adds a warning message for this macro. This is processed as an NCalc, and the warning message will ALWAYS be present and will be the value of the evaluated NCalc expression. | N/A | N/A |
Examples (5)
Example 1:
A basic example to attach the output document as a .pdf file:
[EmailReport: subject=Completed Reports Attached, to=bob.smith@mycompany.com, priority=high, attachDocx=false, attachPdf=true]
Example 2:
This example attaches two output documents (in this case .docx and .pdf) but sends each one as a compressed .zip file:
[EmailReport: subject=New Bat-Mobile Designs Attached, to=bruce.wayne@gotham.com, priority=high, compressFiles=true, attachDocx=true, attachPdf=true]
Example 3:
Send an email based on the 'if' parameter:
[EmailReport: subject=Completed Reports Attached, to=bob.smith@mycompany.com, priority=high, attachDocx=false, attachPdf=true, if=`1 < 3`]
Example 4:
An example using HTML 'BR' tags (line break) and double quotes:
[EmailReport: subject=example 3, to=alfred.pennyworth@gotham.com, priority=high, attachDocx=false, attachPdf=true, body="Hi Alfred, <br/>Here are the details of this month's capers.<br/>Best Wishes,<br/>Bruce."]
Example 5:
An example using HTML 'BR' tags (line break) and back-ticks:
[EmailReport: subject=example 3, to=clark.kent@metropolis.com, priority=high, attachDocx=false, attachPdf=true, body=`Hi Clark, <br/>Here are the details of your next assignment.<br/>Best Wishes,<br/>Lois.`]