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!
## Diretorio Base ##
base_dir = /var/run/dovecot/ ## Protocolos que ele ira executar ##
protocols = imap imaps pop3 pop3s
log_timestamp = '%Y-%m-%d %H:%M:%S '
syslog_facility = mail ## Dados do SSL ##
ssl_listen = localhost
ssl_cert_file = /etc/postfix/mail-cert.pem
ssl_key_file = /etc/postfix/mail-key.pem
ssl_parameters_regenerate = 168
verbose_ssl = no
mail_location = maildir:/var/vmail/%d/%u
mail_access_groups = mail
mail_debug = no
first_valid_uid = 150
last_valid_uid = 150
maildir_copy_with_hardlinks = yes
protocol imap {
}
protocol pop3 { # Login executable location.
login_executable = /usr/libexec/dovecot/pop3-login
mail_executable = /usr/libexec/dovecot/pop3
pop3_uidl_format = %08Xu%08Xv
}
protocol lda {
sendmail_path = /usr/lib/sendmail
auth_socket_path = /var/run/dovecot/auth-master
}
auth_verbose = no
auth_debug = no
auth default {
mechanisms = plain
passdb pam {
}
passdb sql {
args = /etc/dovecot-sql.conf
}
userdb passwd {
}
userdb sql {
args = /etc/dovecot-sql.conf
}
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
}
}
}
dict {
}
plugin {
}
Agora vamos criar o dovecot-sql.conf para o dovecot se comunicar com MySQL:
# 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
[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 !
[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:
[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:
[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
# /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
[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:
[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
[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)
[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
[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..
[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' )
[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.
[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.
[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.
[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...
[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.
É 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.
[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...
[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.
[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"?
[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
[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.
[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
[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 !!
[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 ??
[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
[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 :/
[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:
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:
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...)
[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