Postfix + Dovecot + MySQL + Squirrelmail no CentOS 5.5 32/64 bits

Abordarei neste artigo a instalação e configuração dos pacotes para o servidor de e-mails com: Postfix, Postfix admin, MySQL, Squirrelmail, Dovecot, SSL no CentOS 64 bits, porém funciona perfeitamente no de 32 bits também. Críticas construtivas, informações e dúvidas são sempre bem-vindas!

[ Hits: 166.918 ]

Por: Lucas Possamai em 12/12/2010


Instalando pacotes necessários e criando banco no MySQL



Primeiro de tudo, faça update do yum:

# yum update -y

Em seguida, vamos instalar os pacotes necessários para o perfeito funcionamento do servidor:

# yum install gcc joe tcpdump dovecot iptraf nmap openssl* mysql mysql-server httpd squirrelmail php* -y

Vamos agora instalar o Postfix com suporte a MySQL.

Edite o arquivo /etc/yum.repos.d/CentOS-Base.repo. Nele, nos campos BASE e UPDATES, inclua a seguinte linha:

exclude=postfix

Depois disto, no campo CENTOSPLUS inclua:

includepkgs=postfix-*

Salve o arquivo e execute:

# yum install postfix -y

Para conferir se o Postfix foi instalado com suporte a MySQL, execute o comando:

# postconf -m
btree
cidr
environ
hash
ldap
mysql
nis
pcre
pgsql
proxy
regexp
static
unix

O próximo passo é configurar a base no MySQL. Vamos setar uma senha para o usuário root:

# mysqladmin -u root -p password 'novasenha'

Em seguida, execute os passos na shell do MySQL:

mysql> CREATE DATABASE mail;
mysql> GRANT ALL PRIVILEGES ON mail.* TO 'mail'@'localhost' IDENTIFIED BY 'mail';
mysql> quit

    Próxima página

Páginas do artigo
   1. Instalando pacotes necessários e criando banco no MySQL
   2. Configurando Apache e Postfix
   3. Criando usuário VMAIL e arquivos MySQL
   4. Configurando DOVECOT e instalando POSTFIXADMIN
   5. Configurando e personalizando o SQUIRRELMAIL
   6. Gerando SSL, dicas e conclusão
Outros artigos deste autor

Instalação e configuração do Squid 2.6 Stable

Mais um telecentro feliz!

Servidor de email completo com Postfix

MSN-PROXY no CentOS 5.5 64 bits

Firewall + Proxy autenticado + Apache (Centos 5.5 32/64 bits)

Leitura recomendada

Implantação de um Sistema de Workgroup Open Source

Instalação e configuração do sendmail

Servidor de email + webmail no OpenSuSE 10.2

Conversão da base de dados do Cyrus IMAP no Debian

Servidor de e-mail com anti-vírus: MailScanner + Exim + Clamav + Cpanel/WHM

  
Comentários
[1] Comentário enviado por lpossamai em 12/12/2010 - 23:46h

Pessoal, boa noite !
Esqueci de por uma dica pra vocês..
no /etc/yum.repos.d/CentOS-Base.repo
Na parte do CENTOSPLUS, além de incluir o "includepkgs=postfix-*" é preciso modificar a linha enable=0 para enable=1 !


Em breve, irei disponibilizar um mailserver mais robusto.. Com anti-spam anti-virus e outras opções de webmail.
Além de controle de quota pelo postfix admin, e parte de vacations !

Aguardem !!! :)

[2] Comentário enviado por andrecostall em 14/12/2010 - 11:53h

E ai psyscrew !!!

Cara parabéns pelo artigo.

Abraço

[3] Comentário enviado por lpossamai em 14/12/2010 - 12:28h

Valeu cara !
Abraço

[4] Comentário enviado por Apaxe em 16/12/2010 - 11:44h

Olá psyscrew, parabéns pelo seu tutorial !!!

Segui à risca todo o seu tutorial mas estou com dois problemas para os quais pedia-lhe ajuda:

1-) Sempre que reinicio o Postfix recebo a seguinte mensagem:

# service postfix restart
A desligar o postfix: [FALHOU]
A iniciar o postfix: [ OK ]

Pergunto-lhe se é normal falhar o desligar do postfix?


2-) No Postfix Admin criei um Dominio igual ao que inseri na linha "mydomain = meudominio.no-ip.info" do ficheiro "main.cf" do Postfix e também criei uma conta de email para o domínio.
A conta foi criada com sucesso mas emite a seguinte mensagem de erro:
Não foi possível enviar a mensagem!
Conta de email criada!

No SquirrelMail não consigo fazer login com nenhuma conta de correio que crio através do Postfix Admin ??!! No campo "Name" já tentei fazer login tanto usando o nome sem o dominio como também usando nome@dominio??


Eu segui à risca todo seu tutorial incluindo as passwords do MySQL, etc. A única alteração que fiz diferente foi personalizar as seguintes linhas do ficheiro "main.cf" do Postfix:

## Hosname ##
myhostname = centos-virtual.teste.local
## Seu domínio ##
mydomain = meudominio.no-ip.info

Obrigado

[5] Comentário enviado por lpossamai em 16/12/2010 - 12:18h

Bom dia Apaxe.

1-) Sempre que reinicio o Postfix recebo a seguinte mensagem:

# service postfix restart
A desligar o postfix: [FALHOU]
A iniciar o postfix: [ OK ]

Pergunto-lhe se é normal falhar o desligar do postfix?
Isto acontece, quando o postfix não está iniciado. Ou seja, como ele não está iniciado, o service tenta desligar ele, mas ele já está desligado.
Tente ver se ele está rodando, com o comando: service postfix status

2-) No Postfix Admin criei um Dominio igual ao que inseri na linha "mydomain = meudominio.no-ip.info" do ficheiro "main.cf" do Postfix e também criei uma conta de email para o domínio.
A conta foi criada com sucesso mas emite a seguinte mensagem de erro:
Não foi possível enviar a mensagem!
Conta de email criada!

No SquirrelMail não consigo fazer login com nenhuma conta de correio que crio através do Postfix Admin ??!! No campo "Name" já tentei fazer login tanto usando o nome sem o dominio como também usando nome@dominio??


Eu segui à risca todo seu tutorial incluindo as passwords do MySQL, etc. A única alteração que fiz diferente foi personalizar as seguintes linhas do ficheiro "main.cf" do Postfix:

## Hosname ##
myhostname = centos-virtual.teste.local
## Seu domínio ##
mydomain = meudominio.no-ip.info

Bom.. novamente acho que seu postfix não está iniciado. Por isto, você não consegue enviar a mensagem.
Poste aqui, o resuldado dos seguintes comandos:


/etc/init.d/mysql status

/etc/init.d/postfix status

/etc/init.d/dovecot status

iptables -L

cat /etc/selinux/config



Abraços

[6] Comentário enviado por Apaxe em 16/12/2010 - 13:13h

Olá mais uma vez psyscrew, muito obrigado pela atenção.

Os resultados são os seguintes:

# cat /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - SELinux is fully disabled.
SELINUX=disabled
# SELINUXTYPE= type of policy in use. Possible values are:
# targeted - Only targeted network daemons are protected.
# strict - Full SELinux protection.
SELINUXTYPE=targeted

# SETLOCALDEFS= Check local definition changes
SETLOCALDEFS=0

----------------------------------------

# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination

Chain FORWARD (policy ACCEPT)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination


----------------------------------------

# /etc/init.d/mysqld status
O mysqld (pid 2196) está a correr...


----------------------------------------


# /etc/init.d/postfix status
master está desactivo


Não sei o que se passa com o Postfix pois eu adicionei ele no boot do sistema através do comando:
# chkconfig postfix on
# chkconfig --list postfix
postfix 0:não 1:não 2:sim 3:sim 4:sim 5:sim 6:não

Depois activo ele através do comando:
# service postfix start
A iniciar o postfix: [ OK ]

Se depois disto voltar a ver o status dele recebo na mesma a indicação que ele está desactivado:
# service postfix status
master está desactivo


O que está mal aqui?

Obrigado



[7] Comentário enviado por lpossamai em 16/12/2010 - 13:22h

# /etc/init.d/postfix status
master está desactivo

