fetchmail / postfix - mensagem devolvida se for muito grande

1

Eu tenho um servidor de e-mail Ubuntu que recupera e-mails do ISP pelo fetchmail e os entrega por meio do amavis e do postfix.

O postfix tem um limite de tamanho de cerca de 20MB. Mails maiores que isso são removidos do servidor, mas foram silenciosamente deletados até agora, porque o / etc / fetchmailrc não tinha definição para o postmaster e continha "set no bouncemail".

Gostaria de informar o remetente sobre o email rejeitado. Mas o comentário para "set no bouncemail" ("Evitar perdas em erros 4xx") me faz pensar que pode ser perigoso ou insensato alterá-lo para "set bouncemail". Como este comentário deve ser entendido?

Existe alguma maneira de personalizar essa mensagem de rejeição? Parece originar de "Mail" e contém algumas informações locais que parecem ser inúteis para o remetente da mensagem muito grande.

Pensando melhor, parece bobagem fazer o download de mensagens tão grandes, processá-las e depois rejeitá-las. O fetchmail tem uma opção para limitar o tamanho das mensagens a serem baixadas, mas não consigo descobrir como enviar uma mensagem de devolução nesse caso (e a mensagem permanece no servidor). Existe alguma maneira de fazer o truque?

    
por JeffRSon 16.08.2013 / 16:25

1 resposta

2

Não vejo nenhum problema para usar set bouncemail . De acordo com a página de manual:

set bouncemail     Direct error mail to the sender (default)

set no bouncemail  Direct error mail to the local postmaster
                   (as per the ’postmaster’ global option above). 

No meu comentário, "Avoid loss on 4xx errors." pode significar seguir:

Erros iniciados no número 4 são erros temporários. Erros 4xx não são erros fatais e significam "Eu tenho um pequeno problema no momento e não consigo processar sua mensagem, você deve tentar mais tarde". Exemplo desse erro seria 451 Temporary lookup failure . Nesse caso, o servidor do remetente (se configurado corretamente por RFC) tentará entregar a mensagem novamente mais tarde. Se no momento da próxima tentativa o problema no servidor de recepção for resolvido - a mensagem será entregue. Se o problema persistir - mais uma vez, ele fornecerá 451 Temporary lookup failure . Este cenário continuará até que a mensagem expire (que é uma configuração separada para o servidor de email).

Agora, como isso pode ser aplicado à nossa situação. Digamos que o servidor de alguém não esteja configurado corretamente e, portanto, recebendo o erro 4xx , ele não tentará mais tarde - ele apenas excluirá a mensagem. E ele envia e-mail enquanto você tem um problema de pesquisa temporário. Portanto, seu postfix retorna 451 error. O servidor do remetente recebe o erro 451 e interrompe qualquer outra tentativa de entrega (que é ERRADO). Neste ponto, você perdeu sua carta de e-mail porque tinha um problema temporário E por causa da configuração incorreta de outro servidor.

Portanto, o fetchmail está tentando evitar o problema não devolvendo o e-mail em caso de erros 4xx . Como já está baixado e já está no seu computador, faz algum sentido apenas manter a mensagem e não enviá-la de volta.

Basta ativar set bouncemail e não se preocupe com nada, pois a maioria dos servidores de e-mail possui a configuração adequada (por RFC) e tentará entregar as mensagens novamente. Você terá 1-5% chances de perder 1 e-mail em um tempo de um servidor de e-mail configurado incorretamente.

Sobre isso:

On further thinking it seems to be silly to download such large messages, process and then bounce them. fetchmail has an option to limit the size of messages to be downloaded, but I cannot figure out how to send a bounce message in this case (and the message stays on server). Is there any way to do the trick?

O fetchmail deve fazer o download da mensagem se você quiser que o postfix processe a mensagem. Se o fetchmail não fizer o download da mensagem, o postfix nunca o verá. Eu duvido que o fetchmail informe o remetente sobre isso. Se você quiser informar o remetente sobre isso - você tem que ter o fetchmail para baixar a mensagem e dar para o postfix.

Outra opção possível - o fetchmail faz o download de mensagens de algum lugar (IMAP / POP3). Se você tiver controle sobre essa conta POP3 - defina o limite e funcionará também.

    
por 16.08.2013 / 17:38