Usage

Docs: 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

ParameterTypeDescriptionSystem Configuration (Optional)
subjecttextThe subject of the email
bodytextThe body of the email
htmlbooleanWhether the body is HTML (true) or plain text (false)
from_addresstextThe from email addresssmtp_client.from_address
recipientstext[]The email addresses of the recipients
ccstext[]The email addresses to CCs
bccstext[]The email addresses to BCCs
smtp_servertextThe SMTP server to usesmtp_client.server
smtp_portintegerThe port of the SMTP serversmtp_client.port
smtp_tlsbooleanWhether to use TLSsmtp_client.tls
smtp_usernametextThe username for the SMTP serversmtp_client.username
smtp_passwordtextThe password for the SMTP serversmtp_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']);

最后修改 2026-03-08: add extension catalog (baacba6)