La guia esta buena y excelente, aunque habria que hacerle un poco de retoques por algunos lados para reparar los baches que tiene. La guia quedaria algo asi: Instalar las siguientes aplicaciones: yast2 -i mysql courier-imap courier-authlib-mysql postfix postfix-mysq Agregar o editar main.cf para que las siguientes opciones sean algo asi: mail_owner = postfix myhostname = splitfoo.homeip.net mydomain = splitfoo.homeip.net myorigin = $myhostname mydestination = splitfoo.homeip.net, localhost, localhost.splitfoo.homeip.net home_mailbox = Maildir/ mail_spool_directory = /var/spool/mail/ relay_domains = $mydestination mynetworks = 192.168.1.0/24 smtpd_banner = $myhostname ESMTP $mail_name local_destination_concurrency_limit = 2 default_destination_concurrency_limit = 10 debug_peer_level = 2 alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases virtual_mailbox_base=/ virtual_uid_maps=mysql:/etc/postfix/ids.cf virtual_gid_maps=mysql:/etc/postfix/gid.cf virtual_mailbox_maps=mysql:/etc/postfix/mysql_virt.cf local_transport = virtual # cat > mysql_virt.cf << "EOF" #Usuario y password para acceder al servidor MySQL user=postfix password=postfix #Nombre de la Base de Datos y la tabla dbname=mail table=passwd #El campo que elegimos es maildir (lugar donde está el buzón), donde el id del usuario coincida con el destinatario del mensaje select_field=maildir where_field=id #El host que tiene el MySQL hosts=127.0.0.1 EOF # cat > gi.cf << "EOF" #Usuario y password para acceder al servidor MySQL user=postfix password=postfix #Nombre de la Base de Datos y la tabla dbname=mail table=passwd #El campo que elegimos es maildir (lugar donde está el buzón), donde el id del usuario coincida con el destinatario del mensaje select_field=maildir where_field=id #El host que tiene el MySQL hosts=127.0.0.1 EOF La base de datos de mysql puede hacerse igual o con phpMyAdmin u otro conocido, por el momento lo haremos igual: #Nos conectamos como root en un principio(la contraseña por defecto está en blanco, por lo que bastaria con dar "enter") mysql -h localhost -u root -p #Creamos la BAse de Datos llamada mail mysql>create database mail; #Vemos si está creada: mysql>show databases; #Seleccionamos con la que vamos a trabajar: mysql>use mail; #Creamos la tabla en la que guardaremos la información de los usuarios virtuales: mysql>create table passwd( id char(128)DEFAULT '' NOT NULL, clear char(128)DEFAULT '' NOT NULL, name char(128)DEFAULT '' NOT NULL, uid int(10) unsigned NOT NULL, gid int(10) unsigned NOT NULL, home char(255)DEFAULT '' NOT NULL, maildir char(255)DEFAULT '' NOT NULL, KEY id (id(128)) ); #Vemos cómo ha quedado la tabla recién creada: mysql> describe passwd; +---------+------------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +---------+------------------+------+-----+---------+-------+ | id | char(128) | | MUL | | | | clear | char(128) | | | | | | name | char(128) | | | | | | uid | int(10) unsigned | | | | | | gid | int(10) unsigned | | | | | | home | char(255) | | | | | | maildir | char(255) | | | | | +---------+------------------+------+-----+---------+-------+ #Creamos un usuario postfix y le damos todos los permisos en esta tabla: mysql>GRANT ALL ON mail.passwd TO postfix@localhost IDENTIFIED BY "postfix"; #Dependiendo de la configuración, quizás haya que crear algún usuario del estilo postfix@HOSTNAME... para que postfix pueda acceder desde otras máquinas por ejemplo. #Creamos tres entradas de ejemplo: mysql>insert into passwd (id,clear,name,uid,gid,home,maildir) values("user1@splitfoo.homeip.net","user1pass","usuario1","1003","8","/","/var/spool/mail/user1/Maildir/"); mysql>insert into passwd (id,clear,name,uid,gid,home,maildir) values("user2@splitfoo.homeip.net.net","user2pass","usuario2","1002","8","/","/var/spool/mail/user2/Maildir/"); mysql>insert into passwd (id,clear,name,uid,gid,home,maildir) values("user3@splitfoo.homeip.net","user3pass","usuario3","1004","8","/","/var/spool/mail/user3/Maildir/"); #Vamos a hacer una select a ver qué es lo que tenemos mysql> select * from passwd; +--------------------------------+------------+--------------------+------+-----+------+-------------------------------------+ | id | clear | name | uid | gid | home | maildir | +--------------------------------+------------+--------------------+------+-----+------+-------------------------------------+ | user1@splitfoo.homeip.net | user1pass | usuario1 | 1002 | 8 | / | /var/spool/mail/user1/Maildir/ | | user2@splitfoo.homeip.net | user2pass | usuario2 | 1003 | 8 | / | /var/spool/mail/user2/Maildir/ | | user3@splitfoo.homeip.net | user3pass | usuario3 | 1004 | 8 | / | /var/spool/mail/user3/Maildir/ | +--------------------------------+------------+--------------------+------+-----+------+-------------------------------------+ mysql>quit ### NOTA: para cambiar la password root, basta con hacer lo siguiente: mysql> SET PASSWORD FOR root@localhost=password('nuevapass'); mysql> FLUSH PRIVILEGES; ### Ir a la carpeta /etc/authlib/ Con authdaemonrc no se hace nada por que ya esta configurado, pero chequear que 'authmysql' este incluido: authmodulelist="authuserdb authpam authpgsql authldap authmysql authcustom authpipe" Verificar que el fichero authmysqlrc tenga correcto los parametros: MYSQL_SERVER splitfoo.homeip.net MYSQL_USERNAME postfix MYSQL_PASSWORD postfix MYSQL_PORT 3306 MYSQL_OPT 0 MYSQL_DATABASE mail MYSQL_USER_TABLE passwd MYSQL_CLEAR_PWFIELD clear DEFAULT_DOMAIN spliTer.net MYSQL_UID_FIELD uid MYSQL_GID_FIELD gid MYSQL_LOGIN_FIELD id MYSQL_HOME_FIELD home MYSQL_NAME_FIELD name MYSQL_MAILDIR_FIELD maildir Chequear que /etc/courier/imapd cumpla con: IMAPDSTART=YES De aqui solo hay que verificar si se envian los mensajes en /var/spool/mail --
Roberto José Blandino Cisneros Nicaragua, Nicaragua http://gnu-linux-opensource.blogspot.com/ http://softwarelibre.uni.edu.ni/ -- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org