Postfix, agendar lotes de e-mail para serem enviados

1

É possível limitar o número de e-mails que envia de uma só vez e quando há mais de x email, enviá-los em lotes cronometrados (espere 5 minutos, envie outro 50, algo assim)?

Estou me deparando com um problema em que defini meu retransmissor SMTP como Google Apps, o que limita a quantidade de logins por hora, porque o Postfix tenta enviar todos os e-mails de uma só vez (uma fila pode estourar em 1.000 um tempo) ele atinge o tempo limite e apresenta este erro:

(delivery temporarily suspended: SASL authentication failed; server smtp.gmail.com[74.125.25.108] said: 454 4.7.0 Too many login attempts, please try again later. y2sm3513004pas.45 - gsmtp)

Eu então tenho que limpar manualmente a fila cerca de 15 vezes ao longo do dia para enviar todos os e-mails.

    
por Mattisdada 18.06.2014 / 06:09

1 resposta

3

Em meu comentário anterior, eu estava errado sobre o comportamento transport_destination_rate_delay .

You can set amount of delay that is inserted between individual deliveries to the same destination via transport_destination_rate_delay

O significado de "mesmo destino" aqui é

  • mesmo domínio / nexthop se transport_destination_rate_delay > 1
  • mesmo destinatário se transport_destination_rate_delay = 1

Veja este tópico e esta página de documentação .

No seu caso, você configurou o servidor GApps como relayhost . Isso significa que o postfix verá o relayhost como seu nexthop. Portanto, você pode aplicar default_destination_rate_delay para atrasar a tentativa de entrega para um GApps, embora tenha vários domínios para enviar.

Se você deseja enviar 50 emails por 5 minutos, configure o postfix para fornecer (5 * 60) / 50 = 6s atraso por entrega.

#main.cf
default_destination_rate_delay = 6s
    
por 21.03.2015 / 14:41