首批通过分布式安全可靠测评,为关键业务系统打造
OPEN_CONNECTION
更新时间:2026-07-15 20:56:58
OPEN_CONNECTION 用于打开并返回一个与 SMTP 服务的连接。
功能适用性
该内容仅适用于 OceanBase 数据库 Oracle 模式。
语法
UTL_SMTP.OPEN_CONNECTION (
host IN VARCHAR2,
port IN PLS_INTEGER DEFAULT 25,
c OUT connection,
tx_timeout IN PLS_INTEGER DEFAULT NULL,
wallet_path IN VARCHAR2 DEFAULT NULL,
wallet_password IN VARCHAR2 DEFAULT NULL,
secure_connection_before_smtp IN BOOLEAN DEFAULT FALSE,
secure_host IN VARCHAR2 DEFAULT NULL)
RETURN reply;
UTL_SMTP.OPEN_CONNECTION (
host IN VARCHAR2,
port IN PLS_INTEGER DEFAULT 25,
tx_timeout IN PLS_INTEGER DEFAULT NULL,
wallet_path IN VARCHAR2 DEFAULT NULL,
wallet_password IN VARCHAR2 DEFAULT NULL,
secure_connection_before_smtp IN BOOLEAN DEFAULT FALSE,
secure_host IN VARCHAR2 DEFAULT NULL)
RETURN connection;
参数解释
| 参数 | 解释 |
|---|---|
| host | SMTP 服务的主机名。 |
| port | smtp 服务的端口号(通常是25)。 |
| c | smtp 连接。 |
| tx_timeout | UTL_SMTP 包在连接的读取和写入操作超时之前的等待时间(单位秒)。在读取操作中,如果没有数据可供立即读取,则此包将超时。在写入操作中,如果输出缓冲区已满,并且没有数据被发送到网络而不被阻塞,则此包将超时。0 代表不等待,NULL 代表一直等待。 |
| wallet_path | 目前暂不支持该字段,当前该字段默认为 NULL。 |
| wallet_password | 目前暂不支持该字段,当前该字段默认为 NULL。 |
| secure_connection_before_smtp | 如果为 TRUE,将在 SMTP 通信前再使用 SSL/TLS 建立安全连接。如果为 FALSE,则不建立安全连接。(暂只支持 FALSE)。 |
| secure_host | 目前暂不支持该字段,当前该字段默认为 NULL。 |
返回值
| 返回值 | 描述 |
|---|---|
| reply | command 的回复。如果有多个回复,则返回最后一个回复。 |
使用说明
- 期待的 reply code 是
220, 表示 SMTP 服务器用来表明它已经准备好处理来自客户端的请求。 - 返回
utl_smtp.connection的版本会检查 reply code,如果回复指示了错误,将抛出异常。返回utl_smtp.reply的版本则由用户检查 reply。 tx_timeout旨在管理读取操作和写入操作。但是,实施限制会阻止tx_timeout管理当前版本中的写入操作。