Configurando um servidor de email com Postfix, MySQL, SASL, MailScanner e MailWatch no CentOS 4.2

Este artigo descreve bem detalhadamente a configuração de um servidor de email no CentOS. Precisei fazer isso e não obtive muita informação referente a uma instalação de um servidor de email mais robusto no CentOS, visto que é uma distribuição mais recente. Então depois de ralar bastante, segue minha contribuição ao pessoal do VOL e a alguém que venha precisar!

[ Hits: 140.650 ]

Por: Farley em 19/06/2007


Criando o banco do Postfix no MySQL



1. Criando o banco mail:

# mysqladmin -u root -p create mail

e entre com a senha do root do mysql - (suasenha)

2. Agora criaremos o usuário mail_admin, que será o usuário que administrará o banco mail. Execute as queries abaixo no prompt do MySQL ou no phpmyadmin.

PS: Caso use o phpmyadmin, não o utilize no konqueror, utilize outro navegador.

GRANT SELECT, INSERT, UPDATE, DELETE ON mail.* TO 'mail_admin'@'localhost' IDENTIFIED BY 'sua_senha';
GRANT SELECT, INSERT, UPDATE, DELETE ON mail.* TO 'mail_admin'@'localhost.localdomain' IDENTIFIED BY 'sua_senha';
FLUSH PRIVILEGES;

USE mail;

CREATE TABLE domains ( domain varchar(50) NOT NULL, PRIMARY KEY (domain) ) TYPE=MyISAM;

CREATE TABLE forwardings ( source varchar(80) NOT NULL, destination TEXT NOT NULL, PRIMARY KEY (source) ) TYPE=MyISAM;

CREATE TABLE users ( email varchar(80) NOT NULL, password varchar(20) NOT NULL, quota INT(10) DEFAULT '10485760', PRIMARY KEY (email) ) TYPE=MyISAM;

CREATE TABLE transport ( domain varchar(128) NOT NULL default '', transport varchar(128) NOT NULL default '', UNIQUE KEY domain (domain) ) TYPE=MyISAM;
Página anterior     Próxima página

Páginas do artigo
   1. Configurações iniciais
   2. Instalar MySQL
   3. Criando o banco do Postfix no MySQL
   4. Configurar Postfix para se conectar no MySQL
   5. Configurar SASLauthd
   6. Utilizando o Postfix
   7. Instalando MailScanner e SpamAssassin
   8. Instalando MailWatch
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Instalando o Nagios no Ubuntu Linux

Slackware Current redondo com XFCE

Minha experiência com o Fedora 15

Configurando VPN com o Hamachi entre Windows e Linux Debian

WPA + bcm43xx-fwcutter no Ubuntu Dapper 6.06

  
Comentários
[1] Comentário enviado por clezioazevedo em 31/07/2007 - 13:04h

Olá,

no arquivo filetype.rule.conf, na linha 25 e 26, nos seguintes itens:

chkconfig --levels 235 postfix off
chkconfig --levels 2345 MailScanner on

quando eu restarto no mail.log, dá uma menssagem de um possível erro na primeira palavra chave. O que pode ser? Qual a importância dessas linhas?

[2] Comentário enviado por farleypiva em 31/07/2007 - 13:43h

Ola Clezio.

Cara, essas linhas setam os serviços que vão ser inicializados com a maquina e suas prioridades.
No nosso exemplo, estamos desativando a inicialização do postfix e ativando a do MailScanner, porque ao inicializar o MailScanner, automaticamente ele inicializa o postfix.
Agora, sobre o seu erro; posta ele aki pra podermos entender melhor o erro.

[3] Comentário enviado por clezioazevedo em 01/08/2007 - 11:18h

Segue o erro:


Aug 1 11:15:15 server MailScanner[7045]: MailScanner E-Mail Virus Scanner version 4.41.3 starting...
Aug 1 11:15:15 server MailScanner[7045]: Possible syntax error in first keyword on line 25 of /etc/MailScanner/filetype.rules.conf
Aug 1 11:15:15 server MailScanner[7045]: Possible syntax error in first keyword on line 26 of /etc/MailScanner/filetype.rules.conf
Aug 1 11:15:15 server MailScanner[7045]: Read 120 hostnames from the phishing whitelist

vale salientar que as linhas 25 e 26 são as postadas no comentario anterior.

[4] Comentário enviado por farleypiva em 01/08/2007 - 17:45h

Mas ele faz referencia a linha 25 e 26 do arquivo /etc/MailScanner/filetype.rules.conf, porque neste arquivo não tem que ter estes comando não

[5] Comentário enviado por oliveirajh em 01/08/2007 - 20:55h

Olá Farley,

Como temos que criar o diretório para armazenar os emails? Quais devem ser as permissões, o usuário e grupo para os diretórios?

[6] Comentário enviado por farleypiva em 02/08/2007 - 09:04h

Ola oliveirajh!

Seguinte cara, assim que o endereço que voce criou receber um email, automaticamente o postfix cria o diretório em /home/vmail/dominio/usuario.
Mas só para constar, o usuario e o grupo são "vmail" e somente o dono tem permissoes que são rwx.

[7] Comentário enviado por oliveirajh em 02/08/2007 - 15:49h

Olá Farley,

As permissões do diretório, o usuário o grupo estão tudo OK. Crie o domínio na tabela domains e o usuário teste@domínio.com.br na tabela users. Quando envio um email recebo a mensagem no log: Recipient address rejected: Access denied; .... O que pode estar acontecendo?

[8] Comentário enviado por oliveirajh em 02/08/2007 - 17:38h

Olá Farley,

Achei o erro. O serviço saslauthd não estava ativado. Parabéns pelo tutorial!!!!

[9] Comentário enviado por farleypiva em 03/08/2007 - 17:26h

Beleza então. Qualquer duvida poste aqui e muito obrigado.

[10] Comentário enviado por oliveirajh em 07/08/2007 - 17:55h

Olá Farley,

Toda vez que tento enviar um email com relay autenticado recebo a seguinte mensagem no log:

Aug 7 17:52:02 monaco postfix/smtpd[17212]: warning: SASL authentication failure: cannot connect to Courier authdaemond: Connection refused

Aug 7 17:52:02 monaco postfix/smtpd[17212]: warning: SASL authentication failure: Password verification failed

Aug 7 17:52:02 monaco postfix/smtpd[17212]: warning: unknown[201.28.103.42]: SASL PLAIN authentication failed: generic failure

O que pode estar havendo?

[]'s

Júlio

[11] Comentário enviado por oliveirajh em 07/08/2007 - 18:13h

Olá Farley...

O problema acima foi resolvido... havia um erro de digitação no /usr/lib/sasl2/smtpd.

Agradeço pela anteção!

Júlio

[12] Comentário enviado por jgama em 10/08/2007 - 23:42h

Amigo Farley e compania.

Estou ou estava seguindo seu tuto mais parei quan a primeira copilação de erro
erro: Installed (but unpackaged) file(s) found:
/usr/lib/libltdl.a
/usr/lib/libltdl.la
/usr/lib/libltdl.so
/usr/lib/libltdl.so.3
/usr/lib/libltdl.so.3.1.0


Erros de criação do RPM:
Installed (but unpackaged) file(s) found:
/usr/lib/libltdl.a
/usr/lib/libltdl.la
/usr/lib/libltdl.so
/usr/lib/libltdl.so.3
/usr/lib/libltdl.so.3.1.0

Já a copilação do maildrop ocorreu sem problrema.

O que fazer para consegui copilar e criar o pacote rpm do courier-authlib-0.58-1

Abraço

[13] Comentário enviado por farleypiva em 12/08/2007 - 20:48h

Caro José Valdir,

Estranho este erro, pois o maildrop deveria não ter compilado também...
Verifica se todos os pacotes que a gente instala no inicio como o rpm-build, gcc, gcc-c++ estão instalados.
Outro detalhe... voce atualizou o seu CentOS?

[14] Comentário enviado por TrancëJay em 13/08/2007 - 16:01h

Grande Farley,

Tudo parece estar funcionando perfeitametne a excessão do Mailwatch:
nenhuma das mensagens processadas aparecem na interface web, sempre fica a mensagem "No rows retrieved". Creio eu que seja algum problema de permissão, só não tenho idéia de onde. Tem alguma sugestão?

[15] Comentário enviado por farleypiva em 13/08/2007 - 16:10h

Beleza Leonardo?!

Cara, dá uma revisada nas configurações do MailWatch...usuario, senha, permissões também, conforme descrito no artigo. Se mesmo assim não funcionar, posta aqui novamente. Valeu

[16] Comentário enviado por jgama em 19/08/2007 - 23:40h

Meu irmanzinho farley, ainda não fui feliz, atualizei o sistema e mesmo assim continua dando os erros na copilação do pacote courier-authlib-0.58-1

Tentei em outra máquina que também esta rodando o Centos 5.0 e o erro é o mesmo,

Fora os arquivos que vc indicou para instalar, será que tem mais alguns faltando?

Fico no aguardo amigão estou a fim de ir até o fim, pois preciso muito aprender colocar um servidor de e-mail para funcionar.

Abraço

