Dequeue do qmail somente durante determinado período de tempo por dia

1

Estou usando o qmail para enviar um grande número de e-mails em nome de muitas pessoas. Varia entre 400k e 600k e-mails por trabalho.

Um script php enfileira todas as mensagens, o que leva algumas horas. As mensagens demoram cerca de 24 a 48 horas a serem removidas e enviadas.

O período de tempo não é um problema, mas eu não gosto que os e-mails sejam enviados em horários estranhos (como no meio da noite ou ao nascer do sol).

Existe uma maneira que eu posso dizer ao qmail para apenas remover as mensagens apenas durante um determinado intervalo de tempo?

Por exemplo, diga-lhe para esvaziar a fila apenas entre as 6 da manhã e as 8 da noite, depois deixe-a "dormir" depois das 20:00 até às 6:00 do dia seguinte para terminar a fila.

Usando o CentOS 6.6 Final

    
por chiliNUT 11.03.2015 / 19:14

1 resposta

2

O comando qmailctl pause irá pausar o qmail e qmailctl cont irá cancelar a pauta.

Se isso for demais, uma olhada na fonte mostra isso:

pause)
  echo "Pausing qmail-send"
  svc -p /service/qmail-send
  echo "Pausing qmail-smtpd"
  svc -p /service/qmail-smtpd
  ;;

Fazer svc -p /service/qmail-send deve impedir o envio do qmail e, em seguida, svc -c /etc/service/qmail-send para voltar ao normal. Você poderia usar um cron job para realizar essas ações nos momentos de sua escolha.

    
por 11.03.2015 / 19:21

Tags