Postfix: ¿cómo volver a intentar la entrega de correo en la cola?

95

Tengo un servidor de correo de respaldo en caso de falla en el principal. En ese caso de falla, los correos llegan al servidor de respaldo y permanecen allí hasta que el principal vuelve.

Si espero algunas veces, la entrega se realizará automáticamente tan pronto como vuelva el servidor principal, pero puede ser largo. Entonces, ¿cómo forzar un reintento de envío de todos los correos?

Por ejemplo: postqueue -p: dame una lista de correos

Luego probé postqueue -f (de la página de manual: Vaciar la cola: intento de entregar todo el correo en cola). Seguramente enjuagó la cola, pero no se entregaron los correos ...

Nicolas
fuente
parece -f está al ras y -q es la cola (envía la cola)
erm3nda
1
no hay ninguna postqueue -q. Hay sendmail -qque admitir la sintaxis de sendmail para que postfix pueda reemplazar completamente a sendmail, pero ese es un sinónimo. Las diferentes letras son jsut porque postfix eligió diferentes que sendmail hizo.
Johannes H.
Lo siento de nuevo, comenta el mismo día :) así que ambos están equivocados.
erm3nda

Respuestas:

113

De acuerdo con postqueue (1) , simplemente puede ejecutar postqueue -fpara vaciar su cola de correo. Si los correos no se entregan después de vaciar la cola, sino que se solicitan en su lugar, es posible que desee verificar sus registros de correo en busca de errores.

Echar un vistazo a postsuper (1) también podría ser útil. Tal vez los mensajes están en espera y deben ser liberados primero.

joschi
fuente
36

postqueue -fDeberia trabajar. Si no es así, tiene una buena razón para eso. Revisa los registros. También pfqueue es un comando muy útil para inspeccionar el spool de correo.

Janne Pikkarainen
fuente
16

sendmail -q reintenta la entrega de todos los correos de la cola inmediatamente.

el wabbit
fuente
¿No es esto lo mismo que ejecutar postqueue -f?
Dalibor Filus
2
@NoICE lo es. De los documentos : -q Intento de entregar todo el correo en cola. Esto se implementa ejecutando el comando postqueue (1).
the-wabbit
No lo comprobé, pero parece que -f está al ras y -q es la cola. Uno intenta enviar y luego el otro simplemente limpia la cola. Es mejor intentar entregar, supongo.
erm3nda
1
@ erm3nda Deberías al menos revisar primero las páginas del manual. Desde la postqueuepágina de manual: "-f Vaciar la cola: intente entregar todo el correo en cola. Esta opción implementa el comando tradicional" sendmail -q ", contactando al demonio Postfix qmgr (8)". => son sinónimos y hacen exactamente lo mismo. "
Johannes H.
@JohannesH. Doh ... lo siento, tienes razón sobre que debería leerlo. Gracias por la corrección.
erm3nda
4

postqueue -s domain.tlddebería hacer que la máquina de retransmisión de respaldo vacíe todos los correos electrónicos de su sitio. La configuración predeterminada para postfix permite el vaciado por sitio para todos los dominios en relay_domains. postqueue -ftambién lo hará, pero también enviará correo para sitios externos, es decir, hace más de lo que necesita.

¿Cómo determina que no se ha entregado el correo? ¿Todavía están en el host de respaldo o han sido enviados al host principal y luego se perdieron?

araqnid
fuente