SlideShare a Scribd company logo

Extendendo o Amavisd New

Apresentação feita no YAPC::Brasil 2009, falando sobre como é poderoso e simples extender as funcinalidades do Amavisd-New, utilizando a sua linguagem padrão de desenvolvimento: Perl.

1 of 16
Download to read offline
Extendendo
                              o Amavisd-New
                           YAPC::Brasil 2009, Rio de Janeiro, RJ




Friday, October 30, 2009
Quem?

                           Otávio Fernandes;

                           otaviof@gmail.com /
                           otavio.fernandes@locaweb.com.br

                           http://blog.emresumo.com

                           Líder, São Paulo Perl Mongers;



Friday, October 30, 2009
Minha História com Perl

                           Final de 2006;

                           Na época, as minhas principais linguagens
                           eram: C, C++ e Shell Script;

                           Estava construindo um appliance de Anti-
                           Spam... logo Amavisd-New;




Friday, October 30, 2009
Amavisd-New


                           A necessidade de entender como este
                           software funciona, foi o que me levou a
                           estudar e amar o Perl;

                           Perl, não existe melhor linguagem para o
                           tratamento de email;




Friday, October 30, 2009
O que ele é?

                           Interface entre o MTA e anti-spam/anti-
                           vírus;

                           Mail part decoder/unpacker;

                           Quarentenas (SQL/Local/Forward);

                           Log e Reporting para o SQL;



Friday, October 30, 2009
Quais as vantagens?
                           MUITAS features;

                           Extensível;

                           Respeita os padrões (SMTP, MIME, DSN, etc);

                           Tolerante a falhas:

                             Verifica o estado de cada operação;

                             Se houver erro, o email permanece com o
                             MTA;

Friday, October 30, 2009

Recommended

Estrutura de Dados - Aula 08
Estrutura de Dados - Aula 08Estrutura de Dados - Aula 08
Estrutura de Dados - Aula 08thomasdacosta
 
Estrutura de Dados - Aula 04
Estrutura de Dados - Aula 04Estrutura de Dados - Aula 04
Estrutura de Dados - Aula 04thomasdacosta
 
Estrutura de Dados - Aula 06
Estrutura de Dados - Aula 06Estrutura de Dados - Aula 06
Estrutura de Dados - Aula 06thomasdacosta
 
Fugindo para as colinas com Python - Julio Biason - Tchelinux Bento Gonçalves...
Fugindo para as colinas com Python - Julio Biason - Tchelinux Bento Gonçalves...Fugindo para as colinas com Python - Julio Biason - Tchelinux Bento Gonçalves...
Fugindo para as colinas com Python - Julio Biason - Tchelinux Bento Gonçalves...Tchelinux
 
Sistemas operacionais de rede exercicio de sala
Sistemas operacionais de rede exercicio de salaSistemas operacionais de rede exercicio de sala
Sistemas operacionais de rede exercicio de salaCarlos Melo
 

More Related Content

What's hot

Nada sobre JavaScript
Nada sobre JavaScriptNada sobre JavaScript
Nada sobre JavaScriptLuis Vendrame
 
Por que voce deveria documentar seu codigo?
Por que voce deveria documentar seu codigo?Por que voce deveria documentar seu codigo?
Por que voce deveria documentar seu codigo?Lennon Manchester
 
Curso java 05 - herança, classes e métodos abstratos
Curso java   05 - herança, classes e métodos abstratosCurso java   05 - herança, classes e métodos abstratos
Curso java 05 - herança, classes e métodos abstratosMaurício Linhares
 
4º Aula do Grupo de estudos sobre funções
4º Aula do Grupo de estudos sobre funções4º Aula do Grupo de estudos sobre funções
4º Aula do Grupo de estudos sobre funçõesFellyph Cintra
 
Sistemas operacionais de rede exercicio de sala-shellscript
Sistemas operacionais de rede exercicio de sala-shellscriptSistemas operacionais de rede exercicio de sala-shellscript
Sistemas operacionais de rede exercicio de sala-shellscriptCarlos Melo
 

What's hot (7)

Nada sobre JavaScript
Nada sobre JavaScriptNada sobre JavaScript
Nada sobre JavaScript
 
Por que voce deveria documentar seu codigo?
Por que voce deveria documentar seu codigo?Por que voce deveria documentar seu codigo?
Por que voce deveria documentar seu codigo?
 
Curso java 05 - herança, classes e métodos abstratos
Curso java   05 - herança, classes e métodos abstratosCurso java   05 - herança, classes e métodos abstratos
Curso java 05 - herança, classes e métodos abstratos
 
4º Aula do Grupo de estudos sobre funções
4º Aula do Grupo de estudos sobre funções4º Aula do Grupo de estudos sobre funções
4º Aula do Grupo de estudos sobre funções
 
Alta Concorrência com Postgres
Alta Concorrência com PostgresAlta Concorrência com Postgres
Alta Concorrência com Postgres
 
Sistemas operacionais de rede exercicio de sala-shellscript
Sistemas operacionais de rede exercicio de sala-shellscriptSistemas operacionais de rede exercicio de sala-shellscript
Sistemas operacionais de rede exercicio de sala-shellscript
 
SysAdmin para Devs - Siege
SysAdmin para Devs - SiegeSysAdmin para Devs - Siege
SysAdmin para Devs - Siege
 

Viewers also liked

Tuotan-Olen olemassa. Sisältöä sosiaaliseen mediaan
Tuotan-Olen olemassa. Sisältöä sosiaaliseen mediaanTuotan-Olen olemassa. Sisältöä sosiaaliseen mediaan
Tuotan-Olen olemassa. Sisältöä sosiaaliseen mediaanPasi Siltakorpi
 
Wellspiration 3: Burning Fat
Wellspiration 3: Burning FatWellspiration 3: Burning Fat
Wellspiration 3: Burning FatYafa Sakkejha
 
Blogging and How It Complements Your Marketing Strategy
Blogging and How It Complements Your Marketing StrategyBlogging and How It Complements Your Marketing Strategy
Blogging and How It Complements Your Marketing StrategyKayak Online Marketing
 
Infectious september
Infectious septemberInfectious september
Infectious septemberRubén López
 
Stuart Bruce - #smib10 Presentation
Stuart Bruce - #smib10 PresentationStuart Bruce - #smib10 Presentation
Stuart Bruce - #smib10 Presentationsmibevents
 
渋谷の端っこでBTSをさけぶ ~とある会社の開発環境~の紹介
渋谷の端っこでBTSをさけぶ ~とある会社の開発環境~の紹介渋谷の端っこでBTSをさけぶ ~とある会社の開発環境~の紹介
渋谷の端っこでBTSをさけぶ ~とある会社の開発環境~の紹介ikikko
 
Smoking Hypnosis - Say No To The Cancer Sticks
Smoking Hypnosis - Say No To The Cancer SticksSmoking Hypnosis - Say No To The Cancer Sticks
Smoking Hypnosis - Say No To The Cancer SticksBiotherapy-clinic Usa
 
Reinforcement 4
Reinforcement 4Reinforcement 4
Reinforcement 4Sonia
 
Reinforcement unit 8
Reinforcement unit 8Reinforcement unit 8
Reinforcement unit 8Sonia
 
ProMAMA - Gimnastica si Masaj pentru Gravide, mamici si bebelusi, Lamaze, Ala...
ProMAMA - Gimnastica si Masaj pentru Gravide, mamici si bebelusi, Lamaze, Ala...ProMAMA - Gimnastica si Masaj pentru Gravide, mamici si bebelusi, Lamaze, Ala...
ProMAMA - Gimnastica si Masaj pentru Gravide, mamici si bebelusi, Lamaze, Ala...soranam
 
Startup agile (Ciklum Agile Saturday - Dnipropetrovsk) - in russian
Startup agile (Ciklum Agile Saturday - Dnipropetrovsk) - in russianStartup agile (Ciklum Agile Saturday - Dnipropetrovsk) - in russian
Startup agile (Ciklum Agile Saturday - Dnipropetrovsk) - in russianYuriy Silvestrov
 
Technology Products as Timeshare VS Reading and Sports
Technology Products as Timeshare VS Reading and SportsTechnology Products as Timeshare VS Reading and Sports
Technology Products as Timeshare VS Reading and SportsBilal Ahmad
 

Viewers also liked (20)

Wordpress33 base
Wordpress33 base Wordpress33 base
Wordpress33 base
 
169266 employers guide_to_nys_labor_laws_2014 (1)
169266 employers guide_to_nys_labor_laws_2014 (1)169266 employers guide_to_nys_labor_laws_2014 (1)
169266 employers guide_to_nys_labor_laws_2014 (1)
 
Tuotan-Olen olemassa. Sisältöä sosiaaliseen mediaan
Tuotan-Olen olemassa. Sisältöä sosiaaliseen mediaanTuotan-Olen olemassa. Sisältöä sosiaaliseen mediaan
Tuotan-Olen olemassa. Sisältöä sosiaaliseen mediaan
 
Truvada kaletra o maraviroc PrEp
Truvada kaletra o maraviroc PrEpTruvada kaletra o maraviroc PrEp
Truvada kaletra o maraviroc PrEp
 
Wellspiration 3: Burning Fat
Wellspiration 3: Burning FatWellspiration 3: Burning Fat
Wellspiration 3: Burning Fat
 
Blogging and How It Complements Your Marketing Strategy
Blogging and How It Complements Your Marketing StrategyBlogging and How It Complements Your Marketing Strategy
Blogging and How It Complements Your Marketing Strategy
 
Infectious september
Infectious septemberInfectious september
Infectious september
 
Stuart Bruce - #smib10 Presentation
Stuart Bruce - #smib10 PresentationStuart Bruce - #smib10 Presentation
Stuart Bruce - #smib10 Presentation
 
渋谷の端っこでBTSをさけぶ ~とある会社の開発環境~の紹介
渋谷の端っこでBTSをさけぶ ~とある会社の開発環境~の紹介渋谷の端っこでBTSをさけぶ ~とある会社の開発環境~の紹介
渋谷の端っこでBTSをさけぶ ~とある会社の開発環境~の紹介
 
Smoking Hypnosis - Say No To The Cancer Sticks
Smoking Hypnosis - Say No To The Cancer SticksSmoking Hypnosis - Say No To The Cancer Sticks
Smoking Hypnosis - Say No To The Cancer Sticks
 
Reinforcement 4
Reinforcement 4Reinforcement 4
Reinforcement 4
 
Resursele Regenerabile (2)
Resursele Regenerabile  (2)Resursele Regenerabile  (2)
Resursele Regenerabile (2)
 
Android Internals
Android InternalsAndroid Internals
Android Internals
 
Jak na web ... node
Jak na web ... nodeJak na web ... node
Jak na web ... node
 
Reinforcement unit 8
Reinforcement unit 8Reinforcement unit 8
Reinforcement unit 8
 
Trends in human mobility
Trends in human mobility Trends in human mobility
Trends in human mobility
 
ProMAMA - Gimnastica si Masaj pentru Gravide, mamici si bebelusi, Lamaze, Ala...
ProMAMA - Gimnastica si Masaj pentru Gravide, mamici si bebelusi, Lamaze, Ala...ProMAMA - Gimnastica si Masaj pentru Gravide, mamici si bebelusi, Lamaze, Ala...
ProMAMA - Gimnastica si Masaj pentru Gravide, mamici si bebelusi, Lamaze, Ala...
 
Startup agile (Ciklum Agile Saturday - Dnipropetrovsk) - in russian
Startup agile (Ciklum Agile Saturday - Dnipropetrovsk) - in russianStartup agile (Ciklum Agile Saturday - Dnipropetrovsk) - in russian
Startup agile (Ciklum Agile Saturday - Dnipropetrovsk) - in russian
 
Technology Products as Timeshare VS Reading and Sports
Technology Products as Timeshare VS Reading and SportsTechnology Products as Timeshare VS Reading and Sports
Technology Products as Timeshare VS Reading and Sports
 
Oracle Warehouse Builder - JUGM 2010
Oracle Warehouse Builder - JUGM 2010Oracle Warehouse Builder - JUGM 2010
Oracle Warehouse Builder - JUGM 2010
 

Recently uploaded

ATIVIDADE 1 - PESQUISA OPERACIONAL - 512024.docx
ATIVIDADE 1 - PESQUISA OPERACIONAL - 512024.docxATIVIDADE 1 - PESQUISA OPERACIONAL - 512024.docx
ATIVIDADE 1 - PESQUISA OPERACIONAL - 512024.docx2m Assessoria
 
MAPA - RH - PLANEJAMENTO DE RECURSOS HUMANOS - 51-2024.docx
MAPA - RH - PLANEJAMENTO DE RECURSOS HUMANOS - 51-2024.docxMAPA - RH - PLANEJAMENTO DE RECURSOS HUMANOS - 51-2024.docx
MAPA - RH - PLANEJAMENTO DE RECURSOS HUMANOS - 51-2024.docxjosecarlos413721
 
MAPA - TEORIAS DA ADMINISTRAÇÃO - 512024.docx
MAPA - TEORIAS DA ADMINISTRAÇÃO - 512024.docxMAPA - TEORIAS DA ADMINISTRAÇÃO - 512024.docx
MAPA - TEORIAS DA ADMINISTRAÇÃO - 512024.docx2m Assessoria
 
MAPA - RH - TEORIAS DA ADMINISTRAÇÃO - 51-2024.docx
MAPA - RH - TEORIAS DA ADMINISTRAÇÃO - 51-2024.docxMAPA - RH - TEORIAS DA ADMINISTRAÇÃO - 51-2024.docx
MAPA - RH - TEORIAS DA ADMINISTRAÇÃO - 51-2024.docxjosecarlos413721
 
MAPA - ADSIS - FUNDAMENTOS E ARQUITETURA DE COMPUTADORES - 512024.docx
MAPA - ADSIS - FUNDAMENTOS E ARQUITETURA DE COMPUTADORES - 512024.docxMAPA - ADSIS - FUNDAMENTOS E ARQUITETURA DE COMPUTADORES - 512024.docx
MAPA - ADSIS - FUNDAMENTOS E ARQUITETURA DE COMPUTADORES - 512024.docxjosecarlos413721
 
Apresentação bichinhos da TI: o que é esse arquiteto de software
Apresentação bichinhos da TI: o que é esse arquiteto de softwareApresentação bichinhos da TI: o que é esse arquiteto de software
Apresentação bichinhos da TI: o que é esse arquiteto de softwareAleatório .
 
ATIVIDADE 1 - CCONT - ESTRUTURAS DAS DEMONSTRAÇÕES CONTÁBEIS - 512024.docx
ATIVIDADE 1 - CCONT - ESTRUTURAS DAS DEMONSTRAÇÕES CONTÁBEIS - 512024.docxATIVIDADE 1 - CCONT - ESTRUTURAS DAS DEMONSTRAÇÕES CONTÁBEIS - 512024.docx
ATIVIDADE 1 - CCONT - ESTRUTURAS DAS DEMONSTRAÇÕES CONTÁBEIS - 512024.docx2m Assessoria
 
MAPA - ESTATÍSTICA E PROBABILIDADE - 512024.docx
MAPA - ESTATÍSTICA E PROBABILIDADE - 512024.docxMAPA - ESTATÍSTICA E PROBABILIDADE - 512024.docx
MAPA - ESTATÍSTICA E PROBABILIDADE - 512024.docx2m Assessoria
 
MAPA - INTRODUÇÃO À ENGENHARIA - 51-2024.docx
MAPA - INTRODUÇÃO À ENGENHARIA - 51-2024.docxMAPA - INTRODUÇÃO À ENGENHARIA - 51-2024.docx
MAPA - INTRODUÇÃO À ENGENHARIA - 51-2024.docxjosecarlos413721
 
ATIVIDADE 1 - GFIN - FLUXO DE CAIXA E ADMINISTRAÇÃO DE CAPITAL DE GIRO - 5120...
ATIVIDADE 1 - GFIN - FLUXO DE CAIXA E ADMINISTRAÇÃO DE CAPITAL DE GIRO - 5120...ATIVIDADE 1 - GFIN - FLUXO DE CAIXA E ADMINISTRAÇÃO DE CAPITAL DE GIRO - 5120...
ATIVIDADE 1 - GFIN - FLUXO DE CAIXA E ADMINISTRAÇÃO DE CAPITAL DE GIRO - 5120...2m Assessoria
 
ATIVIDADE 1 - CCONT - ADMINISTRAÇÃO FINANCEIRA E ORÇAMENTÁRIA - 512024.docx
ATIVIDADE 1 - CCONT - ADMINISTRAÇÃO FINANCEIRA E ORÇAMENTÁRIA - 512024.docxATIVIDADE 1 - CCONT - ADMINISTRAÇÃO FINANCEIRA E ORÇAMENTÁRIA - 512024.docx
ATIVIDADE 1 - CCONT - ADMINISTRAÇÃO FINANCEIRA E ORÇAMENTÁRIA - 512024.docx2m Assessoria
 
ATIVIDADE 1 - TEORIA DAS ESTRUTURAS I - 512024.docx
ATIVIDADE 1 - TEORIA DAS ESTRUTURAS I - 512024.docxATIVIDADE 1 - TEORIA DAS ESTRUTURAS I - 512024.docx
ATIVIDADE 1 - TEORIA DAS ESTRUTURAS I - 512024.docx2m Assessoria
 
ATIVIDADE 1 - ADSIS - FUNDAMENTOS E ARQUITETURA DE COMPUTADORES - 512024.docx
ATIVIDADE 1 - ADSIS - FUNDAMENTOS E ARQUITETURA DE COMPUTADORES - 512024.docxATIVIDADE 1 - ADSIS - FUNDAMENTOS E ARQUITETURA DE COMPUTADORES - 512024.docx
ATIVIDADE 1 - ADSIS - FUNDAMENTOS E ARQUITETURA DE COMPUTADORES - 512024.docxjosecarlos413721
 
Serviços para fazer deploy do seu Frontend - react ceara 8 meetup 2024
Serviços para fazer deploy do seu Frontend - react ceara 8 meetup 2024Serviços para fazer deploy do seu Frontend - react ceara 8 meetup 2024
Serviços para fazer deploy do seu Frontend - react ceara 8 meetup 2024Ismael Ash
 
ATIVIDADE 1- TEORIAS DA ADMINISTRAÇÃO - 512024.docx
ATIVIDADE 1- TEORIAS DA ADMINISTRAÇÃO - 512024.docxATIVIDADE 1- TEORIAS DA ADMINISTRAÇÃO - 512024.docx
ATIVIDADE 1- TEORIAS DA ADMINISTRAÇÃO - 512024.docx2m Assessoria
 
ATIVIDADE 1 - CCONT - PERÍCIA, ARBITRAGEM E ATUÁRIA - 512024.docx
ATIVIDADE 1 - CCONT - PERÍCIA, ARBITRAGEM E ATUÁRIA - 512024.docxATIVIDADE 1 - CCONT - PERÍCIA, ARBITRAGEM E ATUÁRIA - 512024.docx
ATIVIDADE 1 - CCONT - PERÍCIA, ARBITRAGEM E ATUÁRIA - 512024.docx2m Assessoria
 
ATIVIDADE 1 - ADSIS - FUNDAMENTOS E ARQUITETURA DE COMPUTADORES - 512024.docx
ATIVIDADE 1 - ADSIS - FUNDAMENTOS E ARQUITETURA DE COMPUTADORES  - 512024.docxATIVIDADE 1 - ADSIS - FUNDAMENTOS E ARQUITETURA DE COMPUTADORES  - 512024.docx
ATIVIDADE 1 - ADSIS - FUNDAMENTOS E ARQUITETURA DE COMPUTADORES - 512024.docx2m Assessoria
 
ATIVIDADE 1 - RH - TEORIAS DA ADMINISTRAÇÃO - 51-2024.docx
ATIVIDADE 1 - RH - TEORIAS DA ADMINISTRAÇÃO - 51-2024.docxATIVIDADE 1 - RH - TEORIAS DA ADMINISTRAÇÃO - 51-2024.docx
ATIVIDADE 1 - RH - TEORIAS DA ADMINISTRAÇÃO - 51-2024.docxjosecarlos413721
 
MAPA - PROGRAMAÇÃO E CÁLCULO NUMÉRICO - 512024.docx
MAPA - PROGRAMAÇÃO E CÁLCULO NUMÉRICO - 512024.docxMAPA - PROGRAMAÇÃO E CÁLCULO NUMÉRICO - 512024.docx
MAPA - PROGRAMAÇÃO E CÁLCULO NUMÉRICO - 512024.docxjosecarlos413721
 
