Posts tagged postgresql

Enviar correo electrónico desde PostgreSQL con PERL

0

Para poder enviar correos desde PostgreSQL en GNU/Linux existe una forma sencilla de hacerlo, un script PERL disponible dentro del manejador de base de datos a través de una función.

Requerimientos

  • Todo esto ha sido probado en GNU/Linux Debian Squeeze 6.0
  • Instalar el módulo de PERL “Mail::Sender”: apt-get install libmail-sender-perl
  • Instalar “PLPERL” apt-get install postgresql-plperl-8.3. Para mayor información visite: http://www.postgresql.org/docs/8.3/static/plperl.html
  • Un servidor de correos local (opcional si tenemos otro servidor) instalado y configurado (por defecto): sendmail, exim4 o postfix.

Manos a la obra

Debemos cargar el contenido del archivo pgmail.sql y pgmailt.sql que se muestan debajo, para crear la función de envío de correo y hacer pruebas, respectivamente.

1
2
3
root# su - postgres
postgres$ psql < pgmail.sql 
postgres$ psql < pgmailt.sql

Creación de la función “pgmail”

El archivo pgmail.sql contiene lo siguiente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
\c A;
-- CREATE LANGUAGE plperlu;
CREATE OR REPLACE FUNCTION pgmail(text, text, text, text) RETURNS INTEGER AS $$
 
$from_address = $_[0];
$to_address = $_[1];
$subject = $_[2];
$body = $_[3];
 
#$reply_to = 'no-reply@localhost.localdomain';
$server = 'localhost';
 
use Mail::Sender;
$sender = new Mail::Sender
	{
		smtp => $server, 
		from => $from_address
	};
$rc = $sender->MailMsg(
	{
	#	replyto => $reply_to,
		to => $to_address,
		subject => $subject,
		msg => $body
	}
);
 
if(ref($rc)){
        return 0;
}else{
	elog(ERROR, $sender->{'error_msg'});
	return $sender->{'error'};
}
 
$$ LANGUAGE plperlu VOLATILE STRICT;

Prueba de “pgmail”

El archivo pgmailt.sql contiene lo siguiente:

1
2
\c A;
select pgmail('me@localhost.localdomain', 'olafrv@gmail.com,olafrv@cantv.net','Mail desde postgres', 'Test!!!');

Debian + Apache Web Server + Apache Tomcat + PostgreSQL

0

El presente manual (Haga clic aquí para descargar el manual) establece como debe realizarse la instalación integrada de:

- Servidor de Páginas Web – “Apache Web Server” / “Módulo mod-jk”
- Servidor de Aplicaciones Web – “Java” / “Apache Tomcat”
- Servidor de Base de Datos – “PostgreSQL”
- Script de Respaldos – “Tape-Backup”

Tomando en cuenta las mejores prácticas y garantizando los niveles básicos de eficiencia y seguridad de la información, entre las cuales, se incluyen:

- Balanceo de las solicitudes HTTP y redirección de las mismas al servicio de TOMCAT.
- Encarcelamiento del servidor TOMCAT en una celda sin privilegios de administrador.
- Respaldo de archivos a disco (y/o en cinta) mediante scripts configurables.
- Configuración de un cortafuegos de primer nivel.

Cumplimiento de las Polí­ticas del Sistema Operativo GNU/Linux Debian disponibles en http://www.debian.org/doc/devel-manuals#policy

Go to Top
?>