HOWTO: Postfix + MySQL + SMTP-AUTH + Quota + SpamAssassin + ClamAV

Este é um HOWTO para Debian Sarge 3.1. O instalei e deixei em produção em minha empresa, por isso aconselho: a maneira mais fácil de seguir este tutorial é usar um cliente SSH (como o PuTTY para Windows) e simplesmente copiar e colar os comandos, isto ajuda evitar erros tipográficos. Boa sorte!

[ Hits: 194.501 ]

Por: João Cláudio de Oliveira Gonçalves em 29/01/2007


Instalando o Amavisd-new, SpamAssassin e ClamAV



Tenha muito cuidado essa hora. Uma linha esquecida, uma alteração errada faz a solução não funcionar, e como serão muitas linhas a serem adicionadas, eu aconselho que você vá com calma.

Instale o amavisd-new, spamassassin and clamav:

# apt-get install amavisd-new spamassassin clamav clamav-daemon zoo unzip unarj bzip2

Responda as questões:

Virus database update method: <-- daemon
Local database mirror site: <-- db.br.clamav.net (Brazil)
HTTP proxy information (deixe em branco se você não utiliza um proxy, ou preencha as informações adequadas se você utilizar um): <-- (blank)
Should clamd be notified after updates? <-- Yes

Agora vamos editar o arquivo /etc/amavis/amavisd.conf. Esse arquivo é muito longo, aconselho que você faça um backup do mesmo, copie e cole essas configurações e altere somente a linha 112 desse arquivo.

A linha deve ter o seguinte conteúdo:

(@lookup_sql_dsn = ( ['DBI:mysql:database=mail;host=127.0.0.1;port=3306', 'mail_admin', 'mail_admin_password'] );

Onde mail_admin é o seu usuário administrador de email criado e e mail_admin_password é a senha do dito cujo.

A seguir as linhas do arquivo de configuração:

use strict;

$MYHOME = '/var/lib/amavis';   # (default is '/var/amavis')

$mydomain = 'localhost';

# $myhostname = 'host.example.com';  # fqdn of this host, default by uname(3)

$daemon_user  = 'amavis';        # (no default (undef))
$daemon_group = 'amavis';        # (no default (undef))

$TEMPBASE = $MYHOME;           # (must be set if other config vars use is)

$pid_file  = "/var/run/amavis/amavisd.pid";  # (default: "$MYHOME/amavisd.pid")
$lock_file = "/var/run/amavis/amavisd.lock"; # (default: "$MYHOME/amavisd.lock")

$ENV{TMPDIR} = $TEMPBASE;       # wise to set TMPDIR, but not obligatory

$max_servers  =  4;   # number of pre-forked children          (default 2)
$max_requests = 10;   # retire a child after that many accepts (default 10)

$child_timeout=5*60;  # abort child if it does not complete each task in n sec
                      # (default: 8*60 seconds)

# @bypass_virus_checks_acl = qw( . );  # uncomment to DISABLE anti-virus code
# @bypass_spam_checks_acl  = qw( . );  # uncomment to DISABLE anti-spam code

@local_domains_acl = ( ".$mydomain" );  # $mydomain and its subdomains

$relayhost_is_client = 0;         # (defaults to false)

$insert_received_line = 1;

$unix_socketname = undef;

$inet_socket_port = 10024;
$inet_socket_bind = '127.0.0.1';
@inet_acl = qw( 127.0.0.1 );

$DO_SYSLOG = 1;
$LOGFILE = "/var/log/amavis.log";  # (defaults to empty, no log)

#$log_level = 2;                # (defaults to 0)

$log_templ = '[? %#V |[? %#F |[?%#D|Not-Delivered|Passed]|BANNED name/type (%F)]|INFECTED (%V)], #
[?%o|(?)|<%o>] -> [<%R>|,][? %i ||, quarantine %i], Message-ID: %m, Hits: %c';

read_l10n_templates('en_US', '/etc/amavis');

$final_virus_destiny      = D_REJECT; # (defaults to D_BOUNCE)
$final_banned_destiny     = D_REJECT;  # (defaults to D_BOUNCE)
$final_spam_destiny       = D_PASS;  # (defaults to D_REJECT)
$final_bad_header_destiny = D_PASS;  # (defaults to D_PASS), D_BOUNCE suggested

$viruses_that_fake_sender_re = new_RE(
  qr'nimda|hybris|klez|bugbear|yaha|braid|sobig|fizzer|palyh|peido|holar'i,
  qr'tanatos|lentin|bridex|mimail|trojan\.dropper|dumaru|parite|spaces'i,
  qr'dloader|galil|gibe|swen|netwatch|bics|sbrowse|sober|rox|val(hal)?la'i,
  qr'frethem|sircam|be?agle|tanx|mydoom|novarg|shimg|netsky|somefool|moodown'i,
  qr'@mm|@MM',    # mass mailing viruses as labeled by f-prot and uvscan
  qr'Worm'i,      # worms as labeled by ClamAV, Kaspersky, etc
  [qr'^(EICAR|Joke\.|Junk\.)'i         => 0],
  [qr'^(WM97|OF97|W95/CIH-|JS/Fort)'i  => 0],
  [qr/.*/ => 1],  # true by default  (remove or comment-out if undesired)
);

$virus_admin = "postmaster\@$mydomain";                # due to D_DISCARD default

$mailfrom_to_quarantine = '';   # override sender address with null return path

$QUARANTINEDIR = '/var/lib/amavis/virusmails';

$virus_quarantine_to  = 'virus-quarantine';    # traditional local quarantine
$spam_quarantine_to = 'spam-quarantine';

$X_HEADER_TAG = 'X-Virus-Scanned';        # (default: undef)
$X_HEADER_LINE = "by $myversion (Debian) at $mydomain";

$undecipherable_subject_tag = '***UNCHECKED*** ';  # undef disables it

$remove_existing_x_scanned_headers = 0; # leave existing X-Virus-Scanned alone
#$remove_existing_x_scanned_headers= 1; # remove existing headers
                                        # (defaults to false)
#$remove_existing_spam_headers = 0;     # leave existing X-Spam* headers alone
$remove_existing_spam_headers  = 1;     # remove existing spam headers if
                                        # spam scanning is enabled (default)

$keep_decoded_original_re = new_RE(
# qr'^MAIL$',   # retain full original message for virus checking (can be slow)
  qr'^MAIL-UNDECIPHERABLE$',  # retain full mail if it contains undecipherables
  qr'^(ASCII(?! cpio)|text|uuencoded|xxencoded|binhex)'i,
# qr'^Zip archive data',
);

$banned_filename_re = new_RE(
#  qr'^UNDECIPHERABLE$',  # is or contains any undecipherable components
   qr'\.[^.]*\.(exe|vbs|pif|scr|bat|cmd|com|dll)$'i, # some double extensions
   qr'[{}]',     # curly braces in names (serve as Class ID extensions - CLSID)
#  qr'.\.(exe|vbs|pif|scr|bat|cmd|com)$'i,           # banned extension - basic
#  qr'.\.(ade|adp|bas|bat|chm|cmd|com|cpl|crt|exe|hlp|hta|inf|ins|isp|js|
#         jse|lnk|mdb|mde|msc|msi|msp|mst|pcd|pif|reg|scr|sct|shs|shb|vb|
#         vbe|vbs|wsc|wsf|wsh)$'ix,                  # banned extension - long
#  qr'.\.(mim|b64|bhx|hqx|xxe|uu|uue)$'i, # banned extension - WinZip vulnerab.
#  qr'^\.(zip|lha|tnef|cab)$'i,                      # banned file(1) types
#  qr'^\.exe$'i,                                     # banned file(1) types
#  qr'^application/x-msdownload$'i,                  # banned MIME types
#  qr'^application/x-msdos-program$'i,
   qr'^message/partial$'i,  # rfc2046. this one is deadly for Outcrook
#  qr'^message/external-body$'i, # block rfc2046
);

@lookup_sql_dsn =
   ( ['DBI:mysql:database=mail;host=127.0.0.1;port=3306', 'mail_admin', 'mail_admin_password'] );

$sql_select_policy = 'SELECT "Y" as local FROM domains WHERE CONCAT("@",domain) IN (%k)';

$sql_select_white_black_list = undef;  # undef disables SQL white/blacklisting

$recipient_delimiter = '+';                # (default is '+')

$replace_existing_extension = 1;        # (default is false)

$localpart_is_case_sensitive = 0;        # (default is false)

$blacklist_sender_re = new_RE(
    qr'^(bulkmail|offers|cheapbenefits|earnmoney|foryou|greatcasino)@'i,
    qr'^(investments|lose_weight_today|market\.alert|money2you|MyGreenCard)@'i,
    qr'^(new\.tld\.registry|opt-out|opt-in|optin|saveonl|smoking2002k)@'i,
    qr'^(specialoffer|specialoffers|stockalert|stopsnoring|wantsome)@'i,
    qr'^(workathome|yesitsfree|your_friend|greatoffers)@'i,
    qr'^(inkjetplanet|marketopt|MakeMoney)\d*@'i,
);

map { $whitelist_sender{lc($_)}=1 } (qw(
  nobody@cert.org
  owner-alert@iss.net
  slashdot@slashdot.org
  bugtraq@securityfocus.com
  NTBUGTRAQ@LISTSERV.NTBUGTRAQ.COM
  security-alerts@linuxsecurity.com
  amavis-user-admin@lists.sourceforge.net
  razor-users-admin@lists.sourceforge.net
  notification-return@lists.sophos.com
  mailman-announce-admin@python.org
  zope-announce-admin@zope.org
  owner-postfix-users@postfix.org
  owner-postfix-announce@postfix.org
  owner-sendmail-announce@lists.sendmail.org
  sendmail-announce-request@lists.sendmail.org
  ca+envelope@sendmail.org
  owner-technews@postel.ACM.ORG
  lvs-users-admin@LinuxVirtualServer.org
  ietf-123-owner@loki.ietf.org
  cvs-commits-list-admin@gnome.org
  rt-users-admin@lists.fsck.com
  owner-announce@mnogosearch.org
  owner-hackers@ntp.org
  owner-bugs@ntp.org
  clp-request@comp.nus.edu.sg
  surveys-errors@lists.nua.ie
  emailNews@genomeweb.com
  owner-textbreakingnews@CNNIMAIL12.CNN.COM
  yahoo-dev-null@yahoo-inc.com
));

$MAXLEVELS = 14;                # (default is undef, no limit)

$MAXFILES = 1500;                # (default is undef, no limit)

$MIN_EXPANSION_QUOTA =      100*1024;  # bytes  (default undef, not enforced)
$MAX_EXPANSION_QUOTA = 300*1024*1024;  # bytes  (default undef, not enforced)
$MIN_EXPANSION_FACTOR =   5;  # times original mail size  (must be specified)
$MAX_EXPANSION_FACTOR = 500;  # times original mail size  (must be specified)

$path = '/usr/local/sbin:/usr/local/bin:/usr/sbin:/sbin:/usr/bin:/bin';

$file   = 'file';   # file(1) utility; use 3.41 or later to avoid vulnerability

$gzip   = 'gzip';
$bzip2  = 'bzip2';
$lzop   = 'lzop';
$uncompress = ['uncompress', 'gzip -d', 'zcat'];
$unfreeze   = ['unfreeze', 'freeze -d', 'melt', 'fcat'];
$arc        = ['nomarch', 'arc'];
$unarj      = ['arj', 'unarj'];  # both can extract, arj is recommended
$unrar      = ['rar', 'unrar'];  # both can extract, same options
$zoo    = 'zoo';
$lha    = 'lha';
$cpio   = 'cpio';   # comment out if cpio does not support GNU options

$sa_local_tests_only = 0;   # (default: false)
#$sa_auto_whitelist = 1;    # turn on AWL (default: false)

# Timout for SpamAssassin. This is only used if spamassassin does NOT
# override it (which it often does if sa_local_tests_only is not true)
$sa_timeout = 30;           # timeout in seconds for a call to SpamAssassin
                            # (default is 30 seconds, undef disables it)

# AWL (auto whitelisting), requires spamassassin 2.44 or better
# $sa_auto_whitelist = 1;   # defaults to undef

$sa_mail_body_size_limit = 150*1024;

$sa_tag_level_deflt  = 3.0; # add spam info headers if at, or above that level
$sa_tag2_level_deflt = 4.0; # add 'spam detected' headers at that level
$sa_kill_level_deflt = $sa_tag2_level_deflt;

$sa_dsn_cutoff_level = 10;

$sa_spam_subject_tag = '***SPAM*** ';

$first_infected_stops_scan = 1;

@av_scanners = (

### http://www.clamav.net/
['Clam Antivirus-clamd',
  \&ask_daemon, ["CONTSCAN {}\n", "/var/run/clamav/clamd.ctl"],
  qr/\bOK$/, qr/\bFOUND$/,
  qr/^.*?: (?!Infected Archive)(.*) FOUND$/ ],
# NOTE: run clamd under the same user as amavisd;  match the socket
# name (LocalSocket) in clamav.conf to the socket name in this entry
# When running chrooted one may prefer: ["CONTSCAN {}\n","$MYHOME/clamd"],

);

@av_scanners_backup = (

  ### http://www.clamav.net/
  ['Clam Antivirus - clamscan', 'clamscan',
    "--stdout --no-summary -r --tempdir=$TEMPBASE {}", [0], [1],
    qr/^.*?: (?!Infected Archive)(.*) FOUND$/ ],

);

1;  # insure a defined return
Página anterior     Próxima página

Páginas do artigo
   1. Instalando o Debian Sarge 3.1
   2. Sobre a solução
   3. Instalando o Postfix, Courier, Saslauthd, MySQL, phpMyAdmin
   4. Criando uma base de dados MySQL
   5. Configurando o Postfix
   6. Configurando o Saslauthd
   7. Configurando o Courier
   8. Instalando o Amavisd-new, SpamAssassin e ClamAV
   9. (Continuação) Instalando o Amavisd-new, SpamAssassin e ClamAV
   10. Instalando Razor, Pyzor e DCC
   11. Configurando notificação de quotas
   12. Testes
Outros artigos deste autor

Instalando o Samba + LDAP no Debian

Backup em HDs da rede

Debate sobre o simulado do VOL

Básico do Apache no Debian

Leitura recomendada

Configurando o Korn

iRedMail como servidor de e-mails em servidor GNU/Linux ou BSD

Dividindo carga de saída de servidor SMTP (MTA Selor)

Abrindo arquivos TNEF

Gmail com POP e SMTP no Thunderbird

  
Comentários
[1] Comentário enviado por rrizato em 29/01/2007 - 10:44h

Bom artigo.

[2] Comentário enviado por aprendiz_ce em 29/01/2007 - 11:33h

Parabéns pelo seu artigo!

O mesmo já foi pra minha caixinha de favoritos e em breve vou colocá-lo em prática.


[3] Comentário enviado por eduveks em 29/01/2007 - 15:54h

EXCELENTE :D

Era exatamente isto que estava precisando!!!

Administro dois mails servers e sempre tive muitas dificuldades em configurar isto tudo, e nunca consegui fazer isto com sucesso...

Pelo que vi agora vai ficar fácil...

Muito obrigado, ótimo material, favoritos direto...

Sucesso, e mais uma vez obrigado por ter partilhado este conhecimento.

[4] Comentário enviado por slackrio em 29/01/2007 - 20:15h

Parabens!! Apesar de eu usar o Slackware, estou tambem trabalhando com Debian ate pq tenho clientes que utilizam esta Distro ..
gostei deste seu material mais uma coisa que reparei e que fica legal se instalar o postfixadmin para poder fazer a administracao do postfix fica legal
eu tenho um servidor com Qmail e ta completo agora que to caindo dentro do Postfix , irei usar este material como referencia ..


Parabens !!

[5] Comentário enviado por leonardobueno em 30/01/2007 - 12:19h

Esse tutorial esta muito boa....

Mas estou com um problema na seguinte etapa

# dpkg-buildpackage

aparece o seguinte erro

root@emailserver:/usr/src/postfix-2.1.5# dpkg-buildpackage
dpkg-buildpackage: source package is postfix
dpkg-buildpackage: source version is 2.1.5-9
dpkg-buildpackage: source changed by LaMont Jones <lamont@debian.org>
dpkg-buildpackage: host architecture i386
dpkg-buildpackage: source version without epoch 2.1.5-9
dpkg-checkbuilddeps: Unmet build dependencies: libmysqlclient10-dev
dpkg-buildpackage: Build dependencies/conflicts unsatisfied; aborting.
dpkg-buildpackage: (Use -d flag to override.)
root@emailserver:/usr/src/postfix-2.1.5#

Tentei usar o comando com o -d mas também da erro no final da compilação.

Alguem poderia me ajudar com esse erro.....

[6] Comentário enviado por leonardobueno em 30/01/2007 - 12:20h

Ao tentar baixar o pacote libmysqlclient10-dev da a seguinte mensagem.....

root@emailserver:/usr/src/postfix-2.1.5# apt-get install libmysqlclient10-dev
Lendo lista de pacotes... Pronto
Construindo árvore de dependências... Pronto
O pacote libmysqlclient10-dev não está disponível, mas é referenciado por outro pacote.
Isso pode significar que o pacote está faltando, ficou obsoleto ou
está disponível somente a partir de outra fonte
E: O pacote libmysqlclient10-dev não tem candidato para instalação
root@emailserver:/usr/src/postfix-2.1.5#


No aguardo de comentários...

Leonardo Bueno

[7] Comentário enviado por pabinho em 30/01/2007 - 15:02h

Parabéns pela iniciativa !!!

Eu segui outro tutorial, da Secforum, mas lá foi utilizado versão unstable, mas mesmo assim está rodando certinho.

Vou utilizar seu artigo e botar em prática também, pois pelo que vi, você está utilizando as configurações padrões e stable do debian.

Esse artigo é essencial pra quem quer utilizar o servidor de e-mail fora da empresa, e não precisar mexer com Relay no main.cf do postfix pra liberar IP geral.

Abraços e obrigado novamente :)

[8] Comentário enviado por leonardobueno em 30/01/2007 - 15:14h

Galera consegui encontrar um repositório com o pacote do libmysqlcliente10-dev....
Executei o comando novamente porem no final da compilação aparece o seguinte erro e não cria o novo pacote do postfix.

make[2]: Entrando no diretório `/usr/src/postfix-2.1.5/rmail'
make[2]: *** Sem regra para processar o alvo `Makefile.in', necessário por `Make
file'. Pare.
make[2]: Saindo do diretório `/usr/src/postfix-2.1.5/rmail'
make[1]: ** [clean] Erro 1
make[1]: Saindo do diretório `/usr/src/postfix-2.1.5'
make: ** [clean] Erro 2
root@emailserver:/usr/src/postfix-2.1.5#

No aguardo de comentários e possíveis soluções

(OBS: estou seguindo a risca os passos deste artigo)


Leonardo Bueno

[9] Comentário enviado por rickshinigami em 30/01/2007 - 20:20h

Parabens pelo artigo...
muito bem explicado...

[10] Comentário enviado por ltripoli em 01/02/2007 - 16:13h

Pessoal, comecei a ler este artigo e estou tentando seguir passo a passo, pois é, mas, não consegui passar dos pimeiros passos ....
Veja so o erro!
# apt-get source postfix
Reading Package Lists... Done
Building Dependency Tree... Done
E: You must put some 'source' URIs in your sources.list
Diz que não a source no sources.list !!!
Mas,
vi /etc/apt/sources.list
deb http://security.debian.org/ stable/updates main contrib
deb http://http.us.debian.org/debian stable main contrib non-free
deb http://non-us.debian.org/debian-non-US stable/non-US main contrib non-free

