Email attachments
Output, generated from an Email template, can have the following attachments:
- The contents of the Print , in the form of a single PDF attachment.
- Other files, an image or a PDF leaflet for example.
Attaching the Print context is one of the options in the Send (Test) Email dialog.
By default, when adding the Print context to an email, all Print are output to a single PDF file, which is then attached to the email. The PDF can be protected with a password (see Email PDF password).
To split the Print context into multiple attachments, or to attach multiple Web sections as separate attachments, you need to create a Control Script that specifies parts; see Control Script API and Control Scripts.
This topic explains how to attach files other than those generated by the Print or Web context. This is also described in a how-to; see Add custom email attachments.
Attaching external files
To attach files other than those generated by the Print or Web context to Email output:
- Add the files to the template; see Adding images, or put them in a folder that is available to the machine that outputs the emails.
- Create a script: on the Scripts pane at the bottom left, click New. A new script appears in the list. Double-click on it to open it. If you are not familiar with scripts, see Write your own scripts for an explanation of how scripts work.
-
Change the name of the script, so that it reflects what the script does.
- Choose the option and in the Selector field, type head.
- Write a script that appends a <link> element to the
results (the is head , so the results contain the <head> of the email).
- Make sure to set the rel attribute to related.
-
The href attribute determines where the file comes from. For resources inside of the template, use
'images/file.extension' , or 'fonts/myfont.otf' , etc. For external resources, you need the full path to the file, such as 'file:///c:/resources/attachments/instructions.pdf' . Of course, you can also use dynamic calls such as 'file:///c:/clientfiles/' + record.fields.client_id + '/invoices/' + record.fields.invoice_number + '.pdf' .
Examples
The following script attaches a PDF file named letter-CU00048376.pdf to each generated email. The PDF file is located in the Images folder on the Resources panel. results.append("<link rel='related' href='images/letter-CU00048376.pdf'>");
If that same file would be located on the C: drive, the script should refer to it as follows: href='file:///C:/letter-CU00048376.pdf' .
The link doesn't have to be static; you could use data from the record set to build the link, for example: var customerID = record.fields.ID; results.append('<link rel="related" href="images/letter-' + customerID + '.pdf">');
|
|