exim e limpar e-mails inválidos

3

Eu tenho uma fila de exim agora de mais de 1000 e-mails e quero executar a fila e excluir todos os e-mails que estão indo para e-mails inválidos (aqueles que não existem mais)

    
por John 22.01.2011 / 18:02

3 respostas

3

exiqgrep -i -f [luser]@domain | xargs exim -Mrm
    
por 27.01.2011 / 08:05
2

Se as mensagens estiverem na fila e congeladas, o abaixo DEVE funcionar - no entanto, eu não testei e não me responsabilizo se, em vez disso, se tornar consciente e comer seu servidor de e-mail

for i in 'mailq | grep "\*\*\* frozen \*\*\*" | cut -f 3 -d " "' ; do exim -Mrm $i ; done

Altere o padrão grep conforme necessário se você precisar acessar mensagens não congeladas (isso é mais fácil se você puder ter certeza de que pode colocar tudo na fila e não se esqueça de executar como usuário quem pode executar exim -Mrm e mailq utilmente - você pode precisar inserir sudo antes de mailq e exim -Mrm ...

Além disso, há quase certamente uma maneira mais limpa de fazer isso usando xargs em vez dos for embutidos e backticks. Espero que alguém esteja junto com isso: -)

    
por 22.01.2011 / 18:16
1

Verifique os arquivos em /var/spool/exim4/msglog dos endereços inválidos.

Você pode marcar um endereço como entregue com um comando como (use o endereço inválido)   cd /var/spool/exim4/msglog; for msg in $(grep -l address); do exim4 -Mmd $msg address .

Você pode limpar as mensagens com o comando cd /var/spool/exim4/msglog; exim4 -M * . Isso tentará entregar todas as mensagens na fila.

Você pode bloquear mensagens recebidas para endereços antigos usando um alias em /etc/aliases como:

address : :fail: No longer here

Veja man exim4 e man aliases para mais informações.

    
por 23.01.2011 / 00:18

Tags