RE: Problema con Postfix sobre Mysql
- To: <debian-user-spanish@lists.debian.org>
- Subject: RE: Problema con Postfix sobre Mysql
- From: "Gorka" <gorkalinux@yahoo.es>
- Date: Thu, 5 Jul 2007 18:24:25 +0200
- Message-id: <019901c7bf20$f5cbc7a0$4100000a@sistemas.local>
- In-reply-to: <00cb01c7ba29$4bfd5eb0$4100000a@sistemas.local>
- References: <00cb01c7ba29$4bfd5eb0$4100000a@sistemas.local>
> -----Mensaje original-----
> De: Gorka [mailto:gorkalinux@yahoo.es]
> Enviado el: viernes, 29 de junio de 2007 10:42
> Para: debian-user-spanish@lists.debian.org
> Asunto: Problema con Postfix sobre Mysql
>
> Trataré de resumir el problema que aún nadie nos ha podido
> ayudar a resolver hasta el mismo punto de la instalación de
> Postfix con Mysql donde nos encontramos. Utilizamos Etch. Y,
> seas quien seas, gracias por intentarlo.
>
> RECEPCIÓN:
> ----------
> El problema es que nuestro servidor de correo tiene cuentas
> tipo nombre@dominio.local. El servidor se llama
> servidor.dominio.local, donde dominio.local es el dominio
> interno al que pertenece la máquina.
> Evidentemente dominio.local no es visible desde fuera de la
> LAN, pero yo confiaba en que al enviar un mail desde dentro
> de la LAN (o desde el propio
> servidor) lo encontrase. No es así.
> ¿Por qué no recibimos mensajes enviados desde dentro de la
> LAN, o incluso enviándolos desde el propio servidor? ¿Cómo
> podría hacer la prueba de recepción de correo?
>
>
> ENVÍO:
> ------
> # telnet localhost 25
> Trying 127.0.0.1...
> Connected to localhost.
> Escape character is '^]'.
> 220 maquina1.dominio.local ESMTP
> ehlo maquina1.dominio.local
> 250-maquina1.dominio.local
> 250-PIPELINING
> 250-SIZE 20971520
> 250-ETRN
> 250-STARTTLS
> 250-ENHANCEDSTATUSCODES
> 250-8BITMIME
> 250 DSN
> MAIL FROM:<user1@dominio.local>
> 250 2.1.0 Ok
> RCPT TO:<user2@dominio.local>
> 550 5.1.1 <user2@dominio.local>: Recipient address rejected:
> User unknown in local recipient table RCPT
> TO:<user1@dominio.local> 550
> 5.1.1 <user1@dominio.local>: Recipient address rejected:
> > User unknown
> in local recipient table RCPT TO:<usuarioyahoo@yahoo.es>
> > 250 2.1.5 Ok
> DATA
> 354 End data with <CR><LF>.<CR><LF>
> Subject: Correo de Prueba
> Cuerpo del mensaje
> .
> 250 2.0.0 Ok: queued as 13E3C6802E
> quit
> 221 2.0.0 Bye
> Connection closed by foreign host.
>
>
> Como podéis ver no me deja enviar correos a usuarios de mi
> propio servidor de correo local (que están dados de alta
> correctamente en mysql, ya que son usuarios virtuales), pero
> sí a cuentas de correo ajenas a mi máquina. ¿Cómo es esto posible?
>
> Igualmente, cuando trato de enviar desde root se queda en la
> cola de salida sólo cuando el destinatario es uno de mis
> usuarios virtuales:
>
>
> # echo Prueba | mail -s "Prueba de Envío" user2@dominio.local
> # mailq -Queue ID- --Size-- ----Arrival Time----
> -Sender/Recipient-------
> 0548068031* 332 Wed Jun 27 18:19:06 root@dominio.local
> user2@dominio.local
>
> Aquí están los logs. He de señalar que tras el envío con ECHO
> el mail se queda encolado, pero el envío con RCPT
> TO:<user1@dominio.local> ni siquiera llega tan lejos, como
> indica el log, ya que no me deja proseguir si trato de hacer
> el RCPT TO a uno de mis usuarios virtuales, que, por cierto,
> están correctamente escritos en mysql. Por cierto, mysql.log
> no me tira ninguna línea nueva en ambos casos, al parecer no
> registra actividad, por lo que sospecho que es un problema
> con el sufijo @dominio.local, pero no sé por dónde tirar.
> ¿Qué os parece?
>
>
> MAIL.LOG TRAS ECHO
> ------------------
> Jun 28 11:43:23 maquina1 postfix/virtual[2785]: fatal: bad
> string length 0 <
> 1: virtual_mailbox_base =
> Jun 28 11:43:24 maquina1 postfix/master[2556]: warning:
> process /usr/lib/postfix/virtual pid 2785 exit status 1 Jun
> 28 11:43:24 maquina1
> postfix/master[2556]: warning:
> /usr/lib/postfix/virtual: bad command startup -- throttling
> Jun 28 11:44:24
> maquina1 postfix/virtual[2790]: fatal: bad string length 0 <
> 1: virtual_mailbox_base =
> Jun 28 11:44:25 maquina1 postfix/master[2556]: warning:
> process /usr/lib/postfix/virtual pid 2790 exit status 1 Jun
> 28 11:44:25 maquina1
> postfix/master[2556]: warning:
> /usr/lib/postfix/virtual: bad command startup -- throttling
> Jun 28 11:45:25
> maquina1 postfix/virtual[2792]: fatal: bad string length 0 <
> 1: virtual_mailbox_base =
> Jun 28 11:45:26 maquina1 postfix/master[2556]: warning:
> process /usr/lib/postfix/virtual pid 2792 exit status 1 Jun
> 28 11:45:26 maquina1
> postfix/master[2556]: warning:
> /usr/lib/postfix/virtual: bad command startup -- throttling
> Jun 28 11:45:42
> maquina1 postfix/pickup[2562]: 7FB6568084: uid=0 from=<root>
> Jun 28 11:45:42
> maquina1 postfix/cleanup[2797]: 7FB6568084:
> message-id=<20070628094542.7FB6568084@maquina1.dominio.local>
> Jun 28 11:45:42 maquina1 postfix/qmgr[2563]: 7FB6568084:
> from=<root@dominio.local>, size=362, nrcpt=1 (queue active)
>
>
> MAIL.LOG TRAS TELNET
> --------------------
> Jun 28 12:16:57 maquina1 postfix/virtual[2871]: fatal: bad
> string length 0 <
> 1: virtual_mailbox_base =
> Jun 28 12:16:58 maquina1 postfix/master[2556]: warning:
> process /usr/lib/postfix/virtual pid 2871 exit status 1 Jun
> 28 12:16:58 maquina1
> postfix/master[2556]: warning:
> /usr/lib/postfix/virtual: bad command startup -- throttling
> Jun 28 12:17:00
> maquina1 postfix/smtpd[2873]: connect from localhost[127.0.0.1] Jun 28
> 12:17:58 maquina1 postfix/virtual[2879]: fatal: bad string length 0 <
> 1: virtual_mailbox_base =
> Jun 28 12:17:59 maquina1 postfix/master[2556]: warning:
> process /usr/lib/postfix/virtual pid 2879 exit status 1 Jun
> 28 12:17:59 maquina1
> postfix/master[2556]: warning:
> /usr/lib/postfix/virtual: bad command startup -- throttling
> Jun 28 12:18:44
> maquina1 postfix/smtpd[2873]: NOQUEUE: reject: RCPT from
> localhost[127.0.0.1]: 550 5.1.1 <user1@dominio.local>:
> Recipient address
> rejected: User unknown in local recipient table;
> from=<user1@dominio.local> to=<user1@dominio.local>
> proto=ESMTP helo=<maquina1.dominio.local> Jun 28
> 12:18:59 maquina1 postfix/virtual[2881]: fatal: bad string length 0 <
> 1: virtual_mailbox_base =
> Jun 28 12:19:00 maquina1 postfix/master[2556]: warning:
> process /usr/lib/postfix/virtual pid 2881 exit status 1 Jun
> 28 12:19:00 maquina1
> postfix/master[2556]: warning:
> /usr/lib/postfix/virtual: bad command startup -- throttling
> Jun 28 12:20:00
> maquina1 postfix/virtual[2889]: fatal: bad string length 0 <
> 1: virtual_mailbox_base =
> Jun 28 12:20:01 maquina1 postfix/master[2556]: warning:
> process /usr/lib/postfix/virtual pid 2889 exit status 1 Jun
> 28 12:20:01 maquina1
> postfix/master[2556]: warning:
> /usr/lib/postfix/virtual: bad command startup -- throttling
>
>
> POSTCONF -N
> -----------
> # postconf -n
> alias_database = hash:/etc/aliases
> alias_maps = hash:/etc/aliases
> append_dot_mydomain = no
> biff = no
> config_directory = /etc/postfix
> disable_dns_lookups = no
> disable_vrfy_command = yes
> home_mailbox = .Maildir/
> inet_interfaces = all
> inet_protocols = all
> local_transport = virtual
> mailbox_command =
> mailbox_size_limit = 0
> maximal_queue_lifetime = 14d
> message_size_limit = 20971520
> mydestination = $mydomain, $myhostname, localhost.$mydomain,
> localhost mydomain = dominio.local myhostname =
> maquina1.dominio.local mynetworks =
> 127.0.0.0/8 myorigin = $mydomain recipient_delimiter = +
> relayhost = smtp_tls_session_cache_database =
> btree:${queue_directory}/smtp_scache
> smtpd_banner = $myhostname ESMTP
> smtpd_helo_required = yes
> smtpd_tls_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem
> smtpd_tls_key_file = /etc/ssl/private/ssl-cert-snakeoil.key
> smtpd_tls_session_cache_database =
> btree:${queue_directory}/smtpd_scache
> smtpd_use_tls = yes
> strict_rfc821_envelopes = yes
>
Finalmente encontré la solución a mi problema.
Parece ser que tras reiniciar mysqld el enlace al socket de mysql no se
mantiene y he de volver a crearlo.
Una opción es hacer los siguiente cada /etc/init.d/mysql restart :
rm /var/spool/postfix/var/run/mysqld/mysqld.sock
ln /var/run/mysqld/mysqld.sock /var/spool/postfix/var/run/mysqld/mysqld.sock
La segunda opción sería meter estas dos líneas en el /etc/init.d/mysql
Reply to: