La nueva generación de correo electrónico Tutorial para el Congreso Internacional de Software...

Post on 23-Jan-2016

224 views 0 download

Transcript of La nueva generación de correo electrónico Tutorial para el Congreso Internacional de Software...

La nueva generación de correo electrónico

Tutorial para el Congreso Internacional de Software Libre GULEV Noviembre 25 de 2004

Derechos reservados © 2004 Sandino Araico Sánchez <sandino@sandino.net>

Se permite ilimitadamente el uso, copia, redistribución con o sin modificaciones siempre y cuando se mantenga el aviso de derecho de autor y se anoten al final de la presentación todas las modificaciones que se llevan a cabo conservando la historia de las modificaciones que hagan las demás personas e indicando la fecha de cada modificación y el nombre de la persona que la llevó a cabo.

OverviewDbmail is the name of a group of programs that enable the possiblilty of storing and retrieving mail messages from a database. Currently MySQL and PostgreSQL can be used as database backends. Development and support of dbmail is done by IC&S, a Dutch company specialized in Linux development and support. The dbmail developers can be reached through the dbmail mailinglist.

What are the advantages?

ScalabilityDbmail is as scalable as the database system that is used for the mail storage. In theory millions of accounts can be managed using dbmail. One could, for example, run 4 different servers with the pop3 daemon each connecting to the same database (cluster) server.

What are the advantages?

ManageabilityDbmail is based upon a database. Dbmail can be managed by changing settings in the database (f.e. using PHP/Perl/SQL), without needing shell access.

What are the advantages?

SpeedDbmail uses very efficient, database specific queries for retrieving mail information. This is much faster then parsing a filesystem.

What are the advantages?

SecurityDbmail has got nothing to do with the filesystem or interaction with other programs in the Unix environment which need special permissions. Dbmail is as secure as the database it's based upon.

What are the advantages?

Flexibility.Changes on a Dbmail system (adding of users, changing passwords etc.) are effective immediately.

How Dbmail worksA normal MTA

sendmailqmailpostfix

dbmail-smtpdbmail-lmtp

MySQLPostgres

Incoming mail

How Dbmail works

dbmail-pop3ddbmail-imapd

MySQLPostgres

User retreiving email

What’s inside the DB?

aliases

users

mailboxes messages

message blocks

dbmail.conf[DBMAIL] # Database settingshost=localhostuser=dbmailpass=********db=dbmail# trace level for dbmail-maintenance

TRACE_LEVEL=2

dbmail.conf[SMTP]SENDMAIL=/usr/sbin/sendmail # your sendmail executable, this is needed for boucing mailDBMAIL_FROM_ADDRESS=dbmail-bounce@sandino.net # the email address where bounces come from POSTMASTER=dbmail@sandino.net # postmaster's email address (which is used in the bounce messages)AUTO_NOTIFY=noAUTO_REPLY=yesTRACE_LEVEL=1

dbmail.conf[POP]EFFECTIVE_USER=dbmail EFFECTIVE_GROUP=dbmail #BINDIP=69.93.121.178 BINDIP=* PORT=110 NCHILDREN=50 MAXCHILDREN=200 MAXCONNECTS=10000 TIMEOUT=300 RESOLVE_IP=yes POP_BEFORE_SMTP=yesTRACE_LEVEL=1

dbmail.conf[IMAP]EFFECTIVE_USER=dbmailEFFECTIVE_GROUP=dbmail#BINDIP=69.93.121.178BINDIP=*PORT=143NCHILDREN=15MAXCONNECTS=10000 #TIMEOUT=3600 TIMEOUT=300 RESOLVE_IP=yes IMAP_BEFORE_SMTP=yesTRACE_LEVEL=1

postfix transportalpos.org dbmail:apesta.org dbmail:araico.net dbmail:batracio.org dbmail:delbebe.com.mx dbmail:correo.delbebe.com.mx dbmail:elmundo.delbebe.com.mx dbmail:delbordado.com dbmail:correo.delbordado.com dbmail:elmundo.delbordado.com dbmail:h-o-p-p.org dbmail:royald.net dbmail:royald.org dbmail:sandino.net dbmail:tumamafuemia.com dbmail:

postfix master.cf

dbmail unix - n n - - pipe flags= user=dbmail:dbmail argv=/usr/bin/dbmail-smtp -d ${recipient}

postfix main.cf

local_recipient_maps = pgsql:/etc/postfix/users.cfrelay_recipient_maps = pgsql:/etc/postfix/users.cfmynetworks = 69.93.121.178/32, pgsql:/etc/postfix/my_net.cf

postfix users.cf

users.cf:

user = dbmailpassword = ********dbname = dbmailtable = aliaseshosts = localhostselect_field = alias_idnrwhere_field = alias

postfix my_net.cf

my_net.cf:

user = dbmailpassword = ********dbname = dbmailtable = pbsphosts = localhostselect_field = sincewhere_field = ipnumberadditional_conditions = and since > (now() - interval '1 hour')

Referencias

http://dbmail.orghttp://dbmail.org/dokuwiki/doku.php

Gracias<sandino@sandino.net>