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

Categories:

Comments are closed