Edited & Tested for Postgresql 16.0
May 20, 2024 ยท View on GitHub
Function to send mail by smtp in 9.3+ Edited & Tested for Postgresql 16.0
This PostgreSQL extension implements a functions to send mail and attach by smtp using plpython
IMPORTANT: There're bugs in the existing version, please contact to me. This extentsion in only executable by admid user, because use untrusted language plpython
Building and install
Install postgresql-plpython:sudo apt-get install postgresql-plpython-9.x (where x >=3) Run make install In postgresql execute: CREATE EXTENSION plpython3u; create extension pgsmtp;
Example
#insert data(user, smtpserver,port,password) about the sender user un into table pgsmtp.user_smtp_data, is required to send mail
INSERT INTO pgsmtp.user_smtp_data VALUES ('asoto@gmail.com','smtp.gmail.com',587,'mypass')
#sending mail pgsmtp.pg_smtp_mail(sender, receiver, cc,topic,text) with cc
select pgsmtp.pg_smtp_mail('asoto@gmail.com','asoto@gmail.com',array['mail@mail.com','other@mail.com'],'Test mail','Mail from postgres using pgsmtp :D');
#sending mail pgsmtp.pg_smtp_mail(sender, receiver, cc,topic,text) without cc
select pgsmtp.pg_smtp_mail('asoto@gmail.com','asoto@gmail.com',array[''],'Test mail','Mail from postgres using pgsmtp :D');
#sending mail pgsmtp.pg_smtp_mail_attach(sender, receiver, cc,topic,text,attach) with attach
select pgsmtp.pg_smtp_mail_attach('asoto@gmail.com','asoto@gmail.com',array[''],'Test mail','Mail from postgres using pgsmtp :D',array['/tmp/adjunto.txt']);
-- Anthony R. Sotolongo leon asotolongo@gmail.com