Oracle 11g 使用 UTL_MAIL 包实现存储过程发送邮件

本文介绍了如何在Oracle 11g中使用UTL_MAIL包发送邮件,包括安装步骤、SYS用户和非SYS用户的使用方法,以及如何封装成存储过程。通过设置SMTP_OUT_SERVER参数和配置Access Control List (ACL),实现非SYS用户发送邮件的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在 oracle 开发或维护时,我们经常需要用到发送邮件来实现预警功能。在 oracle 10g 之前,我们采用 utl_smtp 来包装为一个邮件的方式来发送邮件,这种方式需要写比较长的代码;在 oracle 10g 之后,我们可以直接调用 utl_mail 包来发送邮件,非常简单。


1、简介并安装 UTL_MAIL 包

The UTL_MAIL package is a utility for managing email which includes commonly used email features, 
such as attachments, CC, BCC, and return receipt.

UTL_MAIL is not installed by default because of the SMTP_OUT_SERVER configuration requirement 
and the security exposure this involves.

In installing UTL_MAIL, you should take steps to prevent the port defined by SMTP_OUT_SERVER 
being swamped by data transmissions.

UTL_MAIL 包是一个用来发送邮件的工具,包括常用的电子邮件功能,比如附件,抄送,密送以及回执。由于 SMTP_OUT_SERVER 配置的要求以及安全隐患问题,默认情况下 UTL_MAIL 包是没有安装到Oracle 中的。所以如果需要使用就要额外进行安装。


安装的方法是在 sys 用户下,调用$ORACLE_HOME/rdbms/admin目录下的两个脚本文件。

SQL> connect / as sysdba;
Connected.
 
SQL> @$ORACLE_HOME/rdbms/admin/utlmail.sql
 
Package created.
Synonym created.
 
SQL> @$ORACLE_HOME/rdbms/admin/prvtmail.plb
 
Package created.
Package body created.
Grant succeeded.
Package body created.
 
No er
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值