[FUG-BR] Postfix: Manipular anexos grandes

Wanderson Tinti wanderson em bsd.com.br
Sábado Novembro 22 12:45:08 BRST 2008


2008/11/21 Giancarlo Rubio <gianrubio em gmail.com>:
> 2008/11/21 Daniel Nerd <nerdjgua em yahoo.com.br>:
>> Boa tarde pessoal
>>
>> Estou com Postfix + Amavisdnew + Clamav + SA + CourierImap e FreeBSD 7.0 aqui funcionando tudo certinho.
>>
>> Aqui na empresa os engenheiros precisam enviar projetos e/ou outros documentos grandes, que geralmente ultrapassam 100MB, para nossos clientes e parceiros. Por e-mail isso é impossível, já que limitei os anexos a 10MB.
>>
>> A solução atual: quando o usuário necessita, o mesmo abre uma requisição ao nosso setor pedindo para postar arquivos em nosso FTP que fica na Locaweb, onde tenho que gerar usuário e senha específico para o cliente e enviar um e-mail a ele indicando o link.
>> Por motivos de política interna de segurança, não deixamos nossos usuários acessarem FTP, nem tampouco enviar arquivos por conta própria.
>> A solução atual evidentemente é inconveniente para as duas partes.
>>
>> A solução que "penso" ser a ideal: o usuário envia o e-mail normalmente com o anexo de 100MB. O MTA não rejeita, ao invés disso, encaminha essa mensagem para um script tratar ela. O script separa o anexo da mensagem, criptografa ele, envia o mesmo para um servidor HTTP ou FTP, e na mensagem deixa apenas o link do anexo, com a devida senha que gerou automaticamente.
>>
>> Gostaria de saber se alguém usa alguma solução pronta pra isso ou sabe de algum projeto que já faça isso.
>>
>> Senão houver, estou motivado a fazê-lo, pois creio ser a melhor opção para controle+conveniência do usuário e dos administradores da empresa.
>>
> Não esqueça do OFF antes da postagem...
>
> Não sei se existe pronta mais na minha cabeça bolei algo assim.
>
> Usuário posta um email para ftp em dominio. Dentro do home deste usuário
> tem um .procmail que executa um shell para as tarefas.
> Separa o anexo do email
> Um script em expect + shell envia por ftp este anexo
> Posta o e-mail com o diretório ftp do arquivo. Esta parte de gerar
> senha vc teria que bolar algo
>
> Meu script em expect que envia arquivo por ftp
> #
> #!/usr/local/bin/expect
> #
> # expectFtp.sh
>
> set COMMAND [lindex $argv 0]
> set SERVER [lindex $argv 1]
> set USER [lindex $argv 2]
> set PASSWORD [lindex $argv 3]
> set DIR [lindex $argv 4]
> set FILE [lindex $argv 5]
>
> spawn ftp $SERVER
> #Envia usuario
> expect "Name:\\s*"
> send "$USER\r"
> #Envia senha
> expect "Password:\\s*"
> send "$PASSWORD\r"
> #Transmissao binaria
> expect "ftp>"
> send "bin\r"
> expect "ftp>"
> send "prompt\r"
> expect "ftp>"
> send "cd $DIR\r"
> if { "$COMMAND" == "UPLOAD" } {
> send "send $FILE\r"}
> if { "$COMMAND" == "DOWNLOAD" } {
> send "mget $FILE\r"}
> expect "ftp>"
> send "bye\r"
> expect eof
>
> expectFtp.sh UPLOAD HOST USER PASS FOLDER FILE
>
>
> Eh por ai a solução...
>
>> Dêem suas sugestões, e caso alguém queira se juntar à minha idéia, seja bem-vindo.
>>
>> Obrigado
>> Daniel Faustino

Bom dia lista.
A ideia dos senhores é realmente interessante. Tenho um link em meu
favoritos que guardei a um bom tempo. Acredito que ira ajudar.

[link 1]
http://www.usenet-forums.com/alt-comp-mail-postfix/341798-extract-attachment-mail.html
[link 2]
http://linux.ittoolbox.com/groups/technical-functional/redhat-l/removing-email-attachment-through-the-help-of-procmail-a-perl-script-1543143
[link 3]
http://lists.freebsd.org/pipermail/freebsd-questions/2004-August/056067.html


Mais detalhes sobre a lista de discussão freebsd