MAPA - TÓPICOS ESPECIAIS EM ENGENHARIA DE SOFTWARE I - 512024.docx
MAPA - TÓPICOS ESPECIAIS EM ENGENHARIA DE SOFTWARE I - 512024.docxMAPA - TÓPICOS ESPECIAIS EM ENGENHARIA DE SOFTWARE I - 512024.docx
MAPA - TÓPICOS ESPECIAIS EM ENGENHARIA DE SOFTWARE I - 512024.docxjosecarlos413721
 

Recently uploaded (20)

ATIVIDADE 1 - PESQUISA OPERACIONAL - 512024.docx
ATIVIDADE 1 - PESQUISA OPERACIONAL - 512024.docxATIVIDADE 1 - PESQUISA OPERACIONAL - 512024.docx
ATIVIDADE 1 - PESQUISA OPERACIONAL - 512024.docx
 
MAPA - RH - PLANEJAMENTO DE RECURSOS HUMANOS - 51-2024.docx
MAPA - RH - PLANEJAMENTO DE RECURSOS HUMANOS - 51-2024.docxMAPA - RH - PLANEJAMENTO DE RECURSOS HUMANOS - 51-2024.docx
MAPA - RH - PLANEJAMENTO DE RECURSOS HUMANOS - 51-2024.docx
 
MAPA - TEORIAS DA ADMINISTRAÇÃO - 512024.docx
MAPA - TEORIAS DA ADMINISTRAÇÃO - 512024.docxMAPA - TEORIAS DA ADMINISTRAÇÃO - 512024.docx
MAPA - TEORIAS DA ADMINISTRAÇÃO - 512024.docx
 
MAPA - RH - TEORIAS DA ADMINISTRAÇÃO - 51-2024.docx
MAPA - RH - TEORIAS DA ADMINISTRAÇÃO - 51-2024.docxMAPA - RH - TEORIAS DA ADMINISTRAÇÃO - 51-2024.docx
MAPA - RH - TEORIAS DA ADMINISTRAÇÃO - 51-2024.docx
 
MAPA - ADSIS - FUNDAMENTOS E ARQUITETURA DE COMPUTADORES - 512024.docx
MAPA - ADSIS - FUNDAMENTOS E ARQUITETURA DE COMPUTADORES - 512024.docxMAPA - ADSIS - FUNDAMENTOS E ARQUITETURA DE COMPUTADORES - 512024.docx
MAPA - ADSIS - FUNDAMENTOS E ARQUITETURA DE COMPUTADORES - 512024.docx
 
Apresentação bichinhos da TI: o que é esse arquiteto de software
Apresentação bichinhos da TI: o que é esse arquiteto de softwareApresentação bichinhos da TI: o que é esse arquiteto de software
Apresentação bichinhos da TI: o que é esse arquiteto de software
 
ATIVIDADE 1 - CCONT - ESTRUTURAS DAS DEMONSTRAÇÕES CONTÁBEIS - 512024.docx
ATIVIDADE 1 - CCONT - ESTRUTURAS DAS DEMONSTRAÇÕES CONTÁBEIS - 512024.docxATIVIDADE 1 - CCONT - ESTRUTURAS DAS DEMONSTRAÇÕES CONTÁBEIS - 512024.docx
ATIVIDADE 1 - CCONT - ESTRUTURAS DAS DEMONSTRAÇÕES CONTÁBEIS - 512024.docx
 
MAPA - ESTATÍSTICA E PROBABILIDADE - 512024.docx
MAPA - ESTATÍSTICA E PROBABILIDADE - 512024.docxMAPA - ESTATÍSTICA E PROBABILIDADE - 512024.docx
MAPA - ESTATÍSTICA E PROBABILIDADE - 512024.docx
 
MAPA - INTRODUÇÃO À ENGENHARIA - 51-2024.docx
MAPA - INTRODUÇÃO À ENGENHARIA - 51-2024.docxMAPA - INTRODUÇÃO À ENGENHARIA - 51-2024.docx
MAPA - INTRODUÇÃO À ENGENHARIA - 51-2024.docx
 
ATIVIDADE 1 - GFIN - FLUXO DE CAIXA E ADMINISTRAÇÃO DE CAPITAL DE GIRO - 5120...
ATIVIDADE 1 - GFIN - FLUXO DE CAIXA E ADMINISTRAÇÃO DE CAPITAL DE GIRO - 5120...ATIVIDADE 1 - GFIN - FLUXO DE CAIXA E ADMINISTRAÇÃO DE CAPITAL DE GIRO - 5120...
ATIVIDADE 1 - GFIN - FLUXO DE CAIXA E ADMINISTRAÇÃO DE CAPITAL DE GIRO - 5120...
 
ATIVIDADE 1 - CCONT - ADMINISTRAÇÃO FINANCEIRA E ORÇAMENTÁRIA - 512024.docx
ATIVIDADE 1 - CCONT - ADMINISTRAÇÃO FINANCEIRA E ORÇAMENTÁRIA - 512024.docxATIVIDADE 1 - CCONT - ADMINISTRAÇÃO FINANCEIRA E ORÇAMENTÁRIA - 512024.docx
ATIVIDADE 1 - CCONT - ADMINISTRAÇÃO FINANCEIRA E ORÇAMENTÁRIA - 512024.docx
 
ATIVIDADE 1 - TEORIA DAS ESTRUTURAS I - 512024.docx
ATIVIDADE 1 - TEORIA DAS ESTRUTURAS I - 512024.docxATIVIDADE 1 - TEORIA DAS ESTRUTURAS I - 512024.docx
ATIVIDADE 1 - TEORIA DAS ESTRUTURAS I - 512024.docx
 
ATIVIDADE 1 - ADSIS - FUNDAMENTOS E ARQUITETURA DE COMPUTADORES - 512024.docx
ATIVIDADE 1 - ADSIS - FUNDAMENTOS E ARQUITETURA DE COMPUTADORES - 512024.docxATIVIDADE 1 - ADSIS - FUNDAMENTOS E ARQUITETURA DE COMPUTADORES - 512024.docx
ATIVIDADE 1 - ADSIS - FUNDAMENTOS E ARQUITETURA DE COMPUTADORES - 512024.docx
 
Serviços para fazer deploy do seu Frontend - react ceara 8 meetup 2024
Serviços para fazer deploy do seu Frontend - react ceara 8 meetup 2024Serviços para fazer deploy do seu Frontend - react ceara 8 meetup 2024
Serviços para fazer deploy do seu Frontend - react ceara 8 meetup 2024
 
ATIVIDADE 1- TEORIAS DA ADMINISTRAÇÃO - 512024.docx
ATIVIDADE 1- TEORIAS DA ADMINISTRAÇÃO - 512024.docxATIVIDADE 1- TEORIAS DA ADMINISTRAÇÃO - 512024.docx
ATIVIDADE 1- TEORIAS DA ADMINISTRAÇÃO - 512024.docx
 
ATIVIDADE 1 - CCONT - PERÍCIA, ARBITRAGEM E ATUÁRIA - 512024.docx
ATIVIDADE 1 - CCONT - PERÍCIA, ARBITRAGEM E ATUÁRIA - 512024.docxATIVIDADE 1 - CCONT - PERÍCIA, ARBITRAGEM E ATUÁRIA - 512024.docx
ATIVIDADE 1 - CCONT - PERÍCIA, ARBITRAGEM E ATUÁRIA - 512024.docx
 
ATIVIDADE 1 - ADSIS - FUNDAMENTOS E ARQUITETURA DE COMPUTADORES - 512024.docx
ATIVIDADE 1 - ADSIS - FUNDAMENTOS E ARQUITETURA DE COMPUTADORES  - 512024.docxATIVIDADE 1 - ADSIS - FUNDAMENTOS E ARQUITETURA DE COMPUTADORES  - 512024.docx
ATIVIDADE 1 - ADSIS - FUNDAMENTOS E ARQUITETURA DE COMPUTADORES - 512024.docx
 
ATIVIDADE 1 - RH - TEORIAS DA ADMINISTRAÇÃO - 51-2024.docx
ATIVIDADE 1 - RH - TEORIAS DA ADMINISTRAÇÃO - 51-2024.docxATIVIDADE 1 - RH - TEORIAS DA ADMINISTRAÇÃO - 51-2024.docx
ATIVIDADE 1 - RH - TEORIAS DA ADMINISTRAÇÃO - 51-2024.docx
 
MAPA - PROGRAMAÇÃO E CÁLCULO NUMÉRICO - 512024.docx
MAPA - PROGRAMAÇÃO E CÁLCULO NUMÉRICO - 512024.docxMAPA - PROGRAMAÇÃO E CÁLCULO NUMÉRICO - 512024.docx
MAPA - PROGRAMAÇÃO E CÁLCULO NUMÉRICO - 512024.docx
 
MAPA - TÓPICOS ESPECIAIS EM ENGENHARIA DE SOFTWARE I - 512024.docx
MAPA - TÓPICOS ESPECIAIS EM ENGENHARIA DE SOFTWARE I - 512024.docxMAPA - TÓPICOS ESPECIAIS EM ENGENHARIA DE SOFTWARE I - 512024.docx
MAPA - TÓPICOS ESPECIAIS EM ENGENHARIA DE SOFTWARE I - 512024.docx
 

Extendendo o Amavisd New

  • 1. Extendendo o Amavisd-New YAPC::Brasil 2009, Rio de Janeiro, RJ Friday, October 30, 2009
  • 2. Quem? Otávio Fernandes; otaviof@gmail.com / otavio.fernandes@locaweb.com.br http://blog.emresumo.com Líder, São Paulo Perl Mongers; Friday, October 30, 2009
  • 3. Minha História com Perl Final de 2006; Na época, as minhas principais linguagens eram: C, C++ e Shell Script; Estava construindo um appliance de Anti- Spam... logo Amavisd-New; Friday, October 30, 2009
  • 4. Amavisd-New A necessidade de entender como este software funciona, foi o que me levou a estudar e amar o Perl; Perl, não existe melhor linguagem para o tratamento de email; Friday, October 30, 2009
  • 5. O que ele é? Interface entre o MTA e anti-spam/anti- vírus; Mail part decoder/unpacker; Quarentenas (SQL/Local/Forward); Log e Reporting para o SQL; Friday, October 30, 2009
  • 6. Quais as vantagens? MUITAS features; Extensível; Respeita os padrões (SMTP, MIME, DSN, etc); Tolerante a falhas: Verifica o estado de cada operação; Se houver erro, o email permanece com o MTA; Friday, October 30, 2009
  • 7. Performance Não é tão rápido quando se ele fosse escrito em C; Porem, permite escalar; Trabalha com daemons (conforme o setup, você usa mais instâncias); 200ms * N; Friday, October 30, 2009
  • 8. Performance Real: 1938 msgs/min Friday, October 30, 2009
  • 9. Arquitetura do Amavisd / Postfix Friday, October 30, 2009
  • 10. Afinal, como extender? Todos os arquivos de configuração são scripts Perl; include_config_files("/usr/local/etc/ amavis_custom.pm") if ( -e "/usr/local/ etc/.pm" ); package Amavis::Custom; Friday, October 30, 2009
  • 11. Métodos new; checks; before_send; after_send; mail_done; Friday, October 30, 2009
  • 13. if ($must_exec_action) { do_log( $cll, "CUSTOM: must_exec_action %d", $must_exec_action ); # redirecting to another recipient $r->recip_addr_modified( $mail_rules->{mailRedirectTo} ) if ( $mail_rules->{mailRedirectTo} ); # rejecting mail for sender if ( $mail_rules->{mailReject} =~ /(true|1)/i ) { do_log( $cll, "CUSTOM: reject this mail for '%s'", ( $mail_rules->{description} ) ? $mail_rules->{description} : 'no_description' ); for my $r ( @{ $msginfo->per_recip_data } ) { $r->add_contents_category( CC_BANNED, 0 ) if !$r->bypass_banned_checks; $r->banning_reason_short( ( $mail_rules->{description} ) ? $mail_rules->{description} : 'no_descption' ); $r->banned_parts( ['MAIL'] ); } $msginfo->add_contents_category( CC_BANNED, 0 ); } } Friday, October 30, 2009
  • 14. Testes? TDD; Unit Tests; Testes de Aceitação com Fixtures; Friday, October 30, 2009