pg_utl_smtp
Oracle UTL_SMTP 兼容扩展(基于 plperlu)
仓库
hexacluster/pg_utl_smtp
https://github.com/hexacluster/pg_utl_smtp
源码
pg_utl_smtp-1.0.tar.gz
pg_utl_smtp-1.0.tar.gz
概览
| 扩展包名 | 版本 | 分类 | 许可证 | 语言 |
|---|---|---|---|---|
pg_utl_smtp | 1.0.0 | SIM | PostgreSQL | SQL |
| ID | 扩展名 | Bin | Lib | Load | Create | Trust | Reloc | 模式 |
|---|---|---|---|---|---|---|---|---|
| 9290 | pg_utl_smtp | 否 | 否 | 否 | 是 | 否 | 否 | utl_smtp |
| 相关扩展 | plperlu pg_smtp_client omni_email orafce pg_html5_email_address emailaddr pg_dbms_metadata pg_dbms_lock pg_dbms_job pg_dbms_errlog db2fce |
|---|
runtime requires plperlu and Perl Net::SMTP
版本
| 类型 | 仓库 | 版本 | PG 大版本 | 包名 | 依赖 |
|---|---|---|---|---|---|
| EXT | PGDG | 1.0.0 | 1817161514 | pg_utl_smtp | plperlu |
| RPM | PGDG | 1.0 | 1817161514 | pg_utl_smtp_$v | - |
| DEB | PIGSTY | 1.0.0 | 1817161514 | postgresql-$v-utl-smtp | - |
构建
您可以使用 pig build 命令构建 pg_utl_smtp 扩展的 DEB 包:
BASH
安装
您可以直接安装 pg_utl_smtp 扩展包的预置二进制包,首先确保 PGDG 仓库已经添加并启用:
BASH
使用 pig 或者是 apt/yum/dnf 安装扩展:
安装
BASH
pig
BASH
dnf
BASH
apt
BASH
创建扩展:
SQL
用法
启用
SQL
发送邮件
SQL
过程
- OPEN_CONNECTION(host, port, tx_timeout, …) - 打开到 SMTP 服务器的连接。返回
utl_smtp.connection类型。通过secure_connection_before_smtp支持 SSL/TLS。 - EHLO(c, domain) / HELO(c, domain) - 执行初始 SMTP 握手。
- MAIL(c, sender) - 发起邮件事务。
- RCPT(c, recipient) - 指定邮件收件人。多个收件人可多次调用。
- OPEN_DATA(c) - 发送 DATA 命令开始消息正文。
- WRITE_DATA(c, data) - 写入消息正文的一部分。
- WRITE_RAW_DATA(c, data) - 向消息正文写入原始数据。
- CLOSE_DATA(c) - 关闭数据会话。
- QUIT(c) - 终止 SMTP 会话并断开连接。
连接类型
SQL
注意事项
- 需要系统上安装 Perl
Net::SMTP模块 - 使用
E'\r\n'作为换行符替代utl_tcp.crlf wallet_path和wallet_password参数未使用