Como posso fazer com que o sendmail envie grandes quantidades de e-mail para um único destino smarthost em um único arquivo.

1

sendmail 8.14.x

Esta questão está de alguma forma relacionada com O sendmail envia tudo para downstream smarthost em "arquivo único"? , mas é separado para apresentar informações sobre um problema específico.

Eu tenho um ambiente de e-mail com a seguinte configuração:

Application Servers -> sendmail relay -> cloud email service -> internet

O serviço de nuvem downstream requer que os e-mails sejam enviados para eles em um único arquivo. Se ele vê várias conexões SMTP simultâneas do mesmo IP de origem pública, ele aceita uma e adia as outras com um erro de classe 400. Obviamente, isso limita severamente a taxa de transferência de saída e estamos trabalhando com o provedor de nuvem para tentar resolver isso. Enquanto isso, preciso encontrar uma maneira de mandar o sendmail enviar tudo em uma única conexão.

À primeira vista, achei que a opção confSINGLE_THREAD_DELIVERY poderia ser apropriada, mas ainda sinto que teria problemas se o executor da fila estivesse processando uma mensagem adiada ao mesmo tempo em que uma nova conexão de entrada deseja enviar algo imediatamente por. Ou pior - o gerenciador de filas está ocupado com uma fila grande e nunca deixa que novas mensagens sejam enviadas.

Eu sei que é um requisito bobo e, como mencionei, estamos trabalhando com o provedor de nuvem, mas, enquanto isso, existe uma configuração de sendmail que possa atender a esse requisito ao equilibrar a entrega de mensagens novas e enfileiradas?

    
por Mike B 21.07.2017 / 00:25

1 resposta

1

Você pode

  1. use relay mailer para entregas no host inteligente ( relay é usado por padrão)
  2. torne caro o relay mailer para evitar tentativas de entrega "ao mesmo tempo"
  3. faça o relay mailer usar o grupo de filas personalizadas com seu próprio período de execução de filas mais frequente
  4. se o trabalho acima funcionar, você pode considerar o uso de corredores de fila persistentes para tornar os atrasos de delinear ainda mais baixos

sendmail.mc

dnl Declare relay queue group with queue run period 10m
dnl Do not forget to create /var/spool/mqueue/relay directory 
QUEUE_GROUP('relay', 'P=/var/spool/mqueue/relay I=10m')
dnl OPTIONAL: define minimum time BETWEEN delivery attempt of any message
define('confMIN_QUEUE_AGE','25m')dnl

dnl  Make sendmail honor mailers' expensive flag
define('confCON_EXPENSIVE','True')dnl
dnl Add F=e "expensive" flag to relay mailer flags
define('RELAY_MAILER_FLAGS','e')dnl
dnl make relay mailer select custom queue group for relay mailer
define('RELAY_MAILER_QGRP','relay')dnl
    
por 27.07.2017 / 15:34

Tags