O que fazer agora ...
Abraços
Leonardo

[11] Comentário enviado por leonardobueno em 05/02/2007 - 16:07h

ltripoli,

Acrescenta esses repositórios em seu sources.list, que tu consegue baixar.

deb ftp://ftp.br.debian.org/debian/ stable main non-free contrib
deb-src ftp://ftp.br.debian.org/debian/ stable main non-free contrib

deb http://security.debian.org/ stable/updates main contrib non-free


Atenciosamente,

Leonardo Bueno

[12] Comentário enviado por vinicius777 em 21/02/2007 - 00:34h

Cara, meus parabens pelo artigo, so ficou faltando uma interface web administrativa, um postfixadmin no caso!
Mas seu artigo esta bem funcional !

[13] Comentário enviado por dcyrillo em 21/02/2007 - 08:48h

Olá João,

Segui este tutorial a risca, porém na hora de conectar ao servidor pelo outlook express dá erro de senha.

O que acontece é que eu acho que ele nao tá enxergando a tabela no banco de dados onde tem os usuarios e senha, e também eu vou no /home/vmail e nao tem nenhum arquivo criado lá. É preciso criá-lo manualmente?

Segue o erro no outlook express:
Ocorreu um erro durante a conexão ao servidor de mensagens. A senha foi recusada. Conta: 'cnetworks', Servidor: '192.168.100.202', Protocolo: POP3, Resposta do servidor: '-ERR Maildir: No such file or directory', Porta: 110, Segura (SSL): Não, Erro do servidor: 0x800CCC90, Nº do erro: 0x800CCC92

