Rastree los registros de correo electrónico con registros de postfix para mejorar la capacidad de entrega del correo electrónico

Rastree los registros de correo electrónico con registros de postfix para mejorar la capacidad de entrega del correo electrónico

Tengo una aplicación Rails ejecutándose, que envía correos electrónicos utilizando Postfix como retransmisión. aqui esta el flujo

Rails -> Resque Workers -> Postfix -> SES -> enviar correo electrónico a los clientes

Mi problema es que quiero encontrar la relación entre los registros de Rails y Postfix, para asegurarme de que ni un solo correo electrónico se pierda y se envíe correctamente al destinatario.

por ejemplo, si se muestran registros de Rails, el correo electrónico se envía a "[correo electrónico protegido]"entonces puedo verificar los registros a los que se envía el correo electrónico[correo electrónico protegido]y también quiero consultar el mismo correo electrónico en postfix. Por supuesto, tendrá una entrada allí, pero para ser precisos y precisos, ¿es necesario saber si ese correo electrónico específico se envió mediante postifx o no? como si un destinatario pudiera enviar 100 correos electrónicos a[correo electrónico protegido], o pueden ser 50, con diferentes intervalos de tiempo, entonces, ¿cómo puedo agregar una ETIQUETA especial, una ID o cualquier cosa en la aplicación Rails que pueda rastrear en los registros de Postifx?

Espero que el problema esté claro.

Gracias

Respuesta1

Si tu Rails usa SMTP para conexiones a Postfix, te interesa la 250respuesta:

250 2.0.0 Ok: queued as 41F1A40412

Si logra que Rails registre esta ID, es fácil encontrar en los registros de Postfix lo que le sucedió más tarde:

$ grep 41F1A40412 /var/log/mail.log

postfix/smtpd[1900]: 41F1A40412: client=localhost[127.0.0.1]
postfix/cleanup[1903]: 41F1A40412: message-id=<[email protected]>
postfix/qmgr[29213]: 41F1A40412: from=<[email protected]>, size=299, nrcpt=1 (queue active)
postfix/smtp[1904]: 41F1A40412: to=<[email protected]>, 
    relay=example.net[198.51.100.51]:25, delay=14, delays=13/0.07/0.26/0.71, dsn=2.0.0, 
    status=sent (250 2.0.0 OK 5D47140412)
postfix/qmgr[29213]: 41F1A40412: removed

Al menos el deliver.now!método muestra esta respuesta ya que fuerza el envío inmediato. Si esto no sucede con el delivermétodo normal, probablemente se deba a que SMTP, por diseño, no es ambiguo en cuanto a quién tiene la responsabilidad de entregar el mensaje: solo debe eliminarse de cualquier cola cuando el siguiente salto acepta la responsabilidad con la misma 250 Okrespuesta.

información relacionada