首批通过分布式安全可靠测评,为关键业务系统打造
WRITE_DATA
更新时间:2026-07-15 20:56:58
WRITE_DATA 用于发送文本邮件内容,可以多次调用将数据追加到电子邮件中。
功能适用性
该内容仅适用于 OceanBase 数据库 Oracle 模式。
语法
UTL_SMTP.WRITE_DATA (
c IN OUT NOCOPY connection,
data IN VARCHAR2 CHARACTER SET ANY_CS);
参数解释
| 参数 | 解释 |
|---|---|
| c | SMTP 连接。 |
| data | 要发送的消息文本的一部分。包含 headers,采用 [RFC822] 格式。 |
使用说明
OPEN_DATA,WRITE_DATA,WRITE_RAW_DATA和CLOSE_DATA需要严格按照顺序调用。open_data发送data命令声明开始发送邮件内容,之后可以多个调用write_data和write_raw_data发送邮件正文,最后通过close_data发送终止符结束发送。- 应用程序必须确保文本内容符合
MIME(RFC822)规范。使用<CR><LF>.<CR><LF>作为终止消息,文本内容中的<CR><LF>.<CR><LF>将会被转译为<CR><LF>..<CR><LF>。 - 文本(varchar2)数据在发送前将会被转化为
US7ASCII字符集。如果文本中包含多字节字符,则文本中无法US7ASCII的每个多字节字符会被转换为?字符。 - 如果
ehlo与smtp服务器协商了8BITMIME扩展,可以通过utl_raw高级包将文本转换为raw数据,再通过write_raw_data发送。