Existe algum erro na configuração do seu main.cf
Por isto, seu postfix está parado.

consulte os logs para ver o que está acontecendo:


tail -f /var/log/maillog

/etc/init.d/postfix start


Lucas

[8] Comentário enviado por Apaxe em 16/12/2010 - 13:24h

Só uma nota a ver se ajuda em alguma coisa:

Eu no ficheiro "main.cf" do Postfix apaguei todo o seu conteúdo e copiei para dentro dele o conteúdo do seu exemplo tendo só o cuidado de alterar as linhas:

## Hosname ##
myhostname = centos-virtual.teste.local
## Seu domínio ##
mydomain = meudominio.no-ip.info

[9] Comentário enviado por Apaxe em 16/12/2010 - 13:27h

# tail -f /var/log/maillog
Dec 16 14:55:29 centos-virtual postfix/master[2267]: fatal: /etc/postfix/master.cf: line 83: bad transport type: user=vmail:mail
Dec 16 15:03:14 centos-virtual postfix/postfix-script: starting the Postfix mail system
Dec 16 15:03:14 centos-virtual postfix/master[3126]: fatal: /etc/postfix/master.cf: line 83: bad transport type: user=vmail:mail
Dec 16 15:05:21 centos-virtual postfix/postfix-script: fatal: the Postfix mail system is not running
Dec 16 15:05:21 centos-virtual postfix/postfix-script: starting the Postfix mail system
Dec 16 15:05:21 centos-virtual postfix/master[3210]: fatal: /etc/postfix/master.cf: line 83: bad transport type: user=vmail:mail
Dec 16 15:05:52 centos-virtual postfix/postfix-script: starting the Postfix mail system
Dec 16 15:05:52 centos-virtual postfix/master[3267]: fatal: /etc/postfix/master.cf: line 83: bad transport type: user=vmail:mail
Dec 16 15:13:01 centos-virtual postfix/postfix-script: starting the Postfix mail system
Dec 16 15:13:01 centos-virtual postfix/master[3389]: fatal: /etc/postfix/master.cf: line 83: bad transport type: user=vmail:mail
Dec 16 15:28:14 centos-virtual postfix/postfix-script: starting the Postfix mail system
Dec 16 15:28:14 centos-virtual postfix/master[3620]: fatal: /etc/postfix/master.cf: line 83: bad transport type: user=vmail:mail



Parece ser qualquer erro com o user vmail:mail ??

[10] Comentário enviado por lpossamai em 16/12/2010 - 13:29h

Poste o seu master.cf aqui.

[11] Comentário enviado por Apaxe em 16/12/2010 - 13:32h

#
# Postfix master process configuration file. For details on the format
# of the file, see the master(5) manual page (command: "man 5 master").
#
# ==========================================================================
# service type private unpriv chroot wakeup maxproc command + args
# (yes) (yes) (yes) (never) (100)
# ==========================================================================
smtp inet n - n - - smtpd
#submission inet n - n - - smtpd
# -o smtpd_enforce_tls=yes
# -o smtpd_sasl_auth_enable=yes
# -o smtpd_client_restrictions=permit_sasl_authenticated,reject
#smtps inet n - n - - smtpd
# -o smtpd_tls_wrappermode=yes
# -o smtpd_sasl_auth_enable=yes
# -o smtpd_client_restrictions=permit_sasl_authenticated,reject
#628 inet n - n - - qmqpd
pickup fifo n - n 60 1 pickup
cleanup unix n - n - 0 cleanup
qmgr fifo n - n 300 1 qmgr
#qmgr fifo n - n 300 1 oqmgr
tlsmgr unix - - n 1000? 1 tlsmgr
rewrite unix - - n - - trivial-rewrite
bounce unix - - n - 0 bounce
defer unix - - n - 0 bounce
trace unix - - n - 0 bounce
verify unix - - n - 1 verify
flush unix n - n 1000? 0 flush
proxymap unix - - n - - proxymap
smtp unix - - n - - smtp
# When relaying mail as backup MX, disable fallback_relay to avoid MX loops
relay unix - - n - - smtp
-o fallback_relay=
# -o smtp_helo_timeout=5 -o smtp_connect_timeout=5
showq unix n - n - - showq
error unix - - n - - error
discard unix - - n - - discard
local unix - n n - - local
virtual unix - n n - - virtual
lmtp unix - - n - - lmtp
anvil unix - - n - 1 anvil
scache unix - - n - 1 scache
#
# ====================================================================
# Interfaces to non-Postfix software. Be sure to examine the manual
# pages of the non-Postfix software to find out what options it wants.
#
# Many of the following services use the Postfix pipe(8) delivery
# agent. See the pipe(8) man page for information about ${recipient}
# and other message envelope options.
# ====================================================================
#
# maildrop. See the Postfix MAILDROP_README file for details.
# Also specify in main.cf: maildrop_destination_recipient_limit=1
#
maildrop unix - n n - - pipe
flags=DRhu user=vmail argv=/usr/local/bin/maildrop -d ${recipient}
#
# The Cyrus deliver program has changed incompatibly, multiple times.
#
old-cyrus unix - n n - - pipe
flags=R user=cyrus argv=/usr/lib/cyrus-imapd/deliver -e -m ${extension} ${user}
# Cyrus 2.1.5 (Amos Gouaux)
# Also specify in main.cf: cyrus_destination_recipient_limit=1
cyrus unix - n n - - pipe
user=cyrus argv=/usr/lib/cyrus-imapd/deliver -e -r ${sender} -m ${extension} ${user}
#
# See the Postfix UUCP_README file for configuration details.
#
uucp unix - n n - - pipe
flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
#
# Other external delivery methods.
#
ifmail unix - n n - - pipe
flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
bsmtp unix - n n - - pipe
flags=Fq. user=foo argv=/usr/local/sbin/bsmtp -f $sender $nexthop $recipient
## DOVECOT ##
dovecot unix - n n - - pipe
flags=DRhu user=vmail:mail argv=/usr/libexec/dovecot/deliver -d $(recipient)


[12] Comentário enviado por lpossamai em 16/12/2010 - 13:36h

Está tudo certo...

Você criou o usuário vmail?
Setou ele para o grupo mail?


Lucas

[13] Comentário enviado por Apaxe em 16/12/2010 - 13:36h

Como pode conferir eu só inclui no final do ficheiro " /etc/postfix/master.cf" as linhas que indica no seu tutorial:

## DOVECOT ##
dovecot unix - n n - - pipe
flags=DRhu user=vmail:mail argv=/usr/libexec/dovecot/deliver -d $(recipient)


Obrigado

[14] Comentário enviado por Apaxe em 16/12/2010 - 13:42h

Sim eu criei o utilizador vmail da mesma forma que indica no seu tutorial:

# useradd vmail -r -u 150 -g mail -d /var/vmail -s /sbin/nologin

# mkdir /var/vmail
# chmod 770 /var/vmail/
# chown vmail:mail /var/vmail/



Aqui vai também as permissões da pasta vmail:

# cd /var
# ls -l
drwxrwx--- 2 vmail mail 4096 Dez 16 11:51 vmail


Obrigado

[15] Comentário enviado por lpossamai em 16/12/2010 - 13:46h

ok...

[16] Comentário enviado por lpossamai em 16/12/2010 - 13:49h

tente botar assim no seu master.cf :

## DOVECOT ##
dovecot unix - n n - - pipe
flags=DRhu user=vmail:mail argv=/usr/libexec/dovecot/deliver -f ${sender} -d ${user}@${nexthop} -n -m ${extension}

Tente respeitar os espaços também...
Depois, inicie o seu postfix e em seguida:

/etc/init.d/postfix status

[17] Comentário enviado por Apaxe em 16/12/2010 - 14:02h

Continua igual.

Em relação aos espaços eu estou a fazer um" copy & paste" do que escreveu para dentro do ficheiro master.cf (tendo o cuidado de primeiro apagar o antigo).


Nos logs ele continua a insistir na seguinte mesnagem de erro quando reinicio o Postfix:

Dec 16 16:02:08 centos-virtual postfix/master[4452]: fatal: /etc/postfix/master.cf: line 83: bad transport type: user=vmail:mail



Obrigado

[18] Comentário enviado por Apaxe em 16/12/2010 - 14:10h