[17] Comentário enviado por farleypiva em 21/08/2007 - 13:41h

Vamos lá então Jose Valdir

Eu instalei utilizando o Centos 4, e não atualizei os pacotes não. Com certeza está faltando
algum pacote com as libs pra voce conseguir compilar.
Tenta instalar o pacote libc6-dev ou task-kernel-compiling ou linux-kernel-compiling...veja se existem alguns desses pacotes. Testa e poste aqui por favor.

Um abraço

[18] Comentário enviado por celsopimentel em 23/08/2007 - 17:02h

Instalei o MailWath, a unica alteração que tive que fazer para funcionar, talvez alguem jah passou ou possa passar po isso:
Em Mailscanner.conf
Virus Scanners = auto alterei para
Virus Scanners = clamav

Talvez mais alguém use o clavav....vlw

E parabés pelo artigo!

[19] Comentário enviado por caiolira em 23/11/2007 - 11:27h

Oi Farley,

realizei os passos do tutorial mas não estou conseguindo logar no IMAP. Ao logar via telnet obtenho a seguinte mensagem:
. login email@dominio.com senha
* BYE Temporary problem, please try again later

Ao examinar o arquivo de log em /var/log/maillog encontro o seguinte:
Nov 23 10:29:47 mail imapd: Connection, ip=[::ffff:127.0.0.1]
Nov 23 10:30:00 mail imapd: LOGIN FAILED, user=email@dominio.com, ip=[::ffff:127.0.0.1]
Nov 23 10:30:00 mail imapd: authentication error: Input/output error

Se você puder me ajudar, ficarei bastante grato.

Atenciosamente,
Caio Lira.

[20] Comentário enviado por farleypiva em 23/11/2007 - 12:20h

Bom dia Caio.

Faça o teste do pop3 e smtp conforme o exemplo em
http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=6627&pagina=5
e me informe o que vc obteve.

[21] Comentário enviado por caiolira em 23/11/2007 - 13:28h

Farley,

consegui resolver. Quando havia colado um dos arquivos de configuração com o editor nano ele inseriu uma quebra de linha que estava causando o problema.

Agora estou com outro problema hehe. Já cadastrei no banco de dados usuario,dominio, transporte. Quando tento enviar uma mensagem encontro o seguinte erro no log:

Nov 23 11:48:36 mail postfix/trivial-rewrite[4698]: warning: do not list domain dominio.com in BOTH mydestination and virtual_mailbox_domains
Nov 23 11:48:36 mail postfix/smtpd[4696]: NOQUEUE: reject: RCPT from localhost.localdomain[127.0.0.1]: 554 <email@dominio.com: Recipient address
rejected: Access denied; from=<root@localhost.localdomain> to=<email@dominio.com> proto=ESMTP helo=<localhost.localdomain>
Nov 23 11:48:36 mail sendmail[4695]: lANEmapU004695: to=email@dominio.com, ctladdr=root (0/0), delay=00:00:00, xdelay=00:00:00, mailer=relay,
pri=30045, relay=[127.0.0.1] [127.0.0.1], dsn=5.0.0, stat=Service unavailable
Nov 23 11:48:36 mail sendmail[4695]: lANEmapU004695: lANEmapV004695: DSN: Service unavailable
Nov 23 11:48:36 mail postfix/smtpd[4696]: NOQUEUE: reject: RCPT from localhost.localdomain[127.0.0.1]: 554 <root@localhost.localdomain>: Recipient
address rejected: Access denied; from=<> to=<root@localhost.localdomain> proto=ESMTP helo=<localhost.localdomain>
Nov 23 11:48:36 mail sendmail[4695]: lANEmapV004695: to=root, delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=31069, relay=[127.0.0.1]
[127.0.0.1], dsn=5.0.0, stat=Service unavailable
Nov 23 11:48:36 mail sendmail[4695]: lANEmapV004695: lANEmapW004695: return to sender: Service unavailable
Nov 23 11:48:36 mail postfix/smtpd[4696]: NOQUEUE: reject: RCPT from localhost.localdomain[127.0.0.1]: 554 <postmaster@localhost.localdomain>:
Recipient address rejected: Access denied; from=<> to=<postmaster@localhost.localdomain> proto=ESMTP helo=<localhost.localdomain>
Nov 23 11:48:36 mail sendmail[4695]: lANEmapW004695: to=postmaster, delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=32093, relay=[127.0.0.1]
[127.0.0.1], dsn=5.0.0, stat=Service unavailable
Nov 23 11:48:36 mail sendmail[4695]: lANEmapV004695: Losing ./qflANEmapV004695: savemail panic
Nov 23 11:48:36 mail sendmail[4695]: lANEmapV004695: SYSERR(root): savemail: cannot save rejected email anywhere
Nov 23 11:48:36 mail postfix/smtpd[4696]: disconnect from localhost.localdomain[127.0.0.1]

