En este video veremos como trabajar con Pl/Python invocando la librería de SMTPLIB, el fin es conseguir enviar correos desde nuestro servidor de base de datos.
Se utiliza EXIM4 (por su facilidad de configuración) como servidor de salida de correos.
Código
CREATE OR REPLACE FUNCTION py_mail ()
RETURNS integer
AS $$
import smtplib
import psycopg
import time
import random
sender="no_responder@mail.com"
smtpserver = smtplib.SMTP("localhost")
smtpserver.ehlo()
smtpserver.ehlo
con = psycopg.connect('dbname=mails host =127.0.0.1 user=compendium password=apesol')
qry="select receptor from correos"
cur = con.cursor()
cur.execute(qry)
resultado = cur.fetchall()
for destino in resultado:
to = destino[0]
i = random.randint(1,5000)
header = ('To:' + to + '\n' + 'From: '+ sender + '\n' +
'Subject:Prueba de Correo %s\n' % (i) )
msg = header + '\n Esto es un mensaje de prueba %s\n\n' % (i)
smtpserver.sendmail(sender, to, msg)
time.sleep(10)
smtpserver.close()
return 1
$$ LANGUAGE plpython3u;
Impactos: 118
Comments are closed