【发布时间】:2018-10-26 18:57:28
【问题描述】:
如何根据在顶点文本字段中输入的内容发送电子邮件。例如,如果我在 :p6_supervisor 中输入 me@test.com,我希望将电子邮件发送给那个人。
目前我有一个预设的 UTL_MAIL.send 正在工作。
begin
UTL_MAIL.send(sender => 'test@test.com',
recipients => 'test1@test.com',
subject => 'Test,
message => 'Please Note this is a test' );
end;
但当然它还有另一个目的,即从触发器向一个收件人发送电子邮件。
以下是光标示例
create or replace function "email"
( name_in IN varchar2 )
RETURN number
IS
supervisoremail varchar2(30);
CURSOR c1
IS
select
supervisoremail
from
EMPLOYEE,supervisors
where TO_DATE(contract_start_period,'DD-MM-YYYY') < TO_DATE (SYSDATE,'DD-MM-YYYY') - 275
and (supervisors.supervisorname = employee.supervisorname1
or supervisors.supervisorname = employee.supervisorname2)
and employee_name ='test'
;
BEGIN
OPEN c1;
FETCH c1 INTO supervisoremail;
CLOSE c1;
RETURN supervisoremail;
END;
【问题讨论】:
-
您有什么理由使用 UTL_MAIL 而不是 APEX_MAIL,它有一些更好的功能(包括异步电子邮件和自动速率限制)?
-
嗨@JeffreyKemp 没有特别的理由使用 utl_mail ,如果 apex_mail 更有效,我对你的知识持开放态度,因为我对 apex_mail 一无所知
-
我已经总结了不同的选项,对于 APEX,我建议将 apex_mail 用于简单的电子邮件,因为它提供交易安全和速率限制:jeffkemponoracle.com/2016/04/email-made-easier
标签: oracle oracle11g oracle-apex oracle-apex-5.1