Se ajudar, a versão do meu Postfix é a seguinte:

# rpm -q postfix
postfix-2.3.3-2.1.centos.mysql_pgsql

[19] Comentário enviado por lpossamai em 16/12/2010 - 14:12h

o erro tá ai.. master.cf
a sua linha está igual a minha.
Se você criou o usuário vmail, TEM que funcionar..
verifique se não tem nada de a mais na linha, variável estranha..
Tens que verificar a versão do seu postfix também, se for outra versão de repente a mesma linha terá que ser alterada para a interpretação do postfix..

pode me adicionar no MSN se quiser...

[20] Comentário enviado por lpossamai em 16/12/2010 - 14:46h

Problema resolvido..
Apenas para conhecimento de todos.

Foi posto um espaço na linha "flags=DRhu user=vmail:mail argv=/usr/libexec/dovecot/deliver -f ${sender} -d ${user}@${nexthop} -n -m ${extension}"

E o dovecot-sql.conf dele estava errado. na verdade, tinha erro de formatação do arquivo.

[21] Comentário enviado por andrecostall em 17/12/2010 - 15:36h

E ai psyscrew blz ?

Cara você esqueceu de um detalhe muito importante que é a base de dados do MySQL (tabelas domain, mailbox ,alias).

Falow

[22] Comentário enviado por lpossamai em 17/12/2010 - 15:46h

Boa tarde Andrecostall.
Você está enganado.
A criação da database e seus arquivos de configuração de comunicação com Mysql e Postfix, estão nas páginas um e três deste artigo.
O resto, quem criará é o próprio postfixadmin.



( O próximo passo é configurar a base no MySQL. Vamos setar uma senha para o usuário root:

# mysqladmin -u root -p password 'novasenha'

Em seguida, execute os passos na shell do MySQL:

mysql> CREATE DATABASE mail;
mysql> GRANT ALL PRIVILEGES ON mail.* TO 'mail'@'localhost' IDENTIFIED BY 'mail';
mysql> quit


Para criar os arquivos de configuração do MySQL em que o Postfix poderá se "comunicar" com ele, siga os passos a seguir:

# cd /etc/postfix
# joe mysql_virtual_alias_maps.cf

user = mail
password = mail
hosts = localhost
dbname = mail
table = alias
select_field = goto
where_field = address
additional_conditions = and active = '1'
#query = SELECT goto FROM alias WHERE address='%s' AND active = '1'

# joe mysql_virtual_domains_maps.cf

user = mail
password = mail
hosts = localhost
dbname = mail
table = domain
select_field = domain
where_field = domain
additional_conditions = and backupmx = '0' and active = '1'
#query = SELECT domain FROM domain WHERE domain='%s' AND backupmx = '0' AND active = '1'

# joe mysql_virtual_mailbox_limit_maps.cf

user = mail
password = mail
hosts = localhost
dbname = mail
table = mailbox
select_field = quota
where_field = username
additional_conditions = and active = '1'
#query = SELECT quota FROM mailbox WHERE username='%s' AND active = '1'

# joe mysql_virtual_mailbox_maps.cf

user = mail
password = mail
hosts = localhost
dbname = mail
table = mailbox
select_field = CONCAT(domain,'/',maildir)
where_field = username
additional_conditions = and active = '1'
#query = SELECT CONCAT(domain,'/',maildir) FROM mailbox WHERE username='%s' AND active = '1' )

[23] Comentário enviado por andrecostall em 20/12/2010 - 10:51h

Bom dia psyscrew !!

Oh cara me desculpe então, tinha me esquecido que próprio postfixadmin cria as tabelas.

Valew

[24] Comentário enviado por Apaxe em 20/12/2010 - 13:40h

Aproveito para informar toda a gente, que após ter corrigido os erros que possuía nos meus ficheiros de configuração, o tutorial aqui exposto pelo amigo psyscrew funciona nas mil maravilhas.

[25] Comentário enviado por lpossamai em 20/12/2010 - 14:55h

Sem problemas andrecostall. Acontece:)

Abraço!


Apaxe, bom saber que está funcionando ai !
Qualquer dúvida/informação/crítica poste aqui

Abraço!

[26] Comentário enviado por cristian79 em 08/01/2011 - 20:23h

Legal o post. Parabéns! Para quem tiver curiosidade, tem o iRedMail, que faz essa instalação meio que automaticamente. Depois, é só fuçar nas configurações e ver como ficou. É bom para a didática. Se for produção, precisa de mais cautela.

[27] Comentário enviado por leotpm em 07/02/2011 - 23:35h

Psycrew HELP ME

nesse ponto aqui nao entra:

Entre em http://localhost/postfixadmin/setup.php e configure-o.

obs. 1. Saco pouco de linux e estou com a missao de instalar o servidor de e-mail.

2. como acesso a suposta pag. do webmail. qual link devo digitar?

3. Onde vou criar as contas de e-mails dos funcionarios da empresa?

4. Estou tendo problema de start o postfix tipo o APAXE. mais nesse exato momento nao estou na empresa para ver o log.

[28] Comentário enviado por lpossamai em 08/02/2011 - 09:00h

Bom dia.

nesse ponto aqui nao entra:

Entre em http://localhost/postfixadmin/setup.php e configure-o.
Bom, se não entra. Ou vc configurou errado o aliases no apache, ou o apache está parado. Verefique isso..

1. Saco pouco de linux e estou com a missao de instalar o servidor de e-mail.
Não têm problemas. Estamos aqui para tentar ajudar.

2. como acesso a suposta pag. do webmail. qual link devo digitar?
Então. No apache vc configurou o aliases /webmail certo? então, para entrar no webmail vc precisará digitar o ip do seu servidor/ e + /webmail.
Exemplo: http://192.168.1.1/webmail

3. Onde vou criar as contas de e-mails dos funcionarios da empresa?
Você usará o POSTFIX admin para criar/editar e gerenciar os domínios e suas mailboxes. Para acessar o postfix admin; tendo em vista que você fez o aliases corretamente e de que o apache esteja rodando; acesse com:
http://ipseuservidor/postfixadmin

4. Estou tendo problema de start o postfix tipo o APAXE. mais nesse exato momento nao estou na empresa para ver o log.
Pois é. Um grande amigo seu no linux, são os logs. Com eles tu faz QUASE tudo.
Poste os erros aqui.

Abraços

[29] Comentário enviado por sixtensixone em 28/03/2011 - 13:43h

Olá psyscrew

Parabéns pelo tutorial, gostei e me apoie nele para montar o meu CentOS 5.5 64Bits, com MySQL e Postix, Postfixadmin e Dovecot.
O PostFix está no ar. E olhando o que ocorreu com o Apaxe, foi bom porque eu tinha o mesmo erro que ele. Alias sugiro que o texto que informa de espaço na frase que começa com flags=DRhu..., deve ser colocado antes da frase, pois a linha é a continuação da linha anterior.

Bem, o que ocorre comigo é que crio as contas e o domínio, administradores, aliases e senhas, mas na hora de enviar um email o Postfixadmin retorna: "Não foi possível enviar a mensagem!". Nem e-mail mensagem de boas vindas, nada. Eu estou quase atendendo o pedido do pessoal e partindo para o iRedMail, que dizem ser muito mais facil de configurar... Nem sei por onde começar. O /var/log/maillog reporta, ao reiniciar:

Mar 28 10:53:55 mail postfix/postfix-script: stopping the Postfix mail system
Mar 28 10:53:55 mail postfix/master[27316]: terminating on signal 15
Mar 28 10:54:19 mail postfix/postfix-script: starting the Postfix mail system
Mar 28 10:54:19 mail postfix/master[27423]: daemon started -- version 2.3.3, configuration /etc/postfix

Neste arquivo, nada é logado quando se tenta mandar o e-mail. O log do postfixadmin (/var/log/httpd/postfixadmin-error.log), reporta apenas um warning (nem erro é) de uso de funcção de data sem o uso de date_default_timezone_set(), na aplicação do postfixadim. Mas aí é problema dos caras que desenvolveram o postfixadmin.

Quando olho no MySQL estão todos os dados lá, usuários, domínios, senhas, datas de criação e tudo como ativo (active field = 1).

