Implementando auto-resposta utilizando o Exim
Aprenda uma maneira simples de como utilizar o exim para automaticamente enviar uma resposta para cada e-mail recebido em sua caixa postal.
Implementando auto-resposta com Exim
Para implementar auto-resposta, localize a sessão TRANSPORTS
CONFIGURATION no arquivo de configuração do Exim, o
exim.conf, que se localiza na pasta etc:
#############################################
# TRANSPORTS CONFIGURATION #
#############################################
# ORDER DOES NOT MATTER #
# Only one appropriate transport is called for each delivery. #
#############################################
# insira as linhas abaixo
vacation_transport:
driver = autoreply
user = ${local_part}
file = ${home}/.vacation
once = ${home}/.vacation.once
log = ${home}/vacation.log
return_message = false
subject = "Aviso de ferias"
to = "${sender_address}"
once_repeat = 30m
# TRANSPORTS CONFIGURATION #
#############################################
# ORDER DOES NOT MATTER #
# Only one appropriate transport is called for each delivery. #
#############################################
# insira as linhas abaixo
vacation_transport:
driver = autoreply
user = ${local_part}
file = ${home}/.vacation
once = ${home}/.vacation.once
log = ${home}/vacation.log
return_message = false
subject = "Aviso de ferias"
to = "${sender_address}"
once_repeat = 30m
O que estamos fazendo aqui é criando um novo transporte chamado vacation_transport, mas poderia ser usado qualquer nome, como por exemplo "autoresposta".
Abaixo segue um breve comentário de cada propriedade.
- driver = autoreply: método que será utilizado neste transporte, neste caso autoreply.
- user = ${local_part}: nome do usuário que irá aparecer no email que será automaticamente enviado para o remetente.
- file = ${home}/.vacation: nome do arquivo localizado no diretório home do usuário que irá conter a mensagem que será enviada como resposta.
- once = ${home}/.vacation.once: nome do arquivo que irá armazenar os dados de pessoas na qual o Exim já enviou a auto-resposta, para que a mesma não seja enviada indefinidamente. Eu esqueci de colocar esta configuração e minha caixa postal foi inundada com mais de 200 emails de auto-resposta, então esta propriedade é importante que não se esqueça dela.
- log = ${home}/vacation.log: armazena os endereços de email de quem enviou mensagem para a caixa postal do usuário.
- return_message = false: envia uma cópia da mensagem recebida no corpo do email. Nesta caso a resposta é não.
- subject = "Aviso de ferias": assunto da mensagem de auto-resposta.
- to = "${sender_address}": especifica que você quer mandar a resposta para quem enviou a mensagem.
- once_repeat = 30m: de quanto em quanto tempo você quer que a auto-resposta seja enviada, se a mesma pessoa enviar um email antes de 30 minutos então a auto-resposta não será enviada novamente.
Em seguida localize a sessão DIRECTORS CONFIGURATIONno exim.conf:
#############################################
# DIRECTORS CONFIGURATION #
# Specifies how local addresses are handled #
#############################################
# ORDER DOES MATTER #
# A local address is passed to each in turn until it is accepted.#
#############################################
A ordem em que os "DIRECTORS" aparecem é muito importante, faça com que este seja o primeiro após o comentário.
vacation_user:
driver = localuser
transport = vacation_transport
user = ${local_part}
require_files = ${local_part}:${home}/.vacation
no_expn
no_verify
unseen
# DIRECTORS CONFIGURATION #
# Specifies how local addresses are handled #
#############################################
# ORDER DOES MATTER #
# A local address is passed to each in turn until it is accepted.#
#############################################
A ordem em que os "DIRECTORS" aparecem é muito importante, faça com que este seja o primeiro após o comentário.
vacation_user:
driver = localuser
transport = vacation_transport
user = ${local_part}
require_files = ${local_part}:${home}/.vacation
no_expn
no_verify
unseen
Abaixo segue um breve comentário de cada propriedade.
Utilizei essa configuração quando meu chefe saiu de férias e pediu para que eu de alguma maneira implementasse uma auto-resposta e foi esta a maneira que arrumei para resolver o problema.
Espero ter ajudado.
Boa sorte !!
- driver = localuser
- transport = vacation_user: o transporte que a mensagem utilizará.
- user = ${local_part}: nome do usuário
- require_files = ${local_part}:${home}/.vacation: para este "DIRECTOR" se ativar ele necessita do arquivo especificado que está localizado na pasta home do usuário.
- no_expn: significa que este "DIRECTOR" é pulado se o Exim estiver processando comandos expn
- no_verify: significa que este "DIRECTOR" é pulado se o Exim estiver verificando os endereços
- unseen: quando uma mensagem casa com a condição de um DIRECTOR, o exim não processa nenhum outro DIRECTOR subjacente. Com esta opção o exim processa esse DIRECTOR, mas ainda continua a procurar outros DIRECTORS que irão casar com suas respectivas condições. Por exemplo, a auto-resposta é enviada antes que a mensagem original do remetente seja entregue à caixa postal do destinatário. Se não tivéssemos unseen habilitado, a auto-resposta seria enviada e a entrega da mensagem abortada.
Utilizei essa configuração quando meu chefe saiu de férias e pediu para que eu de alguma maneira implementasse uma auto-resposta e foi esta a maneira que arrumei para resolver o problema.
Espero ter ajudado.
Boa sorte !!