[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: No me reparte el correo que bajo con fetchmail a los buzones correspondientes



On Mon, Mar 08, 2004 at 10:13:54AM -0000, Fernando García Cabrera wrote:
> Te cuento, pero advierto que es una larga historia.
Con slo responder a las lista, ok. Yo leo la lista cunado puedo, no
preciso copias a mi dirección.
> 
> Pues me tocó instalar un servidor Linux con Debian 3.0 r1 en el trabajo.
> Hasta ahí bien. Pues ya tengo instalado el dichoso servidor, pero tenemos
> problemas con el correo. Actualmente está corriendo con el kernel 2.4.18 con
> soporte para iptables y para la controladora aic7xxx de la unidad de cinta;
> el samba para hacer de PDC y compartir archivos; el dhcp3 para servir
> direcciones IP en la intranet; MySQL como gestor de la B.D. de la intranet y
> para almacenar los usuarios del correo (va a haber más usuarios para el
> correo que los creados para acceder a la máquina); servidor web Apache con
> soporte para PHP 4 también para la intranet. Pues una vez instalado todo eso
> empecé a configurar el correo, para ello instalé primero el Postfix que
> viene con la distribución, el 1.1.11-0 woody, y el postfix-mysql para el
> soporte mysql, el courier-imap 1.4.3, courier-authmysql 0.37.3. Ahora cuento
> la problemática que tengo con el correo:
> Tenemos un dominio, 'instituto-as.es', que nos provee un ISP, todo nuestro
> correo viene a través de una cuenta en el servidor del ISP, el usuario de
> esa cuenta es 'institut', por lo tanto el correo entrante hay que
> descargarlo de esa cuenta y repartirlo a los buzones correspondientes pienso
> que con fetchmail.Como ya conté, logré configurar el correo y éste funciona
pero fetchmail todo el correo que baja de esa cuenta lo mete en
"correo", no te va a "repartir" nada. Toda la configuración que tenés
armada está bien para manejar un server imap tuyo, pero vos no estás
recibiendo el mail directamente.
Lo que me parece que tenés que hacer es un .procmailrc en la cuenta
"correo" para que se gatille el procmail cada vez que entra un mail en
esa cuenta, y se haga la distribución entre los usuarios. Ahora ese
procmail va a tener que correr como root o como mail por lo menos.
Se entiende? 
> para el correo saliente y el correo local, pero cuando se trata de bajar los
> correos de la cuenta 'institut' para repartirlos es cuando comienza el
> problema. Para no complicarme más la vida de lo necesario, y ya la tengo
> bastante complicada, no he instalado aún el cifrado de contraseñas con la
> librería libsasl2, ni el amavis para la revisión del contenido del correo en
> busca de virus.
> Ya que tienes curiosidad, adjunto los ficheros de configuración a ver si tu
> ves algo que se me escapa, o bien, si tienes una sugerencia mejor para el
> correo entrante desde la cuenta 'institut' será muy bienvenida. Gracias.
> 
> CON RESPECTO AL POSTFIX:
> ----- MASTER.CF
> # ==========================================================================
> # service type private unpriv chroot wakeup maxproc command + args
> #   (yes) (yes) (yes) (never) (50)
> # ==========================================================================
> smtp   inet n - - - - smtpd
> #628   inet n - - - - qmqpd
> pickup   fifo n - - 60 1 pickup
> cleanup   unix n - - - 0 cleanup
> qmgr   fifo n - - 300 1 qmgr
> #qmgr   fifo n - - 300 1 nqmgr
> rewrite   unix - - - - - trivial-rewrite
> bounce   unix - - - - 0 bounce
> defer   unix - - - - 0 bounce
> flush   unix n - - 1000? 0 flush
> smtp   unix - - - - - smtp
> showq     unix n - - - - showq
> error     unix - - - - - error
> local   unix - n n - - local
> virtual   unix - n n - - virtual
> lmtp   unix - - n - - lmtp
> #
> # Interfaces to non-Postfix software. Be sure to examine the manual
> # pages of the non-Postfix software to find out what options it wants.
> # The Cyrus deliver program has changed incompatibly.
> #
> cyrus   unix - n n - - pipe
>   flags=R user=cyrus argv=/usr/sbin/cyrdeliver -e -m ${extension} ${user}
> uucp   unix - n n - - pipe
>   flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail
> ($recipient)
> ifmail    unix  -       n       n       -       -       pipe
>   flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
> bsmtp     unix  -       n       n       -       -       pipe
>   flags=Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -d -t$nexthop -f$sender
> $recipient
> scalemail-backend unix - n n - 2 pipe
>   flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store
> ${nexthop} ${user} ${extension}
> 
> # only used by postfix-tls
> #smtps   inet n - n - - smtpd -o smtpd_tls_wrappermode=yes -o
> smtpd_sasl_auth_enable=yes
> #587   inet n - n - - smtpd -o smtpd_enforce_tls=yes -o
> smtpd_sasl_auth_enable=yes
> 
> ----- MAIN.CF
> command_directory = /usr/sbin
> daemon_directory = /usr/lib/postfix
> program_directory = /usr/lib/postfix
> queue_directory = /var/spool/postfix
> mail_spool_directory = /home/mail
> mail_owner = postfix
> home_mailbox = Maildir/
> smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
> setgid_group = postdrop
> biff = no
> append_dot_mydomain = no
> myhostname = aslinux.instituto-as.es
> mydomain = instituto-as.es
> alias_maps = hash:/etc/aliases
> alias_database = hash:/etc/aliases
> myorigin = /etc/mailname
> mydestination = instituto-as.es, aslinux.aslinux, localhost.aslinux,
> localhost
> relay_domains = $mydestination
> relayhost = 212.64.160.11
> mynetworks = 127.0.0.0/8 192.168.0.0/16
> local_destination_concurrency_limit = 2
> default_destination_concurrency_limit = 10
> mailbox_command = procmail -a "$EXTENSION"
> mailbox_size_limit = 0
> recipient_delimiter =
> virtual_mailbox_base = /
> virtual_uid_maps=mysql:/etc/postfix/ids.cf
> virtual_gid_maps=mysql:/etc/postfix/gids.cf
> virtual_mailbox_maps=mysql:/etc/postfix/mysql_virt.cf
> local_transport = virtual
> 
> ----- IDS.CF
> user=postfix
> password=xxxx
> dbname=postfix
> table=users
> select_field=uid
> where_field=email
> hosts=localhost
> 
> ----- GIDS.CF
> user=postfix
> password=xxxx
> dbname=postfix
> table=users
> select_field=gid
> where_field=email
> hosts=localhost
> 
> ----- MYSQL_VIRT.CF
> user=postfix
> password=xxxx
> dbname=postfix
> table=users
> select_field=maildir
> where_field=email
> hosts=localhost
> 
> CON RESPECTO AL COURIER:
> ----- AUTHDAEMONRC
> authmodulelist="authmysql"
> authmodulelistorig="authcustom authcram authuserdb authldap authmysql
                                    trivial, pero acá no faltan unas " ^
> authpam"
> daemons=5
> version=""
> authdaemonvar=/var/run/courier/authdaemon
> 
> ----- AUTHMODULELIST
> authdaemon
> 
> ----- AUTHMYSQLRC
> MYSQL_SERVER  localhost
> MYSQL_USERNAME  postfix
> MYSQL_PASSWORD  xxxx
> MYSQL_PORT  3306
> MYSQL_OPT  0
> MYSQL_DATABASE  postfix
> MYSQL_USER_TABLE users
> #MYSQL_CRYPT_PWFIELD crypt
> MYSQL_CLEAR_PWFIELD password
> DEFAULT_DOMAIN  instituto-as.es
> MYSQL_UID_FIELD  uid
> MYSQL_GID_FIELD  gid
> MYSQL_LOGIN_FIELD email
> MYSQL_HOME_FIELD homedir
> MYSQL_NAME_FIELD name
> MYSQL_MAILDIR_FIELD maildir
> # MYSQL_QUOTA_FIELD quota
> 
> ----- IMAPD
> ADDRESS=0
> PORT=143
> MAXDAEMONS=40
> MAXPERIP=4
> PIDFILE=/var/run/courier/imapd.pid
> TCPDOPTS="-nodnslookup -noidentlookup"
> AUTHMODULES="authdaemon"
> AUTHMODULES_ORIG="authdaemon"
> IMAP_CAPABILITY="IMAP4rev1 CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT
> THREAD=REFERENCES SORT"
> IMAP_CAPABILITY_ORIG="IMAP4rev1 CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT
> THREAD=REFERENCES SORT AUTH=CRAM-MD5 AUTH=CRAM-SHA1 IDLE"
> IMAP_IDLE_TIMEOUT=60
> IMAP_CAPABILITY_TLS="$IMAP_CAPABILITY AUTH=PLAIN"
> IMAP_CAPABILITY_TLS_ORIG="$IMAP_CAPABILITY_ORIG AUTH=PLAIN"
> IMAP_DISABLETHREADSORT=0
> IMAP_CHECK_ALL_FOLDERS=0
> IMAP_OBSOLETE_CLIENT=0
> IMAP_ULIMITD=65536
> IMAP_USELOCKS=0
> IMAP_EMPTYTRASH=Trash:7
> IMAP_MOVE_EXPUNGE_TO_TRASH=0
> IMAPDSTART=YES
> 
> ------------------------------------
> EN EL ARCHIVO LOGIN.DEFS
> ------------------------------------
> QMAIL_DIR      Maildir/
> FAIL_DELAY  3
> FAILLOG_ENAB  yes
> LOG_UNKFAIL_ENAB no
> LOG_OK_LOGINS  no
> QUOTAS_ENAB  yes
> SYSLOG_SU_ENAB  yes
> SYSLOG_SG_ENAB  yes
> FTMP_FILE /var/log/btmp
> SU_NAME  su
> HUSHLOGIN_FILE .hushlogin
> NOLOGIN_STR NOLOGIN
> ENV_HZ  HZ=100
> ENV_SUPATH
> PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/bin/X11:/usr/local/sbin:/usr/local/b
> in
> ENV_PATH PATH=/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
> TTYGROUP tty
> TTYPERM  0600
> ERASECHAR 0177
> KILLCHAR 025
> UMASK  022
> PASS_MAX_DAYS 99999
> PASS_MIN_DAYS 0
> PASS_WARN_AGE 7
> UID_MIN    1000
> UID_MAX   60000
> GID_MIN     100
> GID_MAX   60000
> LOGIN_RETRIES  5
> LOGIN_TIMEOUT  60
> PASS_MAX_LEN  8
> CHFN_AUTH  yes
> CHFN_RESTRICT  rwh
> USERGROUPS_ENAB yes
> CLOSE_SESSIONS no
> 
> ----------------------------
> EN /ETC/INIT.D/MYSQL
> ----------------------------
>   'start')
>  # Start daemon
>  echo -n "Starting MySQL database server: mysqld"
>  /usr/bin/safe_mysqld > /dev/null 2>&1 &
>  for i in 1 2 3 4 5 6; do
>    if is_mysqld_alive; then break; fi
>           sleep 1
>         done
>  if is_mysqld_alive; then
> *          ln -f /var/run/mysqld/mysqld.sock
> /var/spool/postfix/var/run/mysqld/mysqld.sock
>           echo "."
>  else
>    echo "...failed."
>  fi
>  ;;
> 
>   'stop')
> Añadí la línea que tiene el asterisco porque en un manual de postfix dice
> que hay que hacerlo si postfix está corriendo en 'chroot'.
> 
> 
> ------------------------------
> /ETC/FETCHMAILRC
> ------------------------------
> set postmaster "fernandogc"
> set bouncemail
> set no spambounce
> set properties ""
> set daemon 30
> poll  212.64.160.11 with proto POP3 timeout 30
>        user 'institut' there with password 'xxxx'   is
> 'correo@instituto-as.es' here options keep
> 
> ------------------------------
> Y ESTRUCTURA DE LA B.D. MYSQL
> ------------------------------
> CREATE DATABASE postfix;
> USE postfix;
> CREATE TABLE users (
>   id int(11) NOT NULL auto_increment,
>   email varchar(255) NOT NULL default '',
>   name varchar(128) NOT NULL default '',
>   password varchar(255) default NULL,
>   uid smallint(5) unsigned default '1008',
>   gid smallint(5) unsigned default '1008',
>   homedir varchar(255) default NULL,
>   maildir varchar(255) default NULL,
>   quota varchar(255) default NULL,
>   PRIMARY KEY  (id)
> ) TYPE=MyISAM;
presumo que los permisos (GRANT SELECT ON postfix TO "postfix") se le han dado en
otra parte?
> INSERT INTO users VALUES (1,'fernangc@instituto-as.es','Fernando Garcia
> Virtual','xxxx',2001,8,'/','/home/mail/fernangc/Maildir/',NULL);
> INSERT INTO users VALUES (2,'fernandogc@instituto-as.es','Fernando Garcia
> Sistema','xxxx',2002,8,'/','/home/mail/fernandogc/Maildir/',NULL);
> INSERT INTO users VALUES (3,'jcarlostg@instituto-as.es','Juan Carlos
> Tacoronte Gonzalez','xxxx',2003,8,'/','/home/mail/jcarlostg/Maildir/',NULL);
> INSERT INTO users VALUES (4,'gilbertomr@instituto-as.es','Gilberto Marquina
> Reyes','xxxx',2004,8,'/','/home/mail/gilbertomr/Maildir/',NULL);
> INSERT INTO users VALUES (5,'correo@instituto-as.es','Usuario para bajar
> correo de idecnet','xxxx',1004,1008,'/','/home/mail/correo/Maildir/',NULL);
>
> 
> Bien, esto es todo creo. A todos los listeros pido perdón por haber sido tan
> extenso, pero pensé que era mejor enviar la mayor cantidad de información
> posible.
> Gracias.
> 
> 
> 

-- 

Fernando M. Maresca

Cel: (54) 221 15 502 3938
Cel: 0221-15-502-3938



Reply to: