16.8 Managing Email Templates
Enable users to send emails from your application by creating email templates.
Note:
Before you can send email from an application, your Instance administrator must sign in to Oracle APEX Administration Services, navigate to the Instance Settings page and configure Email attributes.- Defining an Email Template
Define email templates for your application. Email templates include both an HTML Format and a Plain Text Format. - Viewing Sample Email Templates
View the sample email templates: Load Order Details, Load Event Reminder, or Load Scheduled Outage. - About Including Dynamic Text
Provide dynamic text in your email templates using existing substitution modifiers. - Editing or Deleting Email Templates
Edit or delete existing email templates. - Copying an Email Template
Copy existing email templates.
See Also:
- Sending Email from an Application
- Configuring Email in Oracle APEX Administration Guide
- APEX_MAIL in Oracle APEX API Reference
Parent topic: Managing Shared Components
16.8.1 Defining an Email Template
Define email templates for your application. Email templates include both an HTML Format and a Plain Text Format.
To define an email template:
Next, create a button and process to call the APEX_MAIL
API.
See Also:
- Managing Pages in a Database Application
- Managing Buttons
- Understanding Page Processes
- APEX_MAIL in Oracle APEX API Reference
Parent topic: Managing Email Templates
16.8.2 Viewing Sample Email Templates
View the sample email templates: Load Order Details, Load Event Reminder, or Load Scheduled Outage.
To view sample email template:
Parent topic: Managing Email Templates
16.8.3 About Including Dynamic Text
Provide dynamic text in your email templates using existing substitution modifiers.
For security reasons, the values substituted for the placeholders (#NAME#
) in the email templates are automatically escaped based on the context. In other words, HTML formatted templates include HTML escaping and Plain Text templates do not. If this is not the desired behavior for your environment, you can provide dynamic text which contains HTML tags using the existing substitution modifiers:
-
#NAME!RAW#
- Text is substituted as is. -
#NAME!STRIPHTML#
- All HTML tags are removed.
Extending the Email Templates
For example, you can extend the HTML Format - Body template with:
<tr>
<th align="left">Additional Information</th>
<td>#ADDITIONAL_INFO!RAW#</td>
</tr>
Similarly, you can extend the Plain Text Format template with:
Additional Info: #ADDITIONAL_INFO!STRIPHTML#
Sample PL/SQL
The PL/SQL code would look similar to this:
begin
apex_mail.send (
p_to => 'steven.king@example.com',
p_template_static_id => 'ORDER_CONFIRMATION',
p_placeholders => q'~
{
"CUSTOMER_NAME": "Steven King",
"ORDER_NUMBER": 1234,
"ORDER_DATE": "02-Feb-2018",
"SHIP_TO": "Steven King",
"SHIPPING_ADDRESS_LINE_1": "2004 Charade Rd",
"SHIPPING_ADDRESS_LINE_2": "Seattle, Washinton",
"ITEMS_ORDERED": 3,
"ORDER_TOTAL": "$ 1,200.99",
"ORDER_URL": "http://domain/apex/f?p=&APP_ID"
"ADDITIONAL_INFO": "We plan to deliver your ordered items <strong>tomorrow morning between 08:00 and 09:00</strong>
}~' );
apex_mail.push_queue;
end;
Parent topic: Managing Email Templates
16.8.4 Editing or Deleting Email Templates
Edit or delete existing email templates.
To edit or delete an email template:
Parent topic: Managing Email Templates
16.8.5 Copying an Email Template
Copy existing email templates.
To copy an email template:
Parent topic: Managing Email Templates