Será que tenho problema de RX na DNS zona, lá meu registro RX está assim: @55.32.51.743 86400 IN MX 10 meudominiosemwww.com.br.

O número IP está alterado, assim como o domìnio.

Eu apreciaria um help antes de ir direto para o iRedMail... Talvez você tenha uma pista de onde falta eu olhar...

Muito Obrigado.
Sixtensixone



[30] Comentário enviado por lpossamai em 28/03/2011 - 13:58h

Boa tarde, sixtensixone.
Bem, primeiramente agradeço os parabéns. Fico feliz que tenha tido como base o meu tutorial para implementar a solução aqui apresentada.

Aproveito, para pedir que olhe neste link:
http://www.vivaolinux.com.br/artigo/Servidor-de-email-completo-com-Postfix/

É um artigo meu, com melhorias. Inclui anti-spam, anti-virus e quotas.

Vamos então a sua situação.
Quando você envia um e-mail, sabemos que é usado o SMTPD ( neste artigo, ao menos ).
Os logs dele, encontram-se em: /var/log/maillog
Você disse que não há nada lá quando você envia, certo? Estranho mesmo !
tente dar um tail -f /var/log/maillog
e enviar um email. só para garantir. heheheh

Você já conferiu se os serviços estão ativos?
telnet localhost 25 ## SMTP
telnet localhost 110 ## POP
telnet localhost 3306 ## MYSQL

Retorna o que?
Outra coisa.
Você já tem este servidor na web? ou está interno.. ?

Me mostre o seu /etc/hosts tb.

Tente seguir os passos que eu lhe disse aqui..
Mesmo que você os já tenha feito.

Caso não consigamos resolver, estou muito interessado em te ajudar. De repente por SSH ou algo assim.

Aguardo seu retorno. Abraços!!!

[31] Comentário enviado por sixtensixone em 28/03/2011 - 16:43h

Bem, Obrigado pelo retorno... Vamos por partes, ai vai:

# telnet 127.0.0.1 110
Trying 127.0.0.1...
Connected to 127.0.0.1 (127.0.0.1).
Escape character is '^]'.
+OK Dovecot ready.
==========================
telnet 127.0.0.1 25
Trying 127.0.0.1...
Connected to 127.0.0.1 (127.0.0.1).
Escape character is '^]'.
220 servidor.nomedomeudominio.com.br ESMTP BEM VINDO!!!
==========================
telnet 127.0.0.1 3306
Trying 127.0.0.1...
Connected to 127.0.0.1 (127.0.0.1).
Escape character is '^]'.
4
5.0.77¤I'&&/WJJ,¢!v5B.\deL.A;CConnection closed by foreign host.
==========================
Agora vamos ao tail do maillog...

tail -f /var/log/maillog
Mar 28 10:53:11 mail postfix/master[23280]: terminating on signal 15
Mar 28 10:53:11 mail postfix/postfix-script: starting the Postfix mail system
Mar 28 10:53:11 mail postfix/master[27316]: daemon started -- version 2.3.3, configuration /etc/postfix
Mar 28 10:53:55 mail postfix/postfix-script: stopping the Postfix mail system
Mar 28 10:53:55 mail postfix/master[27316]: terminating on signal 15
Mar 28 10:54:19 mail postfix/postfix-script: starting the Postfix mail system
Mar 28 10:54:19 mail postfix/master[27423]: daemon started -- version 2.3.3, configuration /etc/postfix
Mar 28 14:32:21 mail dovecot: pop3-login: Aborted login: rip=::ffff:127.0.0.1, lip=::ffff:127.0.0.1, secured
Mar 28 14:32:40 mail postfix/smtpd[4145]: connect from unknown[127.0.0.1]
Mar 28 14:33:37 mail postfix/smtpd[4145]: disconnect from unknown[127.0.0.1]

Veja que inclusive aparece a minha conexão feita agora mesmo via terminal.

O servidor web está na web, funcionando direitinho, com postfixadmin rodando.

Agora o /etc/hosts
cat /etc/hosts
localhost localhost.localdomain
40.82.81.283 servidor.nomedomeudominio.com.br servidor

Bem, vc poderia me passar seu msn se precisar.

Obrigado, eu estava no pique de desistir. Gastei o fim de semana todo nisso. Tudo funciona, mas não envia e-mail e não tenho uma pista de onde olhar.

Abraços Fraternos.
Há onde está servidor.nomedomeudominio.com.br, eu troquei por razões óbvias o IP também...

[32] Comentário enviado por sixtensixone em 28/03/2011 - 16:50h

Caro colega,

Outra coisa que eu tentei, veja isso: (mudei só as identificações, ok?)

telnet 127.0.0.1 110
Trying 127.0.0.1...
Connected to 127.0.0.1 (127.0.0.1).
Escape character is '^]'.
+OK Dovecot ready.
user usuariovalido@meudominio.com.br
+OK
pass minhapassword
+OK Logged in.
list
+OK 0 messages:
.
quit
+OK Logging out.
Connection closed by foreign host.
[root@fabsrv2 ~]#


Veja só, o cara tá aí... Por que razão o Postfixadmin não manda o e-mail...

abraços.

[33] Comentário enviado por lpossamai em 28/03/2011 - 16:51h

bah que estranho! parece que tá tudo certo, né?
ahhahaah

vou te passar o MSN pq fiquei curioso em saber oq está acontecendo !

drum.lucas@hotmail.com

Abraço

[34] Comentário enviado por sixtensixone em 28/03/2011 - 17:00h

Por último tentei mandar e-mail via a linha de comando...

telnet 127.0.0.1 143
Trying 127.0.0.1...
Connected to 127.0.0.1 (127.0.0.1).
Escape character is '^]'.
* OK Dovecot ready.
0 login usuariovalido@meudominio.com.br minhasenha
0 OK Logged in.
0 select inbox
* FLAGS (\Answered \Flagged \Deleted \Seen \Draft)
* OK [PERMANENTFLAGS (\Answered \Flagged \Deleted \Seen \Draft \*)] Flags permitted.
* 0 EXISTS
* 0 RECENT
* OK [UIDVALIDITY 1301341877] UIDs valid
* OK [UIDNEXT 1] Predicted next UID
0 OK [READ-WRITE] Select completed.
0 logout
* BYE Logging out
0 OK Logout completed.
Connection closed by foreign host.
[root@fabsrv2 ~]# echo "Funcionou..." | mailto -s "TESTE do POSTFIX" usuariovalido@meudominio.com.br
-bash: mailto: command not found
-bash: echo: write error: Broken pipe

[35] Comentário enviado por sixtensixone em 28/03/2011 - 21:26h

Olá PessoALL,

Olha, gostaria de registrar duas coisas. A primeira é onde meus erros se concentraram, pois isso pode ajudar um colega:

1 - Eu pulei o passo da página 6 do tutorial de criação das chaves (arquivos PEM). Importante, senão tudo parece funcionar e os emails não vão;
2 - Eu não dei direitos em algum host para o meu usuário do postfixadmin utilizar. Desta forma o coitado estava com sua atuação sobre o banco limitada.

A segunda coisa que gostaria de registrar, foi a ajuda inestimável do psyscrew que descobriu rapidinho onde meus erros estavam. Um cara e tanto este psyscrew.

Vida longa brother. Muita paz.

Sixtensixone.

PS. Se alguem conhece algum material (não estou falando de instalação, mais sim de manuseio e configurção) detalhado do Postfix, estou interessado e compraria com prazer. Vi um material em PDF da O'Really, mas a data de publicação é dezembro de 2003 e não sei se isso é muito impactante. Eu gostaria de me aprofundar, como programador, creio que poderei pensar em algo para o Postfix.

Abraços.

[36] Comentário enviado por armarquesjunior em 30/03/2011 - 13:46h

Boa tarde sixtensixone!!!

Estou tendo o mesmo problema que você, porem já fiz o passo da página 6 da geração das chaves, mas ainda não deu certo!
O que seria "dar direitos a algum host"?

Obrigado...

[37] Comentário enviado por lpossamai em 30/03/2011 - 14:30h

Boa tarde robertojunior

Que problemas está tendo?
Pode colar o seu maillog aqui?

lucas

[38] Comentário enviado por armarquesjunior em 30/03/2011 - 15:47h

Olá lucas,

O que está acontecendo aqui é a mesma coisa do "sixtensixone", fiz testes por telnet e todos estão conectando nas portas, até mesmo por um outlook fiz o teste e ele loga no servidor mas não envia o e-mail retornando timeout. O postfix.admin e o squirrelmail também não consegue enviar o e-mail.
Fiz o processo de geração das chaves várias vezes também sem sucesso....

segue os testes que eu fiz:

# telnet 127.0.0.1 110
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
+OK Dovecot ready.
user junior@especialistaweb.com.br
+OK
pass senha
+OK Logged in.
list
+OK 0 messages:
.
quit
+OK Logging out.
Connection closed by foreign host.

==========================

# telnet 127.0.0.1 143
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
* OK Dovecot ready.
0 login junior@especialistaweb.com.br senha
0 OK Logged in.
0 select inbox
* FLAGS (\Answered \Flagged \Deleted \Seen \Draft)
* OK [PERMANENTFLAGS (\Answered \Flagged \Deleted \Seen \Draft \*)] Flags permitted.
* 0 EXISTS
* 0 RECENT
* OK [UIDVALIDITY 1301436368] UIDs valid
* OK [UIDNEXT 1] Predicted next UID
0 OK [READ-WRITE] Select completed.
0 logout
* BYE Logging out
0 OK Logout completed.
Connection closed by foreign host.

==============================

o meu maillog está vazio, eu tinha apagado ele e agora está em branco não gravando mais nada..
tail -f /var/log/maillog

===================


Desde já agradeço sua ajuda!

[39] Comentário enviado por lpossamai em 30/03/2011 - 16:11h

ok.
qual usuário você está usando para se conectar ao banco de dados? nos arquivos de conf?
outra coisa.
Pare o postfix, exclua o maillog
de um:

touch /var/log/maillog

dê permissão 755
e então, inicie o postfix.

Abraço

[40] Comentário enviado por armarquesjunior em 30/03/2011 - 16:29h

Estou utilizando o usuário "mail" em uma base de dados "mail", tudo como explicado no tutorial.

Fiz todo o processo abaixo para criação do arquivo de log mais ele ainda não esta gravando.... :(

# service postfix stop
Shutting down postfix: [ OK ]
# touch /var/log/maillog
# chmod 755 /var/log/maillog
# service postfix start
Starting postfix: [ OK ]
# tail -f /var/log/maillog

[41] Comentário enviado por lpossamai em 30/03/2011 - 16:38h

hmm...
eu acho, q não envia por causa de permissões no MYSQL.
Como era o caso do amigo acima...

sobre a questão do maillog.. estranho...

não grava nada nada?
mas concerteza aconteceu pq vc exlcuiu o arquivo...

bom. vamos por parte..

poste o seu main.cf e o seu master.cf

( sem os comentários )


Lucas

[42] Comentário enviado por armarquesjunior em 30/03/2011 - 16:52h

### main.cf ####
queue_directory = /var/spool/postfix
command_directory = /usr/sbin
daemon_directory = /usr/libexec/postfix
mail_owner = postfix
myhostname = mail.especialistaweb.com.br
mydomain = especialistaweb.com.br
myorigin = $mydomain
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, localhost
unknown_local_recipient_reject_code = 550
mynetworks = 127.0.0.0/8, 192.168.0.0/16, 0/0
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
recipient_delimiter = +
mailbox_command = /usr/libexec/dovecot/deliver
smtpd_banner = $myhostname BEM-VINDO!
debug_peer_level = 2
debugger_command =
PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
xxgdb $daemon_directory/$process_name $process_id & sleep 5
sendmail_path = /usr/sbin/sendmail.postfix
newaliases_path = /usr/bin/newaliases.postfix
mailq_path = /usr/bin/mailq.postfix
setgid_group = postdrop
html_directory = no
manpage_directory = /usr/share/man
sample_directory = /usr/share/doc/postfix-2.3.3/samples
readme_directory = /usr/share/doc/postfix-2.3.3/README_FILES
virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql_virtual_domains_maps.cf
virtual_mailbox_base = /var/vmail
virtual_mailbox_maps = proxy:mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
virtual_alias_maps = proxy:mysql:/etc/postfix/mysql_virtual_alias_maps.cf
virtual_minimum_uid = 150
virtual_uid_maps = static:150
virtual_gid_maps = static:8
virtual_transport = dovecot
dovecot_destination_recipient_limit = 1
smtpd_sasl_auth_enable = yes
smtpd_sasl2_auth_enable = yes
smtpd_sasl_exceptions_networks = 127.0.0.0/8, 192.168.0.0/16, 0/0
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_sasl_path = private/auth
smtpd_sasl_application_name = smtpd
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
permit_mynetworks = 127.0.0.0/8, 192.168.0.0/16, 0/0
smtpd_tls_cert_file = /etc/postfix/mail-cert.pem
smtpd_tls_key_file = /etc/postfix/mail-key.pem
smtpd_tls_session_cache_database = btree:/var/spool/postfix/smtpd_tls_session_cache
smtpd_tls_security_level = may
smtpd_tls_received_header = no
smtpd_tls_loglevel = 0
tls_random_source = dev:/dev/urandom


### master.cf ###
smtp inet n - n - - smtpd
pickup fifo n - n 60 1 pickup
cleanup unix n - n - 0 cleanup
qmgr fifo n - n 300 1 qmgr
tlsmgr unix - - n 1000? 1 tlsmgr
rewrite unix - - n - - trivial-rewrite
bounce unix - - n - 0 bounce
defer unix - - n - 0 bounce
trace unix - - n - 0 bounce
verify unix - - n - 1 verify
flush unix n - n 1000? 0 flush
proxymap unix - - n - - proxymap
smtp unix - - n - - smtp
relay unix - - n - - smtp
-o fallback_relay=
showq unix n - n - - showq
error unix - - n - - error
discard unix - - n - - discard
local unix - n n - - local
virtual unix - n n - - virtual
lmtp unix - - n - - lmtp
anvil unix - - n - 1 anvil
scache unix - - n - 1 scache
maildrop unix - n n - - pipe
flags=DRhu user=vmail argv=/usr/local/bin/maildrop -d ${recipient}
old-cyrus unix - n n - - pipe
flags=R user=cyrus argv=/usr/lib/cyrus-imapd/deliver -e -m ${extension} ${user}
cyrus unix - n n - - pipe
user=cyrus argv=/usr/lib/cyrus-imapd/deliver -e -r ${sender} -m ${extension} ${user}
uucp unix - n n - - pipe
flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
ifmail unix - n n - - pipe
flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
bsmtp unix - n n - - pipe
flags=Fq. user=foo argv=/usr/local/sbin/bsmtp -f $sender $nexthop $recipient
dovecot unix - n n - - pipe flags=DRhu user=vmail:mail argv=/usr/libexec/dovecot/deliver -f ${sender} -d ${user}@${nexthop} -n -m ${extension}


[43] Comentário enviado por armarquesjunior em 31/03/2011 - 09:35h

Sobre a configuração da base de dados, fiz o teste com o usuário 'mail' e está com permissão de acesso, mas mesmo assim alterei para utilizar o usuário 'root' do mysql nas configurações do postfix e ainda não envia.

[44] Comentário enviado por barreto13 em 11/05/2011 - 15:04h

Cara muito bom seu tutorial

Implementei aqui com SASL e td blz

Só uma dúvida, como faço para conexão SSL

Tenho que instalar o courier-pop3-ssl ?

[45] Comentário enviado por lpossamai em 11/05/2011 - 15:09h

Você não está usando o courier para pop e imap.
Mas sim, dovecot.

no seu dovecot.conf tem que ter esta linha:
protocols = imap imaps pop3 pop3s

Isto habilita conexão segura.

Lucas

[46] Comentário enviado por Luizguilherme em 13/06/2011 - 18:10h

Boa tarde, segui o tutorial e deu quase tudo certo, quero agradecer ao psycrew pelo excelente tutorial, muito bem explicado.
Tenho uma duvida, segui as configuracoes do tutorial porem quando eu vou enviar 1 email apenas internamente o email aparentemente é enviado normalmente porém a pessoa nunca chega a receber nada, segue o anexo do log no linux



Connect from unknown[192.168.0.7]
Jun 11 14:29:15 Jonas postfix/smtpd[11806]: CF9F333E0201: client=unknown[192.168.0.7]
Jun 11 14:29:15 Jonas postfix/cleanup[11812]: CF9F333E0201: message-id=<E91D38212FD94B8991F2827D2DFC3E03@TI07>
Jun 11 14:29:15 Jonas postfix/qmgr[11804]: CF9F333E0201: from=<teste_ti@unimedjpr.com.br>, size=59066, nrcpt=1 (queue active)
Jun 11 14:29:15 Jonas postfix/smtpd[11806]: disconnect from unknown[192.168.0.7]
Jun 11 14:29:15 Jonas postfix/smtp[11813]: warning: host smtp-gw.unimedjpr.com.br[200.140.145.59]:25 greeted me with my own hostname mail.unimedjpr.com.br
Jun 11 14:29:15 Jonas postfix/smtp[11813]: warning: host smtp-gw.unimedjpr.com.br[200.140.145.59]:25 replied to HELO/EHLO with my own hostname mail.unimedjpr.com.br
Jun 11 14:29:15 Jonas postfix/smtp[11813]: CF9F333E0201: to=<guilherme_ti@unimedjpr.com.br>, relay=smtp-gw.unimedjpr.com.br[200.140.145.59]:25, delay=0.08, delays=0.04/0/0.04/0, dsn=5.4.6, status=bounced (mail for unimedjpr.com.br loops back to myself)
Jun 11 14:29:15 Jonas postfix/cleanup[11812]: E423333E0204: message-id=<20110611182915.E423333E0204@mail.unimedjpr.com.br>
Jun 11 14:29:15 Jonas postfix/qmgr[11804]: E423333E0204: from=<>, size=2638, nrcpt=1 (queue active)
Jun 11 14:29:15 Jonas postfix/bounce[11814]: CF9F333E0201: sender non-delivery notification: E423333E0204
Jun 11 14:29:15 Jonas postfix/qmgr[11804]: CF9F333E0201: removed
Jun 11 14:29:15 Jonas postfix/smtp[11813]: warning: host smtp-gw.unimedjpr.com.br[200.140.145.59]:25 greeted me with my own hostname mail.unimedjpr.com.br
Jun 11 14:29:15 Jonas postfix/smtp[11813]: warning: host smtp-gw.unimedjpr.com.br[200.140.145.59]:25 replied to HELO/EHLO with my own hostname mail.unimedjpr.com.br
Jun 11 14:29:15 Jonas postfix/smtp[11813]: E423333E0204: to=<teste_ti@unimedjpr.com.br>, relay=smtp-gw.unimedjpr.com.br[200.140.145.59]:25, delay=0.04, delays=0.01/0/0.03/0, dsn=5.4.6, status=bounced (mail for unimedjpr.com.br loops back to myself)
Jun 11 14:29:15 Jonas postfix/qmgr[11804]: E423333E0204: removed




Muito obrigado.

[47] Comentário enviado por Cezio137 em 03/11/2011 - 15:22h

Boa tarde, cara não consigo fazer meu postfix funcionar, quando incio o serviço o master não sobe ...
a mensagem de erro no log é a seguinte ...


postfix[27821]: fatal: /etc/postfix/main.cf, line 66: missing '=' after attribute name: "dovecot unix - n n - - pipe"


estamos presos nesse ponto se puder esclarecer, ficarei grato xD


[48] Comentário enviado por lpossamai em 03/11/2011 - 15:30h

Boa tarde @pitoco_cr.

fatal: /etc/postfix/main.cf, line 66: missing '=' after attribute name: "dovecot unix - n n - - pipe"

Você editou o arquivo certo?

é o master.cf que deve ter:


dovecot unix - n n - - pipe
flags=DRhu user=vmail:mail argv=/usr/libexec/dovecot/deliver -d $(recipient)

[49] Comentário enviado por Cezio137 em 03/11/2011 - 15:54h

Beleza, agora eu editei o arquivo certo, mas na hora q eu vou verificar o serviço o master continua parado e o log da a seguinte mensagem...

/var/log/maillog
postfix/master[28015]: fatal: /etc/postfix/master.cf: line 83: bad transport type: user=vmail:mail

agradeço a ajuda !!



[50] Comentário enviado por Cezio137 em 03/11/2011 - 15:55h

lembrando...
segui o tutorial e já criei o usuário e lhe dei as permissões necessárias.

[51] Comentário enviado por lpossamai em 03/11/2011 - 15:59h

Pitoco_cr


Poste aqui o seu master.cf

[52] Comentário enviado por Cezio137 em 03/11/2011 - 16:03h

Esta dando erro nessa linha abaixo

##DOVECOT
dovecot unix - n n - - pipe
flags=DRhu user=vmail:mail argv=/usr/libexec/dovecot/deliver -d $(recipient)
--------------------------------------------------------------------------------------------
A versão do meu sistema
CentOs 5.6
Linux localhost.localdomain 2.6.18-274.7.1.el5 #1
---------------------------------------------------------------------------
Meu master.cf completo abaixo ...


#
# Postfix master process configuration file. For details on the format
# of the file, see the master(5) manual page (command: "man 5 master").
#
# ==========================================================================
# service type private unpriv chroot wakeup maxproc command + args
# (yes) (yes) (yes) (never) (100)
# ==========================================================================
smtp inet n - n - - smtpd
#submission inet n - n - - smtpd
# -o smtpd_enforce_tls=yes
# -o smtpd_sasl_auth_enable=yes
# -o smtpd_client_restrictions=permit_sasl_authenticated,reject
#smtps inet n - n - - smtpd
# -o smtpd_tls_wrappermode=yes
# -o smtpd_sasl_auth_enable=yes
# -o smtpd_client_restrictions=permit_sasl_authenticated,reject
#628 inet n - n - - qmqpd
pickup fifo n - n 60 1 pickup
cleanup unix n - n - 0 cleanup
qmgr fifo n - n 300 1 qmgr
#qmgr fifo n - n 300 1 oqmgr
tlsmgr unix - - n 1000? 1 tlsmgr
rewrite unix - - n - - trivial-rewrite
bounce unix - - n - 0 bounce
defer unix - - n - 0 bounce
trace unix - - n - 0 bounce
verify unix - - n - 1 verify
flush unix n - n 1000? 0 flush
proxymap unix - - n - - proxymap
smtp unix - - n - - smtp
# When relaying mail as backup MX, disable fallback_relay to avoid MX loops
relay unix - - n - - smtp
-o fallback_relay=
# -o smtp_helo_timeout=5 -o smtp_connect_timeout=5
showq unix n - n - - showq
error unix - - n - - error
discard unix - - n - - discard
local unix - n n - - local
virtual unix - n n - - virtual
lmtp unix - - n - - lmtp
anvil unix - - n - 1 anvil
scache unix - - n - 1 scache
#
# ====================================================================
# Interfaces to non-Postfix software. Be sure to examine the manual
# pages of the non-Postfix software to find out what options it wants.
#
# Many of the following services use the Postfix pipe(8) delivery
# agent. See the pipe(8) man page for information about ${recipient}
# and other message envelope options.
# ====================================================================
#
# maildrop. See the Postfix MAILDROP_README file for details.
# Also specify in main.cf: maildrop_destination_recipient_limit=1
#
maildrop unix - n n - - pipe
flags=DRhu user=vmail argv=/usr/local/bin/maildrop -d ${recipient}
#
# The Cyrus deliver program has changed incompatibly, multiple times.
#
old-cyrus unix - n n - - pipe
flags=R user=cyrus argv=/usr/lib/cyrus-imapd/deliver -e -m ${extension} ${user}
# Cyrus 2.1.5 (Amos Gouaux)
# Also specify in main.cf: cyrus_destination_recipient_limit=1
cyrus unix - n n - - pipe
user=cyrus argv=/usr/lib/cyrus-imapd/deliver -e -r ${sender} -m ${extension} ${user}
#
# See the Postfix UUCP_README file for configuration details.
#
uucp unix - n n - - pipe
flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
#
# Other external delivery methods.
#
ifmail unix - n n - - pipe
flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
bsmtp unix - n n - - pipe
flags=Fq. user=foo argv=/usr/local/sbin/bsmtp -f $sender $nexthop $recipient

##DOVECOT
dovecot unix - n n - - pipe
flags=DRhu user=vmail:mail argv=/usr/libexec/dovecot/deliver -d $(recipient)

-----------------------------------------------------------
Obrigado pela ajuda !!

[53] Comentário enviado por lpossamai em 03/11/2011 - 16:37h

Você criou o usuário vmail? como estão as permissões na pasta:

/var/vmail

( para saber, dê um ls -la em /var/ )

?

[54] Comentário enviado por Cezio137 em 03/11/2011 - 16:43h

Criei o usuario conforme o artigo...
o resultado do comando esta abaixo.
Grato !

ls -la
total 168
drwxr-xr-x 22 root root 4096 Nov 3 07:28 .
drwxr-xr-x 23 root root 4096 Nov 3 06:14 ..
drwxr-xr-x 2 root root 4096 Nov 2 16:35 account
drwxr-xr-x 11 root root 4096 Nov 3 07:07 cache
drwxr-xr-x 3 root root 4096 Mai 11 08:58 db
drwxr-xr-x 3 root root 4096 Mai 11 08:58 empty
drwxr-xr-x 2 root root 4096 Mai 11 08:58 games
drwxrwx--T 2 root gdm 4096 Nov 3 06:20 gdm
drwxr-xr-x 31 root root 4096 Nov 3 08:27 lib
drwxr-xr-x 2 root root 4096 Mai 11 08:58 local
drwxrwxr-x 6 root lock 4096 Nov 3 07:35 lock
drwxr-xr-x 14 root root 4096 Nov 3 08:52 log
lrwxrwxrwx 1 root root 10 Nov 2 17:08 mail -> spool/mail
drwxr-xr-x 2 root root 4096 Mai 11 08:58 nis
drwxr-xr-x 2 root root 4096 Mai 11 08:58 opt
drwxr-xr-x 2 root root 4096 Mai 11 08:58 preserve
drwxr-xr-x 2 root root 4096 Ago 25 2010 racoon
drwxr-xr-x 22 root root 4096 Nov 3 14:15 run
drwxr-xr-x 14 root root 4096 Nov 3 08:27 spool
drwxrwxrwt 3 root root 4096 Nov 3 08:27 tmp
drwxr-xr-x 2 vmail mail 4096 Nov 3 07:28 vmail
drwxr-xr-x 6 root root 4096 Nov 3 07:07 www
drwxr-xr-x 3 root root 4096 Jun 30 12:55 yp

[55] Comentário enviado por lpossamai em 03/11/2011 - 16:56h

Por favor,


Poste o seu main.cf

[56] Comentário enviado por Cezio137 em 03/11/2011 - 16:59h

Abaixo o arquivo /etc/postfix/main.cf
desde já agradeço sua atenção xD

queue_directory = /var/spool/postfix
command_directory = /usr/sbin
daemon_directory = /usr/libexec/postfix
mail_owner = postfix
## Hosname ##
myhostname = localhost
## Seu domínio ##
mydomain = localhost.localdomain
myorigin = $mydomain
## Permite executar o postfix em todas interfaces ##
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, localhost
unknown_local_recipient_reject_code = 550
## Redes liberadas ##
mynetworks = 127.0.0.0/8, 192.168.1.0/24
####mynetworks = hash:/etc/postfix/network_table
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
recipient_delimiter = +
mailbox_command = /usr/libexec/dovecot/deliver
## Banner de smtp porta 25 ##
smtpd_banner = $myhostname ESMTP BEM-VINDO!!
debug_peer_level = 2
debugger_command =
PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
xxgdb $daemon_directory/$process_name $process_id & sleep 5
sendmail_path = /usr/sbin/sendmail.postfix
newaliases_path = /usr/bin/newaliases.postfix
mailq_path = /usr/bin/mailq.postfix
setgid_group = postdrop
html_directory = no
manpage_directory = /usr/share/man
sample_directory = /usr/share/doc/postfix-2.3.3/samples
readme_directory = /usr/share/doc/postfix-2.3.3/README_FILES

# Virtual mailbox settings
virtual_mailbox_domains = proxy:mysql:$config_directory/mysql_virtual_domains_maps.cf
virtual_mailbox_base = /var/vmail
virtual_mailbox_maps = proxy:mysql:$config_directory/mysql_virtual_mailbox_maps.cf
virtual_alias_maps = proxy:mysql:$config_directory/mysql_virtual_alias_maps.cf
virtual_minimum_uid = 150
virtual_uid_maps = static:150
virtual_gid_maps = static:8
virtual_transport = dovecot
dovecot_destination_recipient_limit = 1
# SASL Authentication
smtpd_sasl_auth_enable = yes
smtpd_sasl2_auth_enable = yes
smtpd_sasl_exceptions_networks = $mynetworks
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_sasl_path = private/auth
smtpd_sasl_application_name = smtpd
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
permit_mynetworks = 127.0.0.0/8, 192.168.1.0/24
######################## SSL ###################################
smtpd_tls_cert_file = /etc/postfix/mail-cert.pem
smtpd_tls_key_file = /etc/postfix/mail-key.pem
smtpd_tls_session_cache_database = btree:/var/spool/postfix/smtpd_tls_session_cache
smtpd_tls_security_level = may
smtpd_tls_received_header = no
smtpd_tls_loglevel = 0
tls_random_source = dev:/dev/urandom

[57] Comentário enviado por lpossamai em 03/11/2011 - 17:12h

Primeiro:
Mude a linha: mydomain = localhost.localdomain para o seu dominio.
Exemplo: mydomain = teste.com.br

Segundo:
pode tirar/comentar a linha setgid_group

Terceiro:
Confira o que está rodando no seu linux, e poste os resultados aqui
/etc/init.d/postfix status
/etc/init.d/dovecot status
/etc/init.d/mysqld status

Quarto:
Você tem um firewall rodando nesta máquina? É um CentOS/fedora/Red Hat? Se sim, não esqueça de desativar o SELINUX

[58] Comentário enviado por Cezio137 em 03/11/2011 - 17:19h

Fiz as alterações no main.cf especifiquei meu dominio que ja esta até redirecionado para o meu ip fixo e o nat feito no modem, comentei a linha "setgid_group" e o resultados dos serviços são esses :


service postfix status
master está parado

service dovecot status
dovecot morto mas o subsistema não foi liberado

service mysqld status
mysqld (pid 28459) está rodando...

Eu uso Centos 5.6, não tenho firewall nesta maquina e nem SeLinux, ambos foram desabilitados na instalação do sistema, será que tem alguma coisa a ver a versão da distro ??

Att,

Denison Caldeira

[59] Comentário enviado por Cezio137 em 04/11/2011 - 14:36h

Boa Tarde vi e revi todo o tutorial novamente e agora quanto á esse erro no dovecot esta aparecendo assim no /var/log/maillog ;

Nov 4 12:33:20 localhost dovecot: auth(default): Can't open configuration file /etc/dovecot-sql.conf: No such file or directory
Nov 4 12:33:20 localhost dovecot: child 3712 (auth) returned error 89

lembrando q o caminho do dovecot-slq.conf esta correto no arquivo dovecot.conf e o arquivo se encontra no diretorio listado no dovecot.conf q é /etc/dovecot-sql.conf

Grato .

[60] Comentário enviado por Cezio137 em 04/11/2011 - 14:47h

Creio que o dovecot esta dando erro porque o postfix não subiu corretamente ...

[61] Comentário enviado por Cezio137 em 08/11/2011 - 09:10h

Bom Dia amigos, estou até hoje quebrando a cabeça com esses problemas, alguem pode me ajudar ?

[62] Comentário enviado por lpossamai em 08/11/2011 - 09:16h

pitoco_cr..

o problema: Nov 4 12:33:20 localhost dovecot: auth(default): Can't open configuration file /etc/dovecot-sql.conf: No such file or directory
é porque o arquivo /etc/dovecot-sql.conf não existe.

Siga os passos da página 4:

# joe /etc/dovecot-sql.conf

driver = mysql
connect = host=localhost dbname=mail user=mail password=mail
# The new name for MD5 is MD5-CRYPT so you might need to change this depending on version
default_pass_scheme = MD5
# Get the mailbox
user_query = SELECT '/var/vmail/%d/%n' as home, 'maildir:/var/vmail/%d/%n' as mail, 150 AS uid, 12 AS gid,
concat('dirsize:storage=', quota) AS quota FROM mailbox WHERE username = '%u' AND active = '1'
# Get the password
password_query = SELECT username as user, password, '/var/vmail/%d/%n' as userdb_home,
'maildir:/var/vmail/%d/%n' as userdb_mail, 150 as userdb_uid, 12 as userdb_gid FROM mailbox WHERE username
= '%u' AND active = '1'
# If using client certificates for authentication, comment the above

[63] Comentário enviado por Cezio137 em 21/11/2011 - 16:58h

fiz o arquivo dentro de /etc onde se encontra tambem o arquivo dovecot.conf, fiz com o mesmo nome e com o mesmo conteudo que vc acabou de me passar, só q ainda gera o erro :/

[64] Comentário enviado por Cezio137 em 21/11/2011 - 17:22h

Psycrew, consegui fazer o dovecot funcionar, agora quando eu entro no webmail, que usuario eu coloco ???

[65] Comentário enviado por jms.slip em 25/01/2012 - 08:35h

Eu tive o mesmo problema com o postifix, falava que iniciava, mas dava erros.

Resolvi da seguinte forma:
No arquivo "master.cf", a linha que se inicia "flags=DRhu user=", é preciso que tenha um espaço no início da linha, ex:

flags=DRhu user=vmail:mail argv=/usr/libexec/dovecot/deliver -d $(recipient)

Espero ter ajudado.

[66] Comentário enviado por jms.slip em 25/01/2012 - 08:36h

No comentário anterior não apareceu o espaço no exemplo, mas seria assim:

| flags=DRhu user=vmail:mail argv=/usr/libexec/dovecot/deliver -d $(recipient)

[67] Comentário enviado por gustavopnp em 27/01/2012 - 09:47h

Senhores,

Configurei meu servidor de acordo com o tutorial “Postfix + Dovecot + MySQL + Squirrelmail no CentOS 5.5 32/64 bits”, a unica diferenã é que estou usando Debian 6 como sistema. Com isso tive apenas que adpatar a localização de alguns arquivos de configuração e executaveis.

A principio estou tendo o seguinte problema ao acessar o squirrel:

“ERROR
Error connecting to IMAP server: localhost.
111 : Connection refused”

Em uma rapida investigação, descobri que o Dovecot não está subindo:

#service dovecot start
Starting IMAP/POP3 mail server: dovecotLast died with error (see error log for more information): Auth process died too early - shutting down
If you have trouble with authentication failures,
enable auth_debug setting. See http://wiki.dovecot.org/WhyDoesItNotWork
This message goes away after the first successful login.
.

E o status consta:

#service dovecot status
dovecot is not running ... failed!

Do mais, está tudo rodando de acordo:

#service postfix status
postfix is running.

# service mysql status
/usr/bin/mysqladmin Ver 8.42 Distrib 5.1.49, for debian-linux-gnu on x86_64
Copyright 2000-2008 MySQL AB, 2008 Sun Microsystems, Inc.
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL license

Server version 5.1.49-3
Protocol version 10
Connection Localhost via UNIX socket
UNIX socket /var/run/mysqld/mysqld.sock
Uptime: 32 days 14 hours 23 min 39 sec

Threads: 1 Questions: 6743 Slow queries: 0 Opens: 385 Flush tables: 1 Open tables: 47 Queries per second avg: 0.2.

Enfim, ao analisar os arquios de configuração do dovecot (dovecot.conf) que eu configurei de acordo com o site do tutorial, descobri a seguinte inconsistencia:

Arquivo de conf consta:

protocol lda {
sendmail_path = /usr/lib/sendmail
auth_socket_path = /var/run/dovecot/auth-master
}

socket listen {
master {
path = /var/run/dovecot/auth-master
mode = 0600
user = vmail
group = mail
}
client {
path = /var/run/dovecot/auth-client
mode = 0660
user = vmail
group = mail
}
}

Porém, no sistema esses arquivos não constam:

/var/run/dovecot# ls
total 20K
drwxr-xr-x 3 root root 4.0K Jan 27 11:35 .
drwxr-xr-x 8 root root 4.0K Jan 27 09:33 ..
srw------- 1 root root 0 Jan 27 11:35 auth-worker.26163
srwxrwxrwx 1 root root 0 Jan 27 11:35 dict-server
lrwxrwxrwx 1 root root 25 Jan 27 11:35 dovecot.conf -> /etc/dovecot/dovecot.conf
drwxr-x--- 2 root dovecot 4.0K Jan 27 11:35 login
-rw------- 1 root root 43 Jan 27 11:35 master-fatal.lastlog
-rw------- 1 root root 6 Jan 27 11:35 master.pid

/var/run/dovecot# ls login/
total 12K
drwxr-x--- 2 root dovecot 4.0K Jan 27 11:35 .
drwxr-xr-x 3 root root 4.0K Jan 27 11:35 ..
srw-rw---- 1 root dovecot 0 Jan 27 11:35 default
-rw-r--r-- 2 root root 230 Jan 23 19:12 ssl-parameters.dat

A principio, acho que essa incosistencia pode estar impedindo o Dovecot de subir. Procurei no sistema algum arquivo com esses nomes, mas não achei nada.

Alguem teria alguma ideia de como corrigir isso? Acho que subindo o Dovecot, o problema estará resolvido! (Espero... hehehe...)

Abraços!!!

[68] Comentário enviado por lpossamai em 02/09/2012 - 21:00h

gustavopnp, qual versão do Dovecot você está usando?

[69] Comentário enviado por guilhermealano em 24/12/2013 - 10:17h

psyscrem, ao acessar o squirrelmail esta dando o seguinte erro. "ERROR: Connection dropped by IMAP server."
E ao iniciar ou reinicar o dovecot retorna os erros, sendo que segui sua orientação conforme no post acima. Voce sabe o que pode estar ocorrendo?
service dovecot restart
Parando o Dovecot Imap: [ OK ]
Iniciando o Dovecot Imap: doveconf: Warning: NOTE: You can get a new clean config file with: doveconf -n > dovecot-new.conf
doveconf: Warning: Obsolete setting in /etc/dovecot/dovecot.conf:91: protocol { ssl_listen } has been replaced by service { inet_listener { address } }
doveconf: Warning: Obsolete setting in /etc/dovecot/dovecot.conf:92: ssl_cert_file has been replaced by ssl_cert = <file
doveconf: Warning: Obsolete setting in /etc/dovecot/dovecot.conf:93: ssl_key_file has been replaced by ssl_key = <file
doveconf: Warning: Obsolete setting in /etc/dovecot/dovecot.conf:106: login_executable has been replaced by service { executable }
doveconf: Warning: Obsolete setting in /etc/dovecot/dovecot.conf:107: mail_executable has been replaced by service { executable }
doveconf: Warning: Obsolete setting in /etc/dovecot/dovecot.conf:116: add auth_ prefix to all settings inside auth {} and remove the auth {} section completely
doveconf: Warning: Obsolete setting in /etc/dovecot/dovecot.conf:119: passdb pam {} has been replaced by passdb { driver=pam }
doveconf: Warning: Obsolete setting in /etc/dovecot/dovecot.conf:121: passdb sql {} has been replaced by passdb { driver=sql }
doveconf: Warning: Obsolete setting in /etc/dovecot/dovecot.conf:124: userdb passwd {} has been replaced by userdb { driver=passwd }
doveconf: Warning: Obsolete setting in /etc/dovecot/dovecot.conf:126: userdb sql {} has been replaced by userdb { driver=sql }
[ OK ]

[70] Comentário enviado por rmea34 em 20/06/2014 - 23:45h

Ola como vai tudo bem
quando eu vou isntalar o posftix ele da erro
da uma olhada na imagem para ver o erro
me add no skype rmea34@hotmail.com
https://www.dropbox.com/s/yfrglwzdomr7gdg/postfix.png
Me ajuda o erro esta ai como fazer para instalar o postfix com este erro


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts