Sending Emails from Business Logic
Send templated email from PL/SQL business logic with APEX_MAIL.SEND.
The equivalent code to send the same email from an Execute Code action looks like this. No p_from parameter is required because it defaults to using the value of APP_EMAIL. Notice the p_placeholders parameter expects a JSON document with the placeholder names and values. The PLIST_TO_JSON_CLOB function in the APEX_STRING package is handy to produce it. Just pass the name/value pairs as an APEX_T_VARCHAR2 string list. The values in the odd positions are the JSON property names and the ones in even positions are the corresponding values.
apex_mail.send(
p_to => :EMPLOYEE_EMAIL,
p_template_static_id => 'EMPLOYEE_SALARY_LOTTERY_WINNER',
p_placeholders => apex_string.plist_to_json_clob(apex_t_varchar2(
'EMPLOYEE_NAME' , :ENAME,
'NEW_SALARY' , :NEW_SALARY,
'NEW_COMMISSION', :NEW_COMMISSION)));