16.12 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 or Subscribing to an Email Template
Copy an email template from the current application or from another application. When copying an email template from another application, you can also subscribe to it. - Subscribing to Email Templates
Subscribe to email templates on the Email Templates, Details page. - Accessing Email Template Reports
View the email template Utilization and History reports by clicking the appropriate tab on the Email Templates page.
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.12.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 an Application
- Managing Buttons
- Understanding Page Processes
- APEX_MAIL in Oracle APEX API Reference
Parent topic: Managing Email Templates
16.12.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.12.3 About Including Dynamic Text
Provide dynamic text in your email templates using existing substitution modifiers.
Note:
Template directives are supported by specific attributes of email templates. See Using Template Directives.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.12.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.12.5 Copying or Subscribing to an Email Template
Copy an email template from the current application or from another application. When copying an email template from another application, you can also subscribe to it.
Tip:
Subscriptions enable developers to reuse shared components across several applications in a workspace. To learn more about subscriptions, see Using Shared Component Subscriptions.To copy an email template:
- Navigate to the Shared Components, Email Templates page:
- To copy an email template within the current application:
- To copy an email template from another application:
Parent topic: Managing Email Templates
16.12.6 Subscribing to Email Templates
Subscribe to email templates on the Email Templates, Details page.
Subscriptions enable developers to reuse shared components across several applications in a workspace. To learn more about shared component subscriptions, see Using Shared Component Subscriptions.
Tip:
You can also subscribe to an email template by copying it and enabling the Subscribe option. See Copying or Subscribing to an Email Template.To subscribe to email templates in the current application:
Parent topic: Managing Email Templates
16.12.7 Accessing Email Template Reports
View the email template Utilization and History reports by clicking the appropriate tab on the Email Templates page.
To view email template reports:
Parent topic: Managing Email Templates