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: