oracle util_mail,ORACLE UTL_MAIL 发送Email 无附件 有附件
【那些ORCALE DB可以做到的事】
如果你的DB是 ORACLE 10g 以上 那么就可以使用 package UTL_MAIL 提供的功能, 發郵件只需要一步就可以做到。 但是前期需要做一些DB的setting,比如grant permission,設置ACL之類的,這里就沒有仔細研究setting了,下面來介紹一下我們怎么用
UTL_MAIL提供三種方法發送Email
SEND 普通發送,無附件
SEND_ATTACH_VARCHAR2 字符附件 (我理解就是可以有txt文本的附件)
txt附件.png
SEND_ATTACH_RAW 字節附件 (還沒有試過)
-- 在PROCEDURE中的實現郵件的發送
-- v_message 郵件內容
-- v_subject 郵件標題
-- v_att_message 附件內容
PROCEDURE EMAIL_SP(v_message varchar2,v_subject varchar2,v_att_message varchar2) IS
v_all_message varchar2(20000);
BEGIN
v_all_message :=
'
Dear XXX,
' || v_message ||
'
Thanks and Regards
';--有文本附件的
SYS.UTL_MAIL.SEND_ATTACH_VARCHAR2(
sender => 'test@'||SYS_CONTEXT('USERENV', 'SERVER_HOST')||'.test.com',
recipients => 'test@test.com',
subject => v_subject,
MESSAGE => v_all_message,
mime_type => 'text/html; charset=us-ascii',
attachment => v_att_message);
--沒有附件的
SYS.UTL_MAIL.SEND(sender => 'test@'||SYS_CONTEXT('USERENV', 'SERVER_HOST')||'.test.com',
recipients => 'test@test.com',
subject => v_subject,
MESSAGE => v_all_message,
mime_type => 'text/html; charset=us-ascii');
END EMAIL_SP;
為了拿到環境的server host來區別是在測試環境還是生產環境發送出來的郵件提醒
SYS_CONTEXT('USERENV', 'SERVER_HOST')
總結
以上是生活随笔為你收集整理的oracle util_mail,ORACLE UTL_MAIL 发送Email 无附件 有附件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 添加虚拟主机 php,给 phpstud
- 下一篇: oracle安装实训心得,oracle数