e-mails PHP, Postfix e Message Queue

2

Estou executando 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] , [email protected] e poder enviar e-mails com elas corretamente assinadas com o DKIM.

A minha pergunta é, não podemos configurar o PHP de alguma forma para evitar uma conexão SMTP local (que leva tempo com recursos do servidor) e substituir por uma maneira mais direta de entregar as mensagens a serem enviadas para a fila do Postfix? / p>

Forme meu entendimento Eu poderia usar PHP mail() function ou mesmo a classe Swift_SendmailTransport do Swift Mailer e entregar as mensagens diretamente para a fila do Postfix. Mas se assim for, como podemos garantir DKIM? A mudança do cabeçalho "FROM" para as contas de e-mail no servidor local será suficiente?

Obrigado.

    
por TCB13 22.02.2015 / 03:38

2 respostas

3

Form my understanding I could use PHP mail() function or even Swift Mailer's Swift_SendmailTransport class and deliver the messages directly to Postfix queue.

Isso é verdade

But if so, how can we ensure DKIM? Will changing the "FROM" header to the email accounts on the local server be enough?

Você não especifica seu signatário DKIM, então eu suponho que você use o OpenDKIM na sua configuração. O OpenDKIM integra-se com o postfix pela interface milter . Para assinar email do comando mail () (sem ritual smtp), é necessário garantir que o soquete / porta do OpenDKIM também esteja listado como non_smptd_milters .

    
por 22.02.2015 / 04:32
2

Primeiramente, desde que você tenha o OpenDKIM especificado em non_smptd_milters, assim como o smptd_milters no Main.cf do Postfix, os emails 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, você pode assinar o DKIM usando o Amavis e o content_filter, embora isso signifique ainda mais sessões SMTP.

Em segundo lugar, parece improvável para mim que usar o SMTP local em vez de colocar o email na fila do maildrop seja uma sobrecarga de desempenho. Pode ser que você tenha um número limitado de daemons smtpd postfix que estão chamando o milter, mas mesmo sem isso o correio ainda tem que passar pelo módulo OpenDKIM antes de ser enviado. Sim, seus scripts PHP terminarão mais cedo, mas duvido que o email seja enviado mais rapidamente. Pode valer a pena reler o link

    
por 22.02.2015 / 10:29