Enviar correos electrónicos desde PostgreSQL con pgMail
miércoles, mayo 07, 2014
Características del servidor de pruebas:
- Debian Squeeze
- PostgreSQL 8.4
Pasos de instalación:
1. Descargar los archivos de pgMail de su pagina oficial: pgMail. El paquete incluye:
- pgMail-x.x/CHANGELOG (notas de la versión)
- pgMail-x.x/example.cleanup.sql (ejemplo)
- pgMail-x.x/example.execute.sql (ejemplo)
- pgMail-x.x/example.setup.sql (ejemplo)
- pgMail-x.x/pgMail/pgMail.sql (procedimiento almacenado pgMail)
- pgMail-x.x/pgMail/README (archivo que indica la configuración básica del procedimiento)
dpkg - i tcl8.5.deb
3. Descargar e instalar la librería pltcl de PostgreSQL. Para instalarla ejecute:
dpkg - i postgresql-pltcl-8.4.deb
4. Instalar el lenguaje pltclu en la base de datos de la cual se desea enviar los correos:
CREATE LANGUAGE pltclu;
5. Configurar el procedimiento pgMail antes de instalarlo en la base de datos, ubicado en la carpeta pgMail/pgMail.sql de los archivos descargados inicialmente. Ver el archivo README que se incluye dentro de estos archivos para ver esta configuración completa:
- Reemplazar el texto <ENTER YOUR MAILSERVER HERE> con el nombre de dominio completo de su servidor de correo, P.Ej. mail.server.com.
- Reemplazar el texto <ENTER YOUR DATABASESERVER HERE> con el nombre de dominio completo del servidor de base de datos, P.Ej. db.server.com.
6. Instalar el procedimiento pgMail en la base de datos correspondiente.
7. Listo, para probar el correcto funcionamiento ejecutar el siguiente query:
SELECT pgmail('correoenvio@tudominio.com','correodestino@tudominio.com', 'Asunto', 'Cuerpo');
Advertencias:
- La instalación de lenguajes sin restricciones en la base de datos aunado a una mala configuración de seguridad del servidor de base de datos puede traer malas consecuencias. Tomar sus previsiones.
Cuando navego por los sitios web, mi parte favorita es leer los comentarios. Es por eso que tus comentarios son un complemento valioso para mis entradas. Cualquier duda o aporte no dejes de escribirlo, en breve lo estaré publicando. ¡Gracias!
3 comentarios
Interesante, gracias por compartir.
ResponderBorrarpero en el caso de que el servidor de correo tenga passowrd donde se tendria que agregar este ?
ResponderBorrarSaludos! Para servidores con autenticación requerida te recomiendo éste otro método: http://lachicainf.blogspot.com/2014/05/correos-desde-postgresql-con-python.html
Borrar