Acredito que seja algo relativo a criacao de diretorios, pois nao vi o diretorio do usuario ser criado em /home/vmail.

Bastante grato pela atenção,
Caio Lira.

[22] Comentário enviado por farleypiva em 23/11/2007 - 14:20h

Beleza Caio.
Os diretorios são criados quando o usuario recebe o primeiro email.
Da uma olhada no arquivo /etc/postfix/main.cf nas linhas mydestination e virtual_mailbox_domains.
O meu está assim:
mydestination = $myhostname, localhost.$mydomain
virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual_domains.cf

Aguardo retorno.

[23] Comentário enviado por caiolira em 23/11/2007 - 17:00h

Farley,

o problema estava na linha
smtpd_recipient_restrictions = permit_sasl_authenticated, reject

Esta linha nao permitia que enviasse email através do terminal simplesmenta através do comando "mail". Agora já estou conseguindo utilizar o servidor com o roundcube e estou enviando e recebendo emails entre as contas criadas. Agora só falta conseguir enviar email para a internet, estou aqui pesquisando o que falta para em seguida apontar o DNS em definitivo para este servidor.

Bastante grato,
Caio Lira.

[24] Comentário enviado por farleypiva em 23/11/2007 - 18:01h

É isso aí cara!
Qualquer consideração que voce ache interessante, favor comentar aqui para enriquecermos mais o material.
Um abraço.

[25] Comentário enviado por TrancëJay em 07/12/2007 - 11:37h

Cara, todos os seus relatórios funcionam? pq aqui no meu quase nenhum funciona. Ou a tela fica branca ou aparece 'no rows retrieved'. Já mandei um monte de spam e virus pra testar, aparece normalmente na 'recent list' mas os relatórios não funcionam. Alguma dica?

[26] Comentário enviado por farleypiva em 07/12/2007 - 13:21h

Bom dia!
Voce ta falando do Mailwatch né?! Cara, tenta instalar o pacote php-jpgraph e depois tenta gerar os graficos novamente.
Aguardo retorno.

[27] Comentário enviado por TrancëJay em 07/12/2007 - 16:45h

Já tava instalado esse pacote, até removi e reinstalei mas não adiantou :(

Vou acabar formatando a máquina e reinstalando tudo. De qualquer forma vlw pela atenção

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

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

[29] Comentário enviado por chcdc em 22/12/2009 - 10:22h

Meus parabens pelo artigo


estou tendo uma certa dificuldade quando abro http://localhost/phpmyadmin/

aparece essa imagem

http://img685.imageshack.us/i/problemax.png/

Meu O.S eo centos 5.3


Sou iniciante em linux, se puder me ajudar agradeço

[]'S

Carlos /Aminduim

[30] Comentário enviado por farleypiva em 22/12/2009 - 10:32h

Aminduin, voce deve ter esquecido de instalar o php.
Confere aí.

[31] Comentário enviado por chcdc em 22/12/2009 - 10:41h

Sim o php esta instalado sim

Package php-5.1.6-23.2.el5_3.i386 already installed and latest version



[32] Comentário enviado por farleypiva em 22/12/2009 - 13:01h

Cara, então restarta seu apache
service httpd restart

Só para esclarecer, esta tela que foi exibida são as instruções php que não estão sendo interpretadas.

[33] Comentário enviado por chcdc em 22/12/2009 - 13:21h

Continua o mesmo problema

[34] Comentário enviado por farleypiva em 22/12/2009 - 13:25h

Faz o seguinte então:
Cria um arquivo teste.php com o conteudo:
<?
phpinfo();
?>

E acesse esse arquivo pelo navegador. Tem que aparecer um monte de informações referentes ao php. Se não aparecer é pq o php não está instalado corretamente.

[35] Comentário enviado por jgrudek em 29/01/2013 - 18:07h

boa tarde fiz todo o procedimento do Tutorial
porem na hora que envio e-mails para fora volta um e-mail
com o seguinte erro:
<joaogustavo@meuemail.com.br>: host meuemail.com.br[x.x.x.x] said: 550 SMTP
AUTH is required for message submission on port 587 (in reply to RCPT TO
command)

preciso de uma ajuda obrigado.


[36] Comentário enviado por Depeche2004 em 23/12/2016 - 13:41h

Olá Farley.

Não consegui dar prosseguimento no tutorial, pois os links e dependências estão desatualizados.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts