Enviando e-mail em um horário específico

1

Gostaria de escrever e-mails agora e fazer com que eles saiam em algum momento específico no futuro, por exemplo. quando o escritório abre pela manhã.

Qual seria uma boa maneira de fazer isso?

A maioria dos agentes de usuário não suporta esse recurso. Isso faz sentido para mim, porque você provavelmente não pode esperar que eles corram o tempo todo.

Existe um recurso do lado do servidor para envio atrasado? Eu corro um servidor de email Postfix agora.

Qual é a maneira Unix de fazer isso?

(Eu sei que o KMail tem esse recurso, mas eu gostaria de evitar esse aplicativo em particular, porque ele arrasta uma enorme quantidade de infraestrutura.)

    
por Gene Vincent 07.09.2015 / 19:35

1 resposta

3

Se você estiver usando o postfix, existe um mecanismo explicado aqui , que eu não tentei.

Reconfigure o postfix copiando /etc/postfix/main.cf e adicionando linhas:

defer_transports = hold
default_transport = hold

Cuidado, você já pode ter um default_transport . Troque seu novo arquivo pelo real main.cf e reinicie o postfix e envie seus e-mails. Eles serão colocados na fila hold . Para liberar a fila, restaure o% realmain.cf, reinicie o postfix e force a fila a ser liberada com

sudo service postfix restart
sudo mailq -q

Em vez do acima, você pode manter mensagens com um determinado cabeçalho , por exemplo se seu programa de e-mail permitir que você adicione X- cabeçalhos de estilo ou se deseja corresponder em uma determinada string de cabeçalho Subject: junk of the day . Verifique se o seu postfix implementa o recurso regexp :

postconf -m|egrep 'regexp|pcre'

deve gerar pelo menos regexp. Crie o arquivo /etc/postfix/header_checks e coloque nele o regexp padrão do cabeçalho que você deseja corresponder, seguido por HOLD , por exemplo:

/Subject: *junk of the day/ HOLD

Adicione o nome desse arquivo de mapa a /etc/postfix/main.cf :

header_checks = regexp:/etc/postfix/header_checks

e reinicie o postfix. Envie um e-mail adequado e verifique com mailq que está na fila de espera (um ! é exibido ao lado do ID da fila. Para liberar e enviar todos os e-mails em espera:

sudo postsuper -H  ALL
sendmail -q
    
por 07.09.2015 / 20:39