pg_smtp_client
pg_smtp_client
PostgreSQL extension to send email using SMTP
Overview
| ID | Extension | Package | Version | Category | License | Language |
|---|---|---|---|---|---|---|
| 4170 | pg_smtp_client | pg_smtp_client | 0.2.1 | UTIL | MIT | Rust |
| Attribute | Has Binary | Has Library | Need Load | Has DDL | Relocatable | Trusted |
|---|---|---|---|---|---|---|
--s-dt- | No | Yes | No | Yes | no | yes |
| Relationships | |
|---|---|
| See Also | http pg_net pg_html5_email_address gzip bzip zstd pg_curl pgjq |
pgrx=0.16.1, manual updated pgrx by Vonng
Packages
| Type | Repo | Version | PG Major Availability | Package Pattern | Dependencies |
|---|---|---|---|---|---|
| EL | PIGSTY | 0.2.1 | 18 17 16 15 14 13 | pg_smtp_client_$v | - |
| Debian | PIGSTY | 0.2.1 | 18 17 16 15 14 13 | postgresql-$v-pg-smtp-client | - |
| Linux / PG | PG18 | PG17 | PG16 | PG15 | PG14 | PG13 |
|---|---|---|---|---|---|---|
el8.x86_64 | PIGSTY 0.2.1 | PIGSTY 0.2.1 | PIGSTY 0.2.1 | PIGSTY 0.2.1 | PIGSTY 0.2.1 | MISS |
el8.aarch64 | PIGSTY 0.2.1 | PIGSTY 0.2.1 | PIGSTY 0.2.1 | PIGSTY 0.2.1 | PIGSTY 0.2.1 | MISS |
el9.x86_64 | PIGSTY 0.2.1 | PIGSTY 0.2.1 | PIGSTY 0.2.1 | PIGSTY 0.2.1 | PIGSTY 0.2.1 | MISS |
el9.aarch64 | PIGSTY 0.2.1 | PIGSTY 0.2.1 | PIGSTY 0.2.1 | PIGSTY 0.2.1 | PIGSTY 0.2.1 | MISS |
el10.x86_64 | PIGSTY 0.2.1 | PIGSTY 0.2.1 | PIGSTY 0.2.1 | PIGSTY 0.2.1 | PIGSTY 0.2.1 | MISS |
el10.aarch64 | PIGSTY 0.2.1 | PIGSTY 0.2.1 | PIGSTY 0.2.1 | PIGSTY 0.2.1 | PIGSTY 0.2.1 | MISS |
d12.x86_64 | MISS | PIGSTY 0.2.0 | PIGSTY 0.2.0 | PIGSTY 0.2.0 | PIGSTY 0.2.0 | MISS |
d12.aarch64 | MISS | PIGSTY 0.2.0 | PIGSTY 0.2.0 | PIGSTY 0.2.0 | PIGSTY 0.2.0 | MISS |
d13.x86_64 | MISS | MISS | MISS | MISS | MISS | MISS |
d13.aarch64 | MISS | MISS | MISS | MISS | MISS | MISS |
u22.x86_64 | MISS | PIGSTY 0.2.0 | PIGSTY 0.2.0 | PIGSTY 0.2.0 | PIGSTY 0.2.0 | MISS |
u22.aarch64 | MISS | PIGSTY 0.2.0 | PIGSTY 0.2.0 | PIGSTY 0.2.0 | PIGSTY 0.2.0 | MISS |
u24.x86_64 | MISS | PIGSTY 0.2.0 | PIGSTY 0.2.0 | PIGSTY 0.2.0 | PIGSTY 0.2.0 | MISS |
u24.aarch64 | MISS | PIGSTY 0.2.0 | PIGSTY 0.2.0 | PIGSTY 0.2.0 | PIGSTY 0.2.0 | MISS |
| Package | Version | OS | ORG | SIZE | File URL |
|---|---|---|---|---|---|
pg_smtp_client_18 | 0.2.1 | el8.x86_64 | pigsty | 533.7 KiB | pg_smtp_client_18-0.2.1-1PIGSTY.el8.x86_64.rpm |
pg_smtp_client_18 | 0.2.1 | el8.aarch64 | pigsty | 408.3 KiB | pg_smtp_client_18-0.2.1-1PIGSTY.el8.aarch64.rpm |
pg_smtp_client_18 | 0.2.1 | el9.x86_64 | pigsty | 553.2 KiB | pg_smtp_client_18-0.2.1-1PIGSTY.el9.x86_64.rpm |
pg_smtp_client_18 | 0.2.1 | el9.aarch64 | pigsty | 434.8 KiB | pg_smtp_client_18-0.2.1-1PIGSTY.el9.aarch64.rpm |
pg_smtp_client_18 | 0.2.1 | el10.x86_64 | pigsty | 554.1 KiB | pg_smtp_client_18-0.2.1-1PIGSTY.el10.x86_64.rpm |
pg_smtp_client_18 | 0.2.1 | el10.aarch64 | pigsty | 434.4 KiB | pg_smtp_client_18-0.2.1-1PIGSTY.el10.aarch64.rpm |
| Package | Version | OS | ORG | SIZE | File URL |
|---|---|---|---|---|---|
pg_smtp_client_17 | 0.2.1 | el8.x86_64 | pigsty | 533.6 KiB | pg_smtp_client_17-0.2.1-1PIGSTY.el8.x86_64.rpm |
pg_smtp_client_17 | 0.2.1 | el8.aarch64 | pigsty | 408.2 KiB | pg_smtp_client_17-0.2.1-1PIGSTY.el8.aarch64.rpm |
pg_smtp_client_17 | 0.2.1 | el9.x86_64 | pigsty | 553.7 KiB | pg_smtp_client_17-0.2.1-1PIGSTY.el9.x86_64.rpm |
pg_smtp_client_17 | 0.2.1 | el9.aarch64 | pigsty | 434.7 KiB | pg_smtp_client_17-0.2.1-1PIGSTY.el9.aarch64.rpm |
pg_smtp_client_17 | 0.2.1 | el10.x86_64 | pigsty | 554.3 KiB | pg_smtp_client_17-0.2.1-1PIGSTY.el10.x86_64.rpm |
pg_smtp_client_17 | 0.2.1 | el10.aarch64 | pigsty | 434.4 KiB | pg_smtp_client_17-0.2.1-1PIGSTY.el10.aarch64.rpm |
postgresql-17-pg-smtp-client | 0.2.0 | d12.x86_64 | pigsty | 345.0 KiB | postgresql-17-pg-smtp-client_0.2.0-1PIGSTY~bookworm_amd64.deb |
postgresql-17-pg-smtp-client | 0.2.0 | d12.aarch64 | pigsty | 305.7 KiB | postgresql-17-pg-smtp-client_0.2.0-1PIGSTY~bookworm_arm64.deb |
postgresql-17-pg-smtp-client | 0.2.0 | u22.x86_64 | pigsty | 380.0 KiB | postgresql-17-pg-smtp-client_0.2.0-1PIGSTY~jammy_amd64.deb |
postgresql-17-pg-smtp-client | 0.2.0 | u22.aarch64 | pigsty | 357.9 KiB | postgresql-17-pg-smtp-client_0.2.0-1PIGSTY~jammy_arm64.deb |
postgresql-17-pg-smtp-client | 0.2.0 | u24.x86_64 | pigsty | 376.0 KiB | postgresql-17-pg-smtp-client_0.2.0-1PIGSTY~noble_amd64.deb |
postgresql-17-pg-smtp-client | 0.2.0 | u24.aarch64 | pigsty | 355.0 KiB | postgresql-17-pg-smtp-client_0.2.0-1PIGSTY~noble_arm64.deb |
| Package | Version | OS | ORG | SIZE | File URL |
|---|---|---|---|---|---|
pg_smtp_client_16 | 0.2.1 | el8.x86_64 | pigsty | 533.6 KiB | pg_smtp_client_16-0.2.1-1PIGSTY.el8.x86_64.rpm |
pg_smtp_client_16 | 0.2.1 | el8.aarch64 | pigsty | 408.3 KiB | pg_smtp_client_16-0.2.1-1PIGSTY.el8.aarch64.rpm |
pg_smtp_client_16 | 0.2.1 | el9.x86_64 | pigsty | 553.4 KiB | pg_smtp_client_16-0.2.1-1PIGSTY.el9.x86_64.rpm |
pg_smtp_client_16 | 0.2.1 | el9.aarch64 | pigsty | 434.7 KiB | pg_smtp_client_16-0.2.1-1PIGSTY.el9.aarch64.rpm |
pg_smtp_client_16 | 0.2.1 | el10.x86_64 | pigsty | 554.3 KiB | pg_smtp_client_16-0.2.1-1PIGSTY.el10.x86_64.rpm |
pg_smtp_client_16 | 0.2.1 | el10.aarch64 | pigsty | 434.4 KiB | pg_smtp_client_16-0.2.1-1PIGSTY.el10.aarch64.rpm |
postgresql-16-pg-smtp-client | 0.2.0 | d12.x86_64 | pigsty | 345.0 KiB | postgresql-16-pg-smtp-client_0.2.0-1PIGSTY~bookworm_amd64.deb |
postgresql-16-pg-smtp-client | 0.2.0 | d12.aarch64 | pigsty | 305.8 KiB | postgresql-16-pg-smtp-client_0.2.0-1PIGSTY~bookworm_arm64.deb |
postgresql-16-pg-smtp-client | 0.2.0 | u22.x86_64 | pigsty | 380.4 KiB | postgresql-16-pg-smtp-client_0.2.0-1PIGSTY~jammy_amd64.deb |
postgresql-16-pg-smtp-client | 0.2.0 | u22.aarch64 | pigsty | 357.8 KiB | postgresql-16-pg-smtp-client_0.2.0-1PIGSTY~jammy_arm64.deb |
postgresql-16-pg-smtp-client | 0.2.0 | u24.x86_64 | pigsty | 376.3 KiB | postgresql-16-pg-smtp-client_0.2.0-1PIGSTY~noble_amd64.deb |
postgresql-16-pg-smtp-client | 0.2.0 | u24.aarch64 | pigsty | 354.5 KiB | postgresql-16-pg-smtp-client_0.2.0-1PIGSTY~noble_arm64.deb |
| Package | Version | OS | ORG | SIZE | File URL |
|---|---|---|---|---|---|
pg_smtp_client_15 | 0.2.1 | el8.x86_64 | pigsty | 533.4 KiB | pg_smtp_client_15-0.2.1-1PIGSTY.el8.x86_64.rpm |
pg_smtp_client_15 | 0.2.1 | el8.aarch64 | pigsty | 408.3 KiB | pg_smtp_client_15-0.2.1-1PIGSTY.el8.aarch64.rpm |
pg_smtp_client_15 | 0.2.1 | el9.x86_64 | pigsty | 552.6 KiB | pg_smtp_client_15-0.2.1-1PIGSTY.el9.x86_64.rpm |
pg_smtp_client_15 | 0.2.1 | el9.aarch64 | pigsty | 434.8 KiB | pg_smtp_client_15-0.2.1-1PIGSTY.el9.aarch64.rpm |
pg_smtp_client_15 | 0.2.1 | el10.x86_64 | pigsty | 553.8 KiB | pg_smtp_client_15-0.2.1-1PIGSTY.el10.x86_64.rpm |
pg_smtp_client_15 | 0.2.1 | el10.aarch64 | pigsty | 434.5 KiB | pg_smtp_client_15-0.2.1-1PIGSTY.el10.aarch64.rpm |
postgresql-15-pg-smtp-client | 0.2.0 | d12.x86_64 | pigsty | 345.1 KiB | postgresql-15-pg-smtp-client_0.2.0-1PIGSTY~bookworm_amd64.deb |
postgresql-15-pg-smtp-client | 0.2.0 | d12.aarch64 | pigsty | 305.5 KiB | postgresql-15-pg-smtp-client_0.2.0-1PIGSTY~bookworm_arm64.deb |
postgresql-15-pg-smtp-client | 0.2.0 | u22.x86_64 | pigsty | 380.4 KiB | postgresql-15-pg-smtp-client_0.2.0-1PIGSTY~jammy_amd64.deb |
postgresql-15-pg-smtp-client | 0.2.0 | u22.aarch64 | pigsty | 357.9 KiB | postgresql-15-pg-smtp-client_0.2.0-1PIGSTY~jammy_arm64.deb |
postgresql-15-pg-smtp-client | 0.2.0 | u24.x86_64 | pigsty | 375.9 KiB | postgresql-15-pg-smtp-client_0.2.0-1PIGSTY~noble_amd64.deb |
postgresql-15-pg-smtp-client | 0.2.0 | u24.aarch64 | pigsty | 354.5 KiB | postgresql-15-pg-smtp-client_0.2.0-1PIGSTY~noble_arm64.deb |
| Package | Version | OS | ORG | SIZE | File URL |
|---|---|---|---|---|---|
pg_smtp_client_14 | 0.2.1 | el8.x86_64 | pigsty | 533.4 KiB | pg_smtp_client_14-0.2.1-1PIGSTY.el8.x86_64.rpm |
pg_smtp_client_14 | 0.2.1 | el8.aarch64 | pigsty | 408.3 KiB | pg_smtp_client_14-0.2.1-1PIGSTY.el8.aarch64.rpm |
pg_smtp_client_14 | 0.2.1 | el9.x86_64 | pigsty | 553.0 KiB | pg_smtp_client_14-0.2.1-1PIGSTY.el9.x86_64.rpm |
pg_smtp_client_14 | 0.2.1 | el9.aarch64 | pigsty | 434.7 KiB | pg_smtp_client_14-0.2.1-1PIGSTY.el9.aarch64.rpm |
pg_smtp_client_14 | 0.2.1 | el10.x86_64 | pigsty | 553.5 KiB | pg_smtp_client_14-0.2.1-1PIGSTY.el10.x86_64.rpm |
pg_smtp_client_14 | 0.2.1 | el10.aarch64 | pigsty | 434.4 KiB | pg_smtp_client_14-0.2.1-1PIGSTY.el10.aarch64.rpm |
postgresql-14-pg-smtp-client | 0.2.0 | d12.x86_64 | pigsty | 344.8 KiB | postgresql-14-pg-smtp-client_0.2.0-1PIGSTY~bookworm_amd64.deb |
postgresql-14-pg-smtp-client | 0.2.0 | d12.aarch64 | pigsty | 305.8 KiB | postgresql-14-pg-smtp-client_0.2.0-1PIGSTY~bookworm_arm64.deb |
postgresql-14-pg-smtp-client | 0.2.0 | u22.x86_64 | pigsty | 380.1 KiB | postgresql-14-pg-smtp-client_0.2.0-1PIGSTY~jammy_amd64.deb |
postgresql-14-pg-smtp-client | 0.2.0 | u22.aarch64 | pigsty | 357.7 KiB | postgresql-14-pg-smtp-client_0.2.0-1PIGSTY~jammy_arm64.deb |
postgresql-14-pg-smtp-client | 0.2.0 | u24.x86_64 | pigsty | 376.3 KiB | postgresql-14-pg-smtp-client_0.2.0-1PIGSTY~noble_amd64.deb |
postgresql-14-pg-smtp-client | 0.2.0 | u24.aarch64 | pigsty | 354.4 KiB | postgresql-14-pg-smtp-client_0.2.0-1PIGSTY~noble_arm64.deb |
Source
pig build get pg_smtp_client; # get pg_smtp_client source code
pig build dep pg_smtp_client; # install build dependencies
pig build pkg pg_smtp_client; # build extension rpm or deb
pig build ext pg_smtp_client; # build extension rpmsInstall
To add the required PGDG / PIGSTY upstream repository, use:
pig repo add pgsql -u # add PGDG + Pigsty repo and update cache (leave existing repos)Install this extension with:
pig ext install pg_smtp_client; # install by extension name, for the current active PG version
pig ext install pg_smtp_client; # install via package alias, for the active PG version
pig ext install pg_smtp_client -v 18; # install for PG 18
pig ext install pg_smtp_client -v 17; # install for PG 17
pig ext install pg_smtp_client -v 16; # install for PG 16
pig ext install pg_smtp_client -v 15; # install for PG 15
pig ext install pg_smtp_client -v 14; # install for PG 14Create this extension with:
CREATE EXTENSION pg_smtp_client CASCADE SCHEMA smtp_client;Usage
https://github.com/frectonz/pglite-fusion/blob/main/README.md
Enabling the extension
Connect to postgres and run the following command.
CREATE EXTENSION IF NOT EXISTS pg_smtp_client CASCADE;Usage
Use the smtp_client.send_email() function to send an email.
Function Parameters
| Parameter | Type | Description | System Configuration (Optional) |
|---|---|---|---|
| subject | text | The subject of the email | |
| body | text | The body of the email | |
| html | boolean | Whether the body is HTML (true) or plain text (false) | |
| from_address | text | The from email address | smtp_client.from_address |
| recipients | text[] | The email addresses of the recipients | |
| ccs | text[] | The email addresses to CCs | |
| bccs | text[] | The email addresses to BCCs | |
| smtp_server | text | The SMTP server to use | smtp_client.server |
| smtp_port | integer | The port of the SMTP server | smtp_client.port |
| smtp_tls | boolean | Whether to use TLS | smtp_client.tls |
| smtp_username | text | The username for the SMTP server | smtp_client.username |
| smtp_password | text | The password for the SMTP server | smtp_client.password |
Default Configuration
You can configure the following system-wide default values for some of the parameters (as indiciated in the table above) like this:
ALTER SYSTEM SET smtp_client.server TO 'smtp.example.com';
ALTER SYSTEM SET smtp_client.port TO 587;
ALTER SYSTEM SET smtp_client.tls TO true;
ALTER SYSTEM SET smtp_client.username TO 'MySmtpUsername';
ALTER SYSTEM SET smtp_client.password TO 'MySmtpPassword';
ALTER SYSTEM SET smtp_client.from_address TO 'from@example.com';
SELECT pg_reload_conf();Usage Examples
Send an email:
SELECT smtp_client.send_email('test subject', 'test body', false, 'from@example.com', array['to@example.com'], null, null, 'smtp.example.com', 587, true, 'username', 'password');Send an email using configured default values:
SELECT smtp_client.send_email('test subject', 'test body', false, null, array['to@example.com']);Or, using named arguments:
SELECT smtp_client.send_email('test subject', 'test body', recipients => array['to@example.com']);Last updated on