E-mails PHP, Postfix e fila de mensagens

E-mails PHP, Postfix e fila de mensagens

Tenho executado uma plataforma web que precisa enviar uma quantidade considerável de e-mails diariamente. Na data de implementação, eu e meu parceiro decidimos configurar o Postfix no servidor e usar a classe Swift Mailer para enviar o email usando uma conexão SMTP para o servidor Postfix local.

Isso nos permitiu ter várias contas de e-mail, como [email protected], [email protected]e [email protected]poder enviar e-mails com elas assinadas corretamente com DKIM.

Minha pergunta é: não podemos configurar o PHP de alguma forma para evitar uma conexão SMTP local (que consome tempo dos recursos do servidor) e substituir por uma forma mais direta de entregar as mensagens a serem enviadas para a fila do Postfix?

Pelo que entendi, eu poderia usar mail()a função PHP ou até mesmo a classe do Swift Mailer Swift_SendmailTransporte entregar as mensagens diretamente na fila do Postfix. Mas se sim, como podemos garantir o DKIM? Será suficiente alterar o cabeçalho “FROM” para as contas de e-mail no servidor local?

Obrigado.

Responder1

Pelo que entendi, eu poderia usar a função PHP mail() ou até mesmo a classe Swift_SendmailTransport do Swift Mailer e entregar as mensagens diretamente na fila do Postfix.

Isso é verdade

Mas se sim, como podemos garantir o DKIM? Será suficiente alterar o cabeçalho “FROM” para as contas de e-mail no servidor local?

Você não especifica seu signatário DKIM, então presumo que você use OpenDKIM em sua configuração. OpenDKIM integra-se com postfix porinterface milter. Para assinar e-mail do comando mail() (sem ritual smtp), você precisa garantir que o soquete/porta OpenDKIM também esteja listado non_smptd_milters.

Responder2

Em primeiro lugar, desde que você tenha o OpenDKIM especificado em non_smptd_milters, bem como smptd_milters no main.cf do Postfix, os e-mails de saída enviados através do PHP mail() ainda devem ser assinados. Os cabeçalhos Recebidos não são assinados por padrão e nada mais deveria ter sido reescrito pela limpeza. Se você quiser um método alternativo, poderá assinar DKIM usando Amavis e content_filter, embora isso signifique ainda mais sessões SMTP.

Em segundo lugar, parece-me improvável que usar SMTP local em vez de colocar o e-mail na fila de maildrop seja uma sobrecarga de desempenho. Pode ser que você tenha um número limitado de daemons smtpd postfix, todos chamando o milter, mas mesmo sem isso, o e-mail ainda precisa passar pelo milter OpenDKIM antes de ser enviado. Sim, seus scripts PHP terminarão mais cedo, mas duvido que o e-mail seja entregue mais rápido. Talvez valha a pena relerhttp://www.postfix.org/QSHAPE_README.html

informação relacionada