
He estado ejecutando una plataforma web que necesita enviar una cantidad considerable de correos electrónicos diariamente. En la fecha de implementación, mi socio y yo decidimos configurar Postfix en el servidor y usar la clase Swift Mailer para enviar el correo electrónico mediante una conexión SMTP al servidor Postfix local.
Esto nos permitió tener múltiples cuentas de correo electrónico, como [email protected]
, [email protected]
, [email protected]
y poder enviar correos electrónicos con ellas correctamente firmadas con DKIM.
Mi pregunta es, ¿no podemos configurar PHP de alguna manera para evitar una conexión SMTP local (que consume tiempo y recursos del servidor) y reemplazarla con una forma más directa de entregar los mensajes que se enviarán a la cola de Postfix?
Según tengo entendido, podría usar mail()
la función PHP o incluso la clase de Swift Mailer Swift_SendmailTransport
y entregar los mensajes directamente a la cola de Postfix. Pero si es así, ¿cómo podemos garantizar DKIM? ¿Será suficiente cambiar el encabezado "DE" a las cuentas de correo electrónico en el servidor local?
Gracias.
Respuesta1
Según tengo entendido, podría usar la función PHP mail() o incluso la clase Swift_SendmailTransport de Swift Mailer y entregar los mensajes directamente a la cola de Postfix.
Eso es cierto
Pero si es así, ¿cómo podemos garantizar DKIM? ¿Será suficiente cambiar el encabezado "DE" a las cuentas de correo electrónico en el servidor local?
No especifica su firmante DKIM, por lo que supongo que usa OpenDKIM en su configuración. OpenDKIM se integra con postfix medianteinterfaz milter. Para firmar el correo electrónico desde el comando mail() (sin ritual smtp), debe asegurarse de que el puerto/socket OpenDKIM también aparezca en la lista non_smptd_milters
.
Respuesta2
En primer lugar, siempre que tenga OpenDKIM especificado en non_smptd_milters así como smptd_milters en main.cf de Postfix, el correo saliente enviado a través de PHP mail() aún debe estar firmado. Los encabezados recibidos no están firmados de forma predeterminada y la limpieza no debería haber reescrito mucho más. Si desea un método alternativo, puede firmar DKIM usando Amavis y content_filter, aunque eso significa aún más sesiones SMTP.
En segundo lugar, me parece poco probable que utilizar SMTP local en lugar de colocar el correo en la cola de entrega de correo suponga una sobrecarga de rendimiento. Podría ser que tenga un número limitado de demonios smtpd postfix, todos los cuales están llamando al milter, pero incluso sin eso, el correo todavía tiene que pasar por el milter OpenDKIM antes de ser enviado. Sí, sus scripts PHP finalizarán antes, pero dudo que el correo electrónico se entregue más rápido. Puede que valga la pena volver a leerhttp://www.postfix.org/QSHAPE_README.html