Se puder ajudar eu ficaria grato.
Abraço e parabéns.

[14] Comentário enviado por dannyeljc em 24/02/2007 - 19:31h

@dcyrillo
tive o mesmo problema q vc, -ERR Maildir: No such file or directory
qd vc cria uma nova conta de usuário, não existe ainda a pasta deste dentro de /home/vmail/seudominio
qd o usuário recebe uma primeira mensagem, dai sim ela é criada...
agora a questão é: como fazer para cria-la automaticamente??
alguém ai sabe??

[15] Comentário enviado por joao.claudio em 27/02/2007 - 16:11h

Galera voltei!!!

Tirei umas férias e estou aqui a partir de hoje para ajudar quem puder.
Vamos lá!!!


[16] Comentário enviado por rdsmsim em 28/02/2007 - 22:15h

Olá joao.claudio,
conheço a comunidade vivaolinux a muito tempo, porém não tenho tempo para contribuir .
Belo artigo mesmo sendo uma cópia traduzida do howtoforge(http://howtoforge.com/virtual_postfix_mysql_quota_courier) .
Algumas pessoas já viram e algumas ficaram com uma dúvida que acho relevante, como gravar quotas em MB GB, já que elas foram representadas em kB .
Explicando melhor, se eu fizer um front-end em php e for gravar a quota no banco, uma quota de 100 MB, seria 100*10485760, o php não gravaria ele colocaria algo 1048+6 .
Como fazer ?

[17] Comentário enviado por rdsmsim em 28/02/2007 - 22:27h

Caros companheiros dcyrillo e dannyeljc, sofrer faz parte do processo .
A solução dos seus problemas é simples, basta utilizar o maildirmake.courier .
Ex : Conta rdsmsim do dominio elmiguelito.com
maildirmake.courier /home/vmail/elmiguelito.com/rdsmsim/

vinicius777, estou terminando o desenvolvimento da interface, já fiz e está funcional os seguintes itens :
- Logon utilizando banco e verificando niveis de acesso .
Ex : Usuários que podem ter acesso total ou só incluir ou só consultar .

- Módulos de inclusão, consulta, edição e exclusão das contas de email.
- Módulo de segurança para evitar acessos indevidos .

Falta :
- Interface para adicionar os usuário do sistema .
- Interface para o cliente administrar as contas do seu dominio .

[18] Comentário enviado por rdsmsim em 28/02/2007 - 22:27h

Acho que o maildrop pode cria a estrutura de pastas necessária de forma auto .
Alguém tem alguma idéia de como fazer isso ?

[19] Comentário enviado por removido em 11/03/2007 - 23:25h

pelo visto vc visitou o howtoforge, hein.
seria interessante ao menos ter postado os créditos.
rolou aquela velha ripagem :)

assim como o rdsmsim, tbm já conhecia o htf.
valeu a intenção e a parte onde enche lingüiça falando da instalação e ssh.

[20] Comentário enviado por claytonbh em 15/03/2007 - 15:48h

Alguem conheçe uma interface web para gerenciar a quarentena do amavis?

[21] Comentário enviado por jacklenom em 29/03/2007 - 22:17h

Ajuda.

Na parte 4. Criando uma base de dados MySQL

Eu executo o comando: mysqladmin -u root password regina

Apresenta a mensagem:

Access denied for user 'root'@'localhost' (using password: NO)

Porém na instalalçao dos pacotes apresentou uma tela:

É altamente recomendado que você defina uma senha para o usuário administrativo "root" do MySQL. │

Caso você não forneça uma senha, nenhuma mudança será feita na conta.

Por favor, informe a senha para o usuário "root" do MySQL

Senha: regina

Se vocês perceberam usei a mesma senha e não funciona, o que devo fazer, já pesquisei e nada funcionou.

Aguém pode ajudar por favor?

Agradeço!

Rodrigo Lopes.

[22] Comentário enviado por nando.debian em 01/04/2007 - 20:22h

Parabéns pelo tutorial, infelizmente não consegui colocar meu servidor de e-mail para funcionar seguindo o passo a passo, estou tendo alguns problemas.

Ao tentar enviar um e-mail pela linha de comando:

zeus:/home/nando# echo seila |mail nando@mail.com

Apr 1 20:14:44 server postfix/pickup[18936]: 7469F22AF61: uid=0 from=<root>
Apr 1 20:14:44 server postfix/cleanup[19455]: 7469F22AF61: message-id=<20070401231444.7469F22AF61@mail.meudominio.com.br>
Apr 1 20:14:44 server postfix/qmgr[18937]: 7469F22AF61: from=<root@mail.meudominio.com..br>, size=314, nrcpt=1 (queue active)
Apr 1 20:14:44 server amavis[19258]: (19258-04) lookup_sql: 1146, Table 'mail.policy' doesn't exist
Apr 1 20:14:44 server amavis[19258]: (19258-04) TROUBLE in check_mail: creating_partsdir FAILED: DBD::mysql::st execute failed: Table 'mail.policy' doesn't exist at (eval 38) line 238, <GEN15> line 7.
Apr 1 20:14:44 server amavis[19258]: (19258-04) PRESERVING EVIDENCE in /var/lib/amavis/amavis-20070401T201444-19258
Apr 1 20:14:44 server postfix/smtp[19456]: 7469F22AF61: to=<nando@mail.com>, relay=127.0.0.1[127.0.0.1], delay=0, status=deferred (host 127.0.0.1[127.0.0.1] said: 451 4.5.0 Error in processing, id=19258-04, creating_partsdir FAILED: DBD::mysql::st execute failed: Table 'mail.policy' doesn't exist at (eval 38) line 238, <GEN15> line 7. (in reply to end of DATA command)

Ou seja, o erro é:

execute failed: Table 'mail.policy' doesn't exist at (eval 38) line 238

Fazendo os testes do inicio do tutorial obtive:

Porta 110

zeus:~# telnet localhost 110
Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is '^]'.
+OK Hello there.

Porta 25

zeus:~# telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is '^]'.
220 mail.meudominio.com.br ESMTP Postfix (Debian/GNU)
quit
221 Bye



[23] Comentário enviado por andrentfs em 05/05/2007 - 23:04h

Bem após muito sofrimento descidi disponibilizar no meu site um script para instalação deste servidor, faltam alguns ajustes, mais é coisa simples, só peço que ao concluir as configurações do script mandem os procedimentos feitos para o bom funcionamento do server, www.andreluiz.eti.br/index.php
desde já agradeço a todos.

Sejá forte use software livre.

[24] Comentário enviado por andrentfs em 05/05/2007 - 23:05h

Espero com este script ajudar muita gente, conto com a colaboração de todos, o meu msn é andre@andreluiz.eti.br, e andrentfs@hotmail.com, estou aguardando a ajuda de todos, muito obrigado.

Sejá forte, use Software livre.

[25] Comentário enviado por luisbertocco em 02/06/2007 - 20:49h

Boa Noite, achei muito bom esse artigo, vou começar a fazer segunda feira 04/06/2007, qualquer erro com certeza, irei postar.

[26] Comentário enviado por fchevitarese em 14/06/2007 - 10:33h

fiz tudo direitinho.. mas como nosso amigo dcyrillo falow... acontece a mesma coisa comigo... bom.. então fiz o que o rdsmsim postou e consegui então criar o maildir do meu novo usuario.. so que... não consigo ver email algum! até envia.. mais não chega para ninguem.. quanto tento enviar e-mails por exemplo para outro domino tipo @gmail.com ... ele da erro! o qe será que esta acontecendo?!

Abraços

Fred Chevitarese - GNU/Linux

[27] Comentário enviado por gzanatta00 em 24/06/2007 - 20:54h

amigo gostaria de saber o seguinte na configuracao do bind
eu tenho que colocar as configuracoes, ex:

pop3 IN A 200.180.23.3
smtp IN A 200.180.23.3
mail IN A 200.180.23.3
?
ou simplesmente deixar as ns1,ns2,www , etc etc

[28] Comentário enviado por gzanatta00 em 23/08/2007 - 12:55h

ferra nao estou conseguindo instalar o courier-authmysql, libsasl2 e o postfix-tls, eu meu source ta assim

deb ftp://ftp.br.debian.org/debian/ stable main non-free contrib
deb-src ftp://ftp.br.debian.org/debian/ stable main non-free contrib
deb http://security.debian.org/ stable/updates main contrib non-free
deb http://ftp.debian.org/debian testing main contrib non-free
deb http://security.debian.org/ testing/updates main contrib non-free
deb http://ftp2.de.debian.org/debian-volatile sarge/volatile main


q eu faco?

[29] Comentário enviado por gzanatta00 em 23/08/2007 - 13:42h

e o libmysqlclient10-dev tbem nao esta instalando

[30] Comentário enviado por gzanatta00 em 31/08/2007 - 10:27h

amigo consegui fazer todos os passos
mas deu um prbleminha
quando entro no outlook colo tudo certinho e ele nao autentica...fica so pedindo a senha
da instalei o squirrelmail e quando vai logar da uma mensagem assim
ERROR: Connection dropped by IMAP server.

alguem poderia me ajudar????

[31] Comentário enviado por ksouza86 em 26/09/2007 - 12:06h

caraca meu

o meu da pau no grub... dai pede pra remover... o recomendavel diz No... mas se do no.. ele da pau dinovo.. dai do yes... dai ele passsa mas fica tudo zuado o restante

alguem tem o debian 3.1 sarge do tuto ai pra me passar
aguardo

[32] Comentário enviado por tadeusal em 08/11/2007 - 11:20h

Amigo antes de tudo parabéns pelo desprendimento e atitude vencedora.
Olha só o erro que me ocorreu quando fui fazer o ultimo teste.

Ocorreu um erro durante a conexão ao servidor de mensagens. A senha foi recusada. Conta: '190.100.2.8', Servidor: '190.100.2.8', Protocolo: POP3, Resposta do servidor: '-ERR Login failed.', Porta: 110, Segura (SSL): Não, Erro do servidor: 0x800CCC90, Nº do erro: 0x800CCC92

[33] Comentário enviado por tadeusal em 08/11/2007 - 11:21h

?comentario=Amigo antes de tudo parabéns pelo desprendimento e atitude vencedora.
Olha só o erro que me ocorreu quando fui fazer o ultimo teste.

Ocorreu um erro durante a conexão ao servidor de mensagens. A senha foi recusada. Conta: '190.100.2.8', Servidor: '190.100.2.8', Protocolo: POP3, Resposta do servidor: '-ERR Login failed.', Porta: 110, Segura (SSL): Não, Erro do servidor: 0x800CCC90, Nº do erro: 0x800CCC92

[34] Comentário enviado por joao.claudio em 08/11/2007 - 13:31h

Camarada acho que o erro pode estr na Conta que você colocou o IP e não o endereço de e-mail.

Tenta isso depois me avisa.

[35] Comentário enviado por tadeusal em 08/11/2007 - 15:11h

?comentario= Desculpe nao entendi direito podes esclarecer???

[36] Comentário enviado por noiseand em 04/12/2007 - 14:43h

Näo teria que ser assim:

@lookup_sql_dsn = ( ['DBI:mysql:database=mail;host=127.0.0.1;port=3306', 'mail_admin', 'mail_admin_password'] );

Ao invés de assim:

(@lookup_sql_dsn = ( ['DBI:mysql:database=mail;host=127.0.0.1;port=3306', 'mail_admin', 'mail_admin_password'] );

[37] Comentário enviado por noiseand em 04/12/2007 - 15:31h

/usr/local/sbin/sa_rules_update.sh

-su: /usr/local/sbin/sa_rules_update.sh: No such file or directory

[38] Comentário enviado por noiseand em 05/12/2007 - 16:06h

http://workaround.org/articles/ispmail-sarge/

[39] Comentário enviado por fernandolira em 25/02/2008 - 09:54h

cara o meu servidor esta com os servicos funcionando mas na ora de conectar os clientes do outlock tempo de conexcao com o servidor ultrapassa os 60 seg e nao conseque conectar e nao to consequindo enviar e receber emails se auquem puder ajudar ficarei grato

[40] Comentário enviado por juno em 05/06/2008 - 15:28h

Cara Parabéns pelo artigo,
Implantei essa solução com o debian etch 4.0 r.3 e está tudo rodando belezinha, até o webmail do roundcube, mas as minhas dúvidas são:

1) Como bloquear extensões jpg, mpg, mpg*, avi, mov, pps, ppt ?

2) Como configurar o postfixadmin para trabalhar com essa configuração ?

Abraços,
Juno


[41] Comentário enviado por gabrielsimas em 23/07/2008 - 11:58h

Meus parabens pelo artigo.
Eu o implementei aqui em meu trabalho e está funcionando perfeitamente bem, e foi a mesma solução que o juno utilizou.
E está uma maravilha.

[42] Comentário enviado por gabrielsimas em 23/07/2008 - 12:00h

Juno,

Você pode dar uma olhada nos arquivos de configuração do amavis, há lá uma seção de bloqueios de anexos por extensão, e a maioria está como comentário.
caso você não visualize isso, você poder dar uma olhada na seção de documentations do amavis no site do mesmo. Te garanto que você vai encontrar fácil a resposta pra esta pergunta. Porém, eu notei que o seu problema é igual ao meu: tempo pra sentar e dar uma analisada no material.

Abraços pra você!

[43] Comentário enviado por thallesleonel em 21/08/2008 - 09:58h

Ola,
Quando um e-mail meu interno tenta enviar com virus, tá excluindo e mesmo.

Tem como configurar que o remetente interno receba uma mensagem avisando que o e-mail dele estava com virus?

Abraços,

Thalles

[44] Comentário enviado por nuvem_negra em 01/09/2008 - 11:37h

Artigo bem feito.

[45] Comentário enviado por ielsistemas em 25/11/2008 - 12:42h

olá amigo bom tutorial configurei o meu tbm. vc fez um teste simples e funcionou como eu posso ta configurando isso em um cliente outlook.. a ficha nao caiu :(

[46] Comentário enviado por irado em 03/02/2009 - 14:02h

bem, tô pesquisando feito doido mas ainda não encontrei resposta (nem mesmo no irc #postfix):

pretendo montar um cenário como no seu tutorial - postfix+mysql+etc, etc, dominios virtuais e tal. Mas, a pergunta que não quer calar:

é possivel manter-se nos bancos de dados o CORPO da mensagem e seus header's, para fins de fiscalização (posterior)??

o que encontrei mais próximo seria em main.cf um dos bcc, mas não é MESMO o que preciso :(

enfim: tem jeito? vc conhece algum link que eu possa perseguir?

grato

[47] Comentário enviado por infortecpfz em 17/09/2009 - 14:07h

Parabéns pelo Artigo!

Me esclareça uma dúvida por favor! Eu preciso configurar um grupo de e-mail para meu domínio,
semelhante aos grupos do Yahoo! e Google Grupos, para quando eu enviar um e-mail para
@meudominio.com.br todos que tiveram conta cadastrada neste domínio receba a mesma
mensagem, poderia me auxiliar no mesmo por favor? Muito obrigado :wq



Fernando Santorsula

[48] Comentário enviado por jardineti em 28/09/2009 - 10:37h

João vc já instalou no debian5?

[49] Comentário enviado por chcdc em 04/01/2010 - 13:06h

Preciso de uma foça.
quem puder me ajudar agradeço

o seguinte estou seguindo esse tutorial, mas esta dando o seguinte problema:

quando vou testar o postfix
aparece somente isso

telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
ehlo postfix.visolux.com.br
'^]

telnet> quit
Connection closed.

nao aparece mais nada.
quer puder me ajudar agradeço

[50] Comentário enviado por pardalz em 18/01/2010 - 17:17h

estou com dificuldades, o meu nao ta dando certo.. quando eu coloco pro evolution conectar, ele da mensagem de que usuario ta errado... =/
olha:
mailserver:/# telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 mailserver.no-ip.info ESMTP Postfix (Debian/GNU)
ehlo localhost
250-mailserver.no-ip.info
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-AUTH PLAIN LOGIN
250-AUTH=PLAIN LOGIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
quit
221 2.0.0 Bye
Connection closed by foreign host.
mailserver:/#

[51] Comentário enviado por pardalz em 19/01/2010 - 10:03h

Ocorreu um erro durante a conexão ao servidor de mensagens. A senha foi recusada. Conta: '55.1.1.204', Servidor: '55.1.1.204', Protocolo: POP3, Resposta do servidor: '-ERR Temporary problem, please try again later', Porta: 110, Segura (SSL): Não, Erro do servidor: 0x800CCC90, Nº do erro: 0x800CCC92

no outlook da esse erro.

[52] Comentário enviado por adilsoncavalheri em 15/02/2010 - 17:30h

Colegas da comunidade!

Segui a risca os passos informado neste how to porem nao consigo acertar na autenticacao ...

mando-lhes os logs e configuracoes:

Postfix

Feb 15 20:20:00 srv-mail pop3d: Connection, ip=[::ffff:10.0.0.3]
Feb 15 20:20:00 srv-mail pop3d: LOGIN FAILED, user=adilson@10.2.0.199, ip=[::ffff:10.0.0.3]
Feb 15 20:20:05 srv-mail pop3d: Disconnected, ip=[::ffff:10.0.0.3]

MYSQL

+--------------------+---------------+----------+
| email | password | quota |
+--------------------+---------------+----------+
| adilson@10.2.0.199 | x1XMhGxRBosQY | 10485760 |
+--------------------+---------------+----------+

TELNET

srv-mail:~# telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 srv-mail ESMTP Postfix

srv-mail:~# telnet localhost 110
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
+OK Hello there.





[53] Comentário enviado por lpossamai em 08/08/2011 - 09:44h

Bom dia.

Fiz o que está na parte de autenticação sasl, e me retorna o seguinte erro no maillog:

warning: SASL authentication problem: unable to open Berkeley db /etc/sasldb2: Bad file descriptor

Tenho postfix 2.3 + mysql

O que pode ser?
obrigado.
Lucas


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts