<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="https://www.guia-ubuntu.com/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="es">
		<id>https://www.guia-ubuntu.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Backfire</id>
		<title>Guía Ubuntu - Contribuciones del usuario [es]</title>
		<link rel="self" type="application/atom+xml" href="https://www.guia-ubuntu.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Backfire"/>
		<link rel="alternate" type="text/html" href="https://www.guia-ubuntu.com/index.php/Especial:Contribuciones/Backfire"/>
		<updated>2026-04-24T00:25:05Z</updated>
		<subtitle>Contribuciones del usuario</subtitle>
		<generator>MediaWiki 1.22.7</generator>

	<entry>
		<id>https://www.guia-ubuntu.com/index.php/DbMail</id>
		<title>DbMail</title>
		<link rel="alternate" type="text/html" href="https://www.guia-ubuntu.com/index.php/DbMail"/>
				<updated>2007-07-08T16:16:44Z</updated>
		
		<summary type="html">&lt;p&gt;Backfire: /* Instalación */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dbmail es el nombre de un grupo de programas que permite la posibilidad de almacenar y guardar mensajes de correo electrónico desde una base de datos. Actualmente se utiliza [[MySql]], [[PostgreSQL]] y [[SQLite]] como sistema persitente de datos.&lt;br /&gt;
&lt;br /&gt;
=Instalación=&lt;br /&gt;
Vamos a instalar Dbmail con PostgreSQL, Postfix, ClamSMTP y Postgrey.&lt;br /&gt;
&lt;br /&gt;
  $ sudo apt-get install postgresql-8.2&lt;br /&gt;
&lt;br /&gt;
Hay que tocar un parametro de configuracion de PostgreSQL para que nos deje autentificarnos como usuarios que no esten datos de alta en linux.&lt;br /&gt;
&lt;br /&gt;
  $ sudo gedit /etc/postgresql/8.2/main/pg_hba.conf&lt;br /&gt;
&lt;br /&gt;
Debemos cambiar la linea&lt;br /&gt;
&lt;br /&gt;
 local   all         all                          ident sameuser&lt;br /&gt;
&lt;br /&gt;
por esta otra&lt;br /&gt;
&lt;br /&gt;
 local   all         all                          md5&lt;br /&gt;
&lt;br /&gt;
Y reiniciamos PostgreSQL&lt;br /&gt;
&lt;br /&gt;
  $ sudo /etc/init.d/postgresql-8.2 restart&lt;br /&gt;
&lt;br /&gt;
Ahora, instalamos el servidor de correo Postfix.&lt;br /&gt;
&lt;br /&gt;
  $ sudo apt-get install postfix postfix-pgsql mailx&lt;br /&gt;
   General type of configuration? Internet Site&lt;br /&gt;
   Nombre de correo? miservidor.midominio&lt;br /&gt;
&lt;br /&gt;
Agregamos el repositorio para instalar el paquete de Dbmail.&lt;br /&gt;
&lt;br /&gt;
Nota: existe un paquete dbmail-pgsql en el repositorio oficial pero se trata de una version muy antigua de Dbmail.&lt;br /&gt;
&lt;br /&gt;
  $ sudo gedit /etc/apt/sources.list&lt;br /&gt;
  *** añadir: deb http://debian.nfgd.net/debian stable main&lt;br /&gt;
&lt;br /&gt;
  $ sudo apt-get update&lt;br /&gt;
  $ sudo apt-get install dbmail-pgsql&lt;br /&gt;
&lt;br /&gt;
Vamos a crear la base de datos y el usuario en PostgreSQL para Dbmail.&lt;br /&gt;
&lt;br /&gt;
  $ sudo -s&lt;br /&gt;
  $ su postgres&lt;br /&gt;
  $ psql template1&lt;br /&gt;
&lt;br /&gt;
  Bienvenido a psql 8.2.4, la terminal interactiva de PostgreSQL.&lt;br /&gt;
  &lt;br /&gt;
  Digite:  \copyright para ver los términos de distribución&lt;br /&gt;
           \h para obtener ayuda sobre comandos SQL&lt;br /&gt;
           \? para obtener ayuda sobre comandos internos&lt;br /&gt;
           \g o punto y coma (;) para ejecutar consulta&lt;br /&gt;
           \q para salir&lt;br /&gt;
  &lt;br /&gt;
  template1=# CREATE USER dbmail PASSWORD 'aleluya';&lt;br /&gt;
  CREATE USER&lt;br /&gt;
  template1=# CREATE DATABASE dbmail OWNER dbmail;&lt;br /&gt;
  CREATE DATABASE&lt;br /&gt;
  template1=# \q&lt;br /&gt;
&lt;br /&gt;
Lo probamos&lt;br /&gt;
&lt;br /&gt;
  $ psql -U dbmail dbmail&lt;br /&gt;
  Contraseña: (aqui debe teclear: aleluya)&lt;br /&gt;
  Bienvenido a psql 8.2.4, el terminal interactivo de PostgreSQL.&lt;br /&gt;
  &lt;br /&gt;
  Digite:  \copyright para ver los términos de distribución&lt;br /&gt;
           \h para obtener ayuda sobre comandos SQL&lt;br /&gt;
           \? para obtener ayuda sobre comandos internos&lt;br /&gt;
           \g o punto y coma (;) para ejecutar consulta&lt;br /&gt;
           \q para salir&lt;br /&gt;
&lt;br /&gt;
  dbmail=&amp;gt; \q&lt;br /&gt;
&lt;br /&gt;
  $ sudo gedit /etc/dbmail/dbmail.conf&lt;br /&gt;
&lt;br /&gt;
Cambiamos:&lt;br /&gt;
* driver = pgsql&lt;br /&gt;
* authdriver = sql&lt;br /&gt;
* host = localhost&lt;br /&gt;
* pass = aleluya&lt;br /&gt;
* [POP] POP_BEFORE_SMTP = yes, [IMAP] IMAP_BEFORE_SMTP = yes&lt;br /&gt;
&lt;br /&gt;
  $ sudo gedit /etc/default/dbmail&lt;br /&gt;
&lt;br /&gt;
Descomentamos las lineas START_POP3D, START_IMAPD y START_LMTPD.&lt;br /&gt;
&lt;br /&gt;
Y aun falta crear las tablas.&lt;br /&gt;
&lt;br /&gt;
  $ cp /usr/share/doc/dbmail-pgsql/examples/create_tables.pgsql.gz .&lt;br /&gt;
  $ gunzip create_tables.pgsql.gz .&lt;br /&gt;
  $ psql -U dbmail dbmail &amp;lt; create_tables.pgsql&lt;br /&gt;
&lt;br /&gt;
Comprobamos que todo va bien&lt;br /&gt;
&lt;br /&gt;
  $ sudo /etc/init.d/dbmail restart&lt;br /&gt;
  Stopping dbmail servers: No dbmail-pop3d found running; none killed.&lt;br /&gt;
  done.&lt;br /&gt;
  Starting dbmail servers: dbmail-pop3d .done.&lt;br /&gt;
  &lt;br /&gt;
  $ telnet localhost 110&lt;br /&gt;
  Trying 127.0.0.1...&lt;br /&gt;
  Connected to localhost.localdomain.&lt;br /&gt;
  Escape character is '^]'.&lt;br /&gt;
  +OK DBMAIL pop3 server ready to rock &lt;br /&gt;
  quit&lt;br /&gt;
  +OK see ya later&lt;br /&gt;
  Connection closed by foreign host.&lt;br /&gt;
&lt;br /&gt;
Bien parece que tenemos ya servidor de POP3, Ok? Como? Que no te lo crees?&lt;br /&gt;
Bien hecho.&lt;br /&gt;
&lt;br /&gt;
  $ sudo dbmail-users -a frodo -w mitesoro -s fbolson@midominio&lt;br /&gt;
  Opening connection to database...&lt;br /&gt;
  Opening connection to authentication...&lt;br /&gt;
  Ok. Connected&lt;br /&gt;
  Adding user frodo with password type ,0 bytes mailbox limit and clientid 0...&lt;br /&gt;
  Ok, user added id [3]&lt;br /&gt;
  Adding INBOX for new user&lt;br /&gt;
  Ok. added&lt;br /&gt;
  [fbolson@mitesoro]&lt;br /&gt;
  Done&lt;br /&gt;
&lt;br /&gt;
Ahora vamos a ver&lt;br /&gt;
&lt;br /&gt;
  $ telnet localhost 110&lt;br /&gt;
  Trying 127.0.0.1...&lt;br /&gt;
  Connected to localhost.localdomain.&lt;br /&gt;
  Escape character is '^]'.&lt;br /&gt;
  +OK DBMAIL pop3 server ready to rock &amp;lt;66dcba87dbc642906b8410fc1f2223a0@urisma&amp;gt;&lt;br /&gt;
  user frodo&lt;br /&gt;
  +OK Password required for frodo&lt;br /&gt;
  pass mitesoro&lt;br /&gt;
  +OK frodo has 0 messages (0 octets)&lt;br /&gt;
  quit&lt;br /&gt;
  +OK see ya later&lt;br /&gt;
  Connection closed by foreign host.&lt;br /&gt;
&lt;br /&gt;
¿Te lo crees ya? Venga, seguimos.&lt;br /&gt;
&lt;br /&gt;
Aun queda un problema con Dbmail y PostgreSQL. Existe un problema con ciertas codificaciones. Es necesario editar el archivo /etc/init.d/dbmail y agregar un par de lineas. Se deben poner al principio ya que se trata de una variable de entorno utilizada en la conexion con PostgreSQL. Un buen lugar es despues de&lt;br /&gt;
&lt;br /&gt;
  PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin&lt;br /&gt;
&lt;br /&gt;
Las lineas son&lt;br /&gt;
&lt;br /&gt;
  PGCLIENTENCODING=LATIN1&lt;br /&gt;
  export PGCLIENTENCODING&lt;br /&gt;
&lt;br /&gt;
Vamos a configurar ahora Postfix con el antivirus, y el antispam, haciendo al mismo tiempo la conexion con la Dbmail para no perder mas tiempo en detalles.&lt;br /&gt;
&lt;br /&gt;
  $ sudo apt-get install clamsmtp clamav-daemon&lt;br /&gt;
  $ sudo apt-get install postgrey&lt;br /&gt;
  $ sudo gedit /etc/postfix/main.cf&lt;br /&gt;
&lt;br /&gt;
Estos son los cambios necesarios:&lt;br /&gt;
&lt;br /&gt;
  # resuelve en /etc/hosts (no solo dns)&lt;br /&gt;
  smtp_host_lookup = dns, native&lt;br /&gt;
  &lt;br /&gt;
  local_recipient_maps =&lt;br /&gt;
  &lt;br /&gt;
  # utilizo POP BEFORE SMTP para no actuar de OpenRelay&lt;br /&gt;
  mynetworks = 127.0.0.0/8, pgsql:/etc/postfix/sql-pop-before-smtp.cf&lt;br /&gt;
  &lt;br /&gt;
  # se pueden añadir dominios en la base de datos&lt;br /&gt;
  transport_maps = pgsql:/etc/postfix/sql-transport.cf&lt;br /&gt;
  mydestination = localhost, localhost.localdomain, $transport_maps&lt;br /&gt;
  &lt;br /&gt;
  # para clamav&lt;br /&gt;
  content_filter = scan:localhost:10026&lt;br /&gt;
  receive_override_options = no_address_mappings&lt;br /&gt;
  &lt;br /&gt;
  # el postgrey correo en el puerto 60000&lt;br /&gt;
  smtpd_recipient_restrictions =&lt;br /&gt;
        permit_mynetworks,&lt;br /&gt;
        reject_unauth_destination,&lt;br /&gt;
        check_policy_service inet:127.0.0.1:60000&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En /etc/postfix/master.cf&lt;br /&gt;
&lt;br /&gt;
  $ sudo gedit /etc/postfix/master.cf&lt;br /&gt;
&lt;br /&gt;
lineas a añadir:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  dbmail-lmtp     unix    -       -       n       -       -       lmtp&lt;br /&gt;
          -o disable_dns_lookups=yes&lt;br /&gt;
  &lt;br /&gt;
  # AV scan filter (used by content_filter)&lt;br /&gt;
  scan      unix  -       -       n       -       16      smtp&lt;br /&gt;
    -o smtp_send_xforward_command=yes&lt;br /&gt;
  # For injecting mail back into postfix from the filter&lt;br /&gt;
  127.0.0.1:10025 inet  n -       n       -       16      smtpd&lt;br /&gt;
  -o content_filter=&lt;br /&gt;
  -o receive_override_options=no_unknown_recipient_checks,no_header_body_checks&lt;br /&gt;
  -o smtpd_helo_restrictions=&lt;br /&gt;
  -o smtpd_client_restrictions=&lt;br /&gt;
  -o smtpd_sender_restrictions=&lt;br /&gt;
  -o smtpd_recipient_restrictions=permit_mynetworks,reject&lt;br /&gt;
  -o mynetworks_style=host&lt;br /&gt;
  -o smtpd_authorized_xforward_hosts=127.0.0.0/8,pgsql:/etc/postfix/sql-pop-before-smtp.cf&lt;br /&gt;
&lt;br /&gt;
Aun quedan 2 archivos:&lt;br /&gt;
El primero le dice a Postfix las IPs que tienen permiso para enviar (SMTP) por haber leido correo previamente (POP3). Es el archivo /etc/postfix/sql-pop-before-smtp.cf&lt;br /&gt;
&lt;br /&gt;
  user=dbmail&lt;br /&gt;
  password=aleluya&lt;br /&gt;
  dbname=dbmail&lt;br /&gt;
  hosts=localhost&lt;br /&gt;
  table=dbmail_pbsp&lt;br /&gt;
  select_field=since&lt;br /&gt;
  where_field=ipnumber&lt;br /&gt;
&lt;br /&gt;
El segundo nos va a permitir agregar nuevos dominios desde la base de datos. Es el archivo /etc/postfix/sql-transport.cf&lt;br /&gt;
&lt;br /&gt;
  user=dbmail&lt;br /&gt;
  password=aleluya&lt;br /&gt;
  dbname=dbmail&lt;br /&gt;
  table=dbmail_transport&lt;br /&gt;
  select_field=transport&lt;br /&gt;
  where_field=domain&lt;br /&gt;
  hosts=localhost&lt;br /&gt;
&lt;br /&gt;
Antes tenemos que crear la tabla &amp;quot;dbmail_transport&amp;quot; en nuestra base de datos.&lt;br /&gt;
&lt;br /&gt;
  $ psql dbmail -W dbmail&lt;br /&gt;
  Contraseña:&lt;br /&gt;
  Bienvenido a psql 8.2.4, el terminal interactivo de PostgreSQL.&lt;br /&gt;
  &lt;br /&gt;
  Digite:  \copyright para ver los términos de distribución&lt;br /&gt;
           \h para obtener ayuda sobre comandos SQL&lt;br /&gt;
           \? para obtener ayuda sobre comandos internos&lt;br /&gt;
           \g o punto y coma (;) para ejecutar consulta&lt;br /&gt;
           \q para salir&lt;br /&gt;
  &lt;br /&gt;
  dbmail=&amp;gt; CREATE TABLE dbmail_transport (&lt;br /&gt;
  dbmail(&amp;gt; domain VARCHAR(100) NOT NULL,&lt;br /&gt;
  dbmail(&amp;gt; transport VARCHAR(100) NOT NULL DEFAULT 'dbmail-lmtp:localhost:24'&lt;br /&gt;
  dbmail(&amp;gt; );&lt;br /&gt;
  CREATE TABLE&lt;br /&gt;
  dbmail=&amp;gt; INSERT INTO dbmail_transport (domain) VALUES ('midominio');&lt;br /&gt;
  &lt;br /&gt;
IMPORTANTE: no olvidar este insert (o no llegaran los correos de 'midominio' a DBMAIL)&lt;br /&gt;
&lt;br /&gt;
Vamos a ver como va la cosa....&lt;br /&gt;
&lt;br /&gt;
 $ sudo /etc/init.d/postfix restart&lt;br /&gt;
   * Stopping Postfix Mail Transport Agent postfix                      [ ok ]&lt;br /&gt;
   * Starting Postfix Mail Transport Agent postfix                      [ ok ]&lt;br /&gt;
&lt;br /&gt;
= Enlaces Externos =&lt;br /&gt;
* [http://www.dbmail.org/  Pagina oficial] {{en}}&lt;br /&gt;
* [[w:en:DBMail IMAP and POP3 server|Información de la wikipedia]] {{en}}&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Administración del sistema]]&lt;/div&gt;</summary>
		<author><name>Backfire</name></author>	</entry>

	</feed>