Debian + Postfix + MySQL + PostfixAdmin + MailScanner + Webmail + Quotas

Procurei uma solução para servidor de email que contivesse domínios virtuais, quota, um gerenciador web, um webmail e mensagem automática de férias. Acabei encontrando e efetuando a implementação e como ela está bem estável, resolvi compartilhá-la com todos vocês.

[ Hits: 99.951 ]

Por: Douglas Q. dos Santos em 16/09/2010 | Blog: http://wiki.douglasqsantos.com.br


Instalação dos pacotes para a configuração do Postfixadmin



Instalar os pacotes necessários para que o nosso postfixadmin funcione corretamente.

# aptitude install mysql-server mysql-client php5 php5-mysql php5-imap php5-mcrypt php5-json php5-xmlrpc php5-dev php5-common apache2 apache2-mod-php5 phpmyadmin php-pear

Informe a senha para o root do banco de dados MySQL e confirme-a, depois informe a opção apache2 na segunda tela, que é a tela de configuração do phpmyadmin.

Configuração do usuário para a base de dados do email fazer a conexão com o postfix.

Vamos criar a estrutura necessária para o postfixadmin.

Agora vamos fazer a configuração segura do mysql-server:

# mysql_secure_installation

Informe a senha do root.

Change the root password? [Y/n] n
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

# mysql -u root -p
mysql> CREATE DATABASE mail;
mysql> CREATE USER mail@localhost IDENTIFIED BY "senha";
mysql> GRANT ALL PRIVILEGES ON mail.* TO mail@localhost;
mysql> FLUSH PRIVILEGES;
mysql> quit;

Instando e configurando o pam-mysql

Vamos instalar o pacote necessário para o nosso trabalho e vamos já configurar o arquivo que vai ser utilizado para a autenticação do postfix no MySQL.

# aptitude install libpam-mysql
# vim /etc/pam.d/smtp


auth required pam_mysql.so user=mail passwd=senha host=localhost db=mail table=mailbox usercolumn=username passwdcolumn=password crypt=1 sqllog=0 debug
account sufficient pam_mysql.so user=mail passwd=senha host=localhost db=mail table=mailbox usercolumn=username passwdcolumn=password crypt=1 sqllog=0 debug
auth sufficient pam_unix.so debug
account sufficient pam_unix.so debug

Configurando o Apache2

Vamos gerar os certificados para a nossa conexão segura.

# mkdir -p /etc/ssl/apache
# cd /etc/ssl/apache
# openssl genrsa -des3 -out server.key 1024
# openssl req -new -key server.key -out server.csr
# openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
# chmod 0400 server.*
# cp server.key server.key.orig
# openssl rsa -in server.key.orig -out server.key
# chmod 0400 /etc/ssl/apache/*


# vim /etc/apache2/sites-available/mailadmin

<VirtualHost *:443>
    ServerAdmin webmaster@dominio.com.br
    DocumentRoot "/usr/local/sites/postfixadmin"
    ServerName mailadmin.dominio.com.br:443
    ServerAlias mailadmin.dominio.com.br:443
    ErrorLog "/var/log/mailadmin.dominio.com.br-error_log"
    CustomLog "/var/log/mailadmin.dominio.com.br-access_log" common
    <Directory "/usr/local/sites/postfixadmin">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order Allow,deny
    Allow From All
    </Directory>
    SSLEngine on
    #Abaixo uma linha unica
    SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
    SSLCertificateFile "/etc/ssl/apache/server.crt"
    SSLCertificateKeyFile "/etc/ssl/apache/server.key"
    <FilesMatch "\.(cgi|shtml|phtml|php)$">
        SSLOptions +StdEnvVars
    </FilesMatch>
    BrowserMatch ".*MSIE.*" \
    nokeepalive ssl-unclean-shutdown \
    downgrade-1.0 force-response-1.0

    CustomLog "/var/log/httpd-ssl_request.log" \
    "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
    ServerSignature Off
</VirtualHost>

# vim /etc/apache2/ports.conf

[...]
NameVirtualHost *:443

# a2enmod ssl
# vim /etc/php5/apache2/php.ini


[...]
include_path = "."
[...]
magic_quotes_gpc = Off

# mkdir -p /usr/local/sites
# cd /usr/local/sites
# wget -c
http://ufpr.dl.sourceforge.net/project/postfixadmin/postfixadmin/postfixadmin-2.3.1/postfixadmin-2.3.1.tar.gz
# tar -xzvf postfixadmin-2.3.1.tar.gz
# mv postfixadmin-2.3.1 postfixadmin
# chown -R root:www-data postfixadmin/
# cd postfixadmin


Vamos editar o arquivo de configuração principal do postfixadmin:

# vim config.inc.php

[...]
$CONF['configured'] = true;
[...]
$CONF['default_language'] = 'pt-br';
[...]
$CONF['database_user'] = 'mail';
$CONF['database_password'] = 'senha';
$CONF['database_name'] = 'mail';
[...]
$CONF['admin_email'] = 'postmaster@seudominio';
[...]
$CONF['page_size'] = '20';
$CONF['default_aliases'] = array (
    'abuse' => 'abuse@seudominio.com.br',
    'hostmaster' => 'hostmaster@seudominio.com.br',
    'postmaster' => 'postmaster@seudominio.com.br',
    'webmaster' => 'webmaster@seudominio.com.br'
);
[...]
$CONF['domain_path'] = 'YES';
$CONF['domain_in_mailbox'] = 'YES';

[...]
$CONF['maxquota'] = '1000';
$CONF['quota'] = 'YES';
[...]
$CONF['transport'] = 'YES';
$CONF['transport_options'] = array (
    'virtual', // for virtual accounts
    'local', // for system accounts
    'relay', // for backup mx
    'vacation'
);
[...]
$CONF['vacation'] = 'YES';
$CONF['vacation_domain'] = 'autoreply.seudominio.com.br';
[...]

$CONF['welcome_text'] = <<<EOM
Ola,

Bem vindo a sua nova conta de email.
Qualquer duvida favor entrar em contato com o departamento de TI.
EOM;

$CONF['emailcheck_resolve_domain']='NO';

# a2ensite mailadmin
# apache2ctl restart


Agora acesse a seguinte url:

https://mailadmin.dominio.com.br/setup.php

Se tudo estiver ok é só informar uma senha para o administrador e inserir o hash que será gerado no arquivo /usr/local/sites/postfixadmin/config.php.

# vim /usr/local/sites/postfixadmin/config.php

$CONF['setup_password'] = 'fd4a7b3f33e96be9f3b2d095cb14059d:972c9b28d2ad6ac91a58078d575f66c90973c904';

Agora você pode cadastrar o usuário administrador, informe a senha que gerou o hash, após isso informe um email e uma senha e confirme a senha.

Agora vamos tirar o acesso a esta página de configuração.

# chmod 000 /usr/local/sites/postfixadmin/setup.php

Agora pode acessar a seguinte url e cadastrar os domínios e usuários:

https://mailadmin.dominio.com.br

Informe o email que você cadastrou e a senha.

Agora é só gerenciar esta tela, é muito intuitiva, então não vou precisar explicá-la, somente peço que comecem a criar contas depois de terminar este tutorial, pois se começar criar agora não vai ser gerado o home para os emails dos usuários.

Configurando o vacation

# groupadd vacation
# useradd -d /var/spool/vacation -g vacation -s /bin/false -m vacation
# cp /usr/local/sites/postfixadmin/VIRTUAL_VACATION/vacation.pl /var/spool/vacation
# mkdir /var/log/vacation/
# chown -R vacation:vacation /var/spool/vacation/
# chown -R vacation:vacation /var/log/vacation/
# chmod 750 /var/spool/vacation/
# chmod 700 /var/spool/vacation/vacation.pl
# touch /var/log/vacation.log
# chown vacation:vacation /var/log/vacation.log


Instalando algumas dependências para o nosso vacation:

# aptitude install libmail-sender-perl libemail-valid-perl libmime-perl liblog-log4perl-perl liblog-dispatch-perl libgetopt-argvfile-perl libmime-charset-perl libmime-encwords-perl

# vim /var/spool/vacation/vacation.pl

#our $db_type = 'Pg';
our $db_type = 'mysql';
our $db_host = 'localhost';
our $db_user = 'mail';
our $db_pass = 'senha';
our $db_name = 'mail';
our $vacation_domain = 'autoreply.dominio.com.br';
our $logfile = "/var/log/vacation.log";
our $syslog = 1;
our $interval = 1*1*1;
[...]

Agora você já pode cadastrar o seu domínio vacation.

Este domínio tem que ser o mesmo do arquivo de configuração /var/spool/vacation/vacation/vacation.pl em $vacation_domain, que no exemplo eu utilizei autoreply.dominio.com.br.

Vá em:

https://mailadmin.dominio.com.br

E cadastre um novo domínio, exemplo:

autoreply.dominio.com.br

Coloque uma descrição nele exemplo: Domínio de Férias. E em tipo de transporte escolha vacation. Agora confirme a criação do domínio.

Para que usar o vacation? Quando um usuário sai de férias podemos utilizar o vacation para enviar um email de reposta para cada email enviado para o usuário que está em férias com uma mensagem pré-definida, por exemplo que o usuário estará ausente de data tal até data tal.

Para habilitar isso vá até a conta o usuário que sairá de férias e clique no link Mode de Férias. Defina uma mensagem para ele e clique em Definir Mensagem.

Pronto, agora toda a mensagem enviada para este usuário será respondida automaticamente pelo vacation.

Página anterior     Próxima página

Páginas do artigo
   1. O que será tratado neste artigo
   2. Algumas configurações iniciais
   3. Instalação dos pacotes para a configuração do Postfixadmin
   4. Instalando o Postfix, Courier, SASL
   5. Instalação e configuração do Clamav e MailScanner
   6. Instalação e configuração do Webmail
Outros artigos deste autor

Apache em chroot + MySQL + PHP + mod_security + mod_evasive + vsftpd + Fail2ban + Debian Squeeze

Debian Lenny com Kernel 2.6.28 + Layer7 + Firewall

Alta disponibilidade com Debian Lenny + Heartbeat + DRBD8 + OCFS2 + MONIT + LVS

Bind9 em chroot no Debian Lenny

Servidor Jabber com Openfire + MySQL + Debian Lenny

Leitura recomendada

Instalando MTA Sceo no FreeBSD 7.1

Benchmark entre servidores de e-mails

Abrindo arquivos TNEF

Postfix + MySQL + Submission Port + Dovecot + Postfix Admin no CentOS 6.3

Zimbra no Debian 5

  
Comentários
[1] Comentário enviado por dolivervl em 16/09/2010 - 18:36h

Parabéns !! Mto bom o artigo.

[2] Comentário enviado por elvanineto em 16/09/2010 - 18:52h

Cara, ótimo artigo. Irei testar no fim de semana como laboratório.

[3] Comentário enviado por renatomartins em 16/09/2010 - 20:52h

Douglas uma outra boa opção tb é o sceo ele faz tudo isso que voce procurava e um pouco mais, devido uma linguagem interna propria bem simples que lhe ajuda a programar e deixar o servidor da maneira que voce quiser, lhe dando muitas alternativas na hora de executar tarrefas administrativas cm muita facilidade.

fica a dica que precisar de um mta bem flexivel use o sceo www.sceo.com.br

suporte dominio e virtuais em mysql ou arquivo texto
quota
quota de envio
ant-virus
greylist
spf
spamassassin
scripts
autoresonder
monitoramento

[4] Comentário enviado por psfdeveloper em 17/09/2010 - 09:13h

Cara, parabéns, esse artigo é impressionante. E se trata de um assunto que eu sempre tive dificuldade, que é configuração de servidores de e-mail.

Abraços.

[5] Comentário enviado por douglas_dksh em 17/09/2010 - 09:53h

Nos repositóriso na pagina 2 esses aqui não podem estar comentados.
#Postfix com patch para cotas.
#deb http://debian.home-dn.net/lenny postfix-vda/
#deb-src http://debian.home-dn.net/lenny postfix-vda/

tem que ficar assim
#Postfix com patch para cotas.
deb http://debian.home-dn.net/lenny postfix-vda/
deb-src http://debian.home-dn.net/lenny postfix-vda/


Pois sao nesses repositorios que ja temos o postfix com um patch para o suporte a cotas senao tem que baixar o postfix baixar o patch e recompilar tudo.


Desculpem pelo erro.

[6] Comentário enviado por ramos1986 em 17/09/2010 - 10:54h

Parabéns pelo artigo.

[7] Comentário enviado por abertuqui em 17/09/2010 - 11:28h

Bom artigo.

Quem busca um excelente servidor de e-mail com constantes atualizações e novos recursos, por favor, não deixem de conhecer em: http://www.iredmail.org


[8] Comentário enviado por johnnyfsan em 18/09/2010 - 00:12h

Parabens Douglas,
bom ver você crescendo assim.
Que nos traga bons artigos ainda.
hehehe!!

Abraçoo

Johnny Ferreira

[9] Comentário enviado por douglas_dksh em 18/09/2010 - 08:52h

Valew Johnny.

E quero postar muitos outros artigos para ajudar a nossa comunidade.


Viva o Linux.

Obrigado a todos pelo apoio e o incentivo de sempre estar trazendo novas soluçoes para o nosso dia-a-dia.

abraço.

[10] Comentário enviado por nildopd em 21/09/2010 - 11:18h

poxa parabens mano ... vou testa no servidor cobaia aqui... abraço ...

[11] Comentário enviado por kleison paiva em 22/09/2010 - 15:27h

olá;
ótimo tutorial ! mas estou seguindo ele aqui para configurar meu servidor, mas estou tendo problemas ao logar no postfix.admin. Fiz as configurações exatamente como no exemplo, mas quando digito o usuário = mail e a senha = senha, aparece a seguinte mensagem :
DEBUG iNFORMATION:
Invalid query: Table 'mail.admin' doesn't exist

Please check the documentation and website for more information.

[12] Comentário enviado por douglas_dksh em 27/09/2010 - 10:51h

bom dia.

cara pelo erro tem algo de errado na tabela aonde estão cadastrados os usuários que podem administrar o seu postfixadmin.

# mysql -u root -p

myql> use mail;

mysql> select username,password, active from admin;
+---------------------------+------------------------------------+--------+
| username | password | active |
+---------------------------+------------------------------------+--------+
| douglashx@gmail.com | $1$544dd7d5$agNG9KyUvGaZK61xff3Xb/ | 1 |
| suporte@dominio.com | $1$33e6e1a1$BhW44tZG72LNmOd4MgSST. | 1 |
+---------------------------+------------------------------------+--------+
2 rows in set (0.01 sec)

mysql>


note que no meu select tem 2 usuários cadastrados e ativos.

acesse o seu mysql e consulte essa tabela para verificar se tem os usuários.


verifique também se a base foi criada, cheque a sua configuração do postfixadmin e a configuração do mysql e verifique se foi criado a base para o postfixadmin.

pois se não foi criado a base para ele não vai ter de onde ele consultar.

Douglas.

[13] Comentário enviado por neonx em 15/10/2010 - 13:26h

muito bom o artigo... só que assim estou tendo um pequeno problema no postfixadmin o mesmo não está criando as contas de e-mail cria no banco tdo mas no sistema nao é criado o maildir deles tens alguma ideia do que pode ser feito?

[14] Comentário enviado por douglas_dksh em 15/10/2010 - 13:34h

Boa tarde quem cria os maildir é o mailscanner se vc ainda nao configurou ele então as caixas de mensagens não serao criadas.

Termine toda a configuração para entao começar a enviar emails.


Douglas.

[15] Comentário enviado por neonx em 15/10/2010 - 20:36h

a sacada é que já fiz toda a configuração e mesmo assim o mesmo continua não criando... na real estou me aventurando agora na questao do debian eu jah tenho outros servidores de e-mail funcionando (em slackware) desta mesma forma nos q eu fiz tbm tive problemas semelhantes que foi no postfixadmin antigo ao qual nao criava as contas.... nessa sua config o problema persiste???

[16] Comentário enviado por douglas_dksh em 16/10/2010 - 08:33h

Bom dia.

então caro colega, se voce conseguiu implementar a mesma solução usando o slackware, deveria conseguir resolver supostos problemas em relação a não criação de maildir.

Vamos a alguns pontos.

Você achou algum possivel erro nos arquivos de log ?

Não houve nem um arquivo digitado incorretamente ?

Todos os pacotes e dependencias foram instalados sem nem um erro ?

Houve alguma customização de kernel, que possa influênciar no processo de implementação do seu servidor ?

Eu fiz essa implementação várias vezes antes de postar aqui no VOL, pois o meu objetivo é somente ajudar o pessoal com alguns tipos de implementações em especifico.

E Desculpa de distribuições linux diferentes é somente pretesto para uma não resolução de problema e como você trabalha com o slackware qualquer tipo de problema com algum pacote de repositórios do debian você pode baixar o pacote da equipe de desenvolvimento e compilar ele e ativar as opções necessárias para a utilização em sua implementação.


Douglas.

[17] Comentário enviado por neonx em 16/10/2010 - 20:24h

olha nao esto utilizando pretexto de distribuicoes ou o q... o que eu quiz dizer eh que eu usei no slackware uma versao do postfixadmin ao qual tive que efetuar algumas modificações pois havia algum problema com relacao a criacao do maildir,eu usava tambem com maildrop ao qual faria tal criação, a minha suposta pergunta é se na sua versao ele cria automaticamente ou terei que fazer tais modificações no postfixadmin, outra coisa fiz exatamente o que está descrito no seu artigo que está muito bem explicado por sinal, também com relacao ao seus testes tenho plenas convicções de que seus testes foram satisfatorios e como já contribuo com o VOL a algum tempo não estou aqui para julgar mas apenas para contribuir com a galera livre...

Muito obrigado por sua contribuição.
Ânderson

[18] Comentário enviado por wishsometimes em 19/11/2010 - 18:11h

Olá amigos, achei muito bacana esse tutorial e está de parabéns. Resolvi testar o passo a passo e cheguei a concluir até o final porém quanto tento de qualquer forma logar com uma conta de e-mail utilizando pop ou imap me aparece a seguinte mensagem:

pop3d: authentication error: Input/output error

Será que tem algum detalhe que está faltando? Depois da instalação revisei todos os confs citados no tutorial, independente agradeço a oportunidade de aprimorar meus conhecimentos.

Att, Sérgio Ricardo

[19] Comentário enviado por nildopd em 20/11/2010 - 10:54h

amigo WISHSOMETIMES bom dia.


você já viu se no seu firewall está librado as portas pop e imap e do sql tb?

[20] Comentário enviado por wishsometimes em 23/11/2010 - 10:16h

Pra ser exato esse micro não tem nenhuma regra de firewall, a única coisa que fiz foi ativar o repasse de pacote.

Att, Sérgio Ricardo

[21] Comentário enviado por marcati em 04/12/2010 - 13:53h

Fala galera,
Primeiro agradeço o tutorial.
Bom, vamos ver se alguem pode me ajudar, estou seguindo seu tutorial.. mas estou parado no https://mailadmin.meudominio.com.br/installer

A instalacao do apache2-mod-php5 deu um erro, sera q não esta errado? nao eh libapache2-mod-php5? se for, eu instalei isso, mas mesmo assim continua nao acessando o site...

O do webmail eu consegui.. mais soh tem http://webmail.meudominio.com.br...

podem me ajudar? escrevi meio rapido.. espero que entendam...

abraço a todos

[22] Comentário enviado por removido em 25/12/2010 - 23:35h

Feliz Natal...obrigado pelo exemplo...mas acho que algo nao esta ok.....

olha a data que estou fazendo este exemplo.... 25-12-2010 23:35 - muita determinacao né ? kkkkk
o que esta me frustrando um pouco é que ja tentei alguns exemplos de instalacao do postfix e nao
consigo concluir com exito porque sempre tem algo que nao dá certo :-(

Fiz a risca tudo como mostra o exemplo.... mas nao abriu nada a linha abaixo?

https://mailadmin.dominio.com.br/setup.php


Quando fala no exmeplo em "seudominio.com.br" .... seria algo como "gmail.com"... pois eu nao tenho dominio... ou isso é tudo ficticio... desculpe...

Poderiam me ajudar, por favor?

Obrigado


ps - estou galgando no aprendizado do linux debian

[23] Comentário enviado por sirrengaw em 02/03/2011 - 12:06h

Olá Douglas, parabéns pelo Artigo, realmente está ajudando muito...
Estou com uma dúvida...
Aqui eu coloquei todos os hostnames voltados para mail.dominio.etc...

e ta tudo rodando belezinha, a única coisa que eu nao consegui ainda, é quando eu cadastro um
email, e vou no outlook e trago como conf de IMAP, ele só traz a pasta CAIXA DE ENTRADA e mais nada.

Tem alguma coisa que eu possa fazer pra ele trazer todas as pastas, como: Lixeira, Rascunho, Enviados?

As pastas normais que eu crio dentro do webmail ou pelo outlook se eu atualizo o imap, elas vem normal...

Tem alguma ideia do que pode ser esse erro?
Abraço
Wagner

[24] Comentário enviado por lberaldi em 12/07/2011 - 14:00h

Ola Douglas, gostei muito do tutorial, mas estou tendo um problema que imagino ser alguma besteira... quando desativo uma conta pelo postfixadmin ela trava para tudo exceto para enviar uma mensagem atraves do smtp por exemplo.
Ela trava o login do pop3, do imap, no webmail (que usa o imap) mas o smtp parece nao estar considerando o campo active do mysql quando faz a autenticacao.
Se puder me ajudar agradeço.
abs.

[25] Comentário enviado por dimago em 07/08/2011 - 23:27h

Boa noite Srs,

Douglas, parabéns pela iniciativa e pelo tutorial. Eu sempre usei dovecot e nunca usei com mysql. Resolvi sim experimentar esse tutorial, pois gostei muito dos players que voce usou e quero fica mais "amigo" do courier.

Bom, estou tendo alguns problemas, que já passei o dia procurando e nao encontrei. Quando tento acesso via webmail, ele me dá erro "Falha na Conexao com servidor IMAP" se faço via telnet, aparentemente NAO tenho problemas.

Configurei o outlook para recebimento, e com ele, pego esse erro no log:

Aug 7 23:21:20 smtp pop3d: Connection, ip=[::ffff:192.168.1.102]
Aug 7 23:21:20 smtp authdaemond: received auth request, service=pop3, authtype=login
Aug 7 23:21:20 smtp authdaemond: authmysql: trying this module

Aug 7 23:21:20 smtp authdaemond: SQL query: SELECT username, password, password, 109, 109, "/home/MAIL/vmail", CONCAT("/home/MAIL/vmail/",maildir), concat(quota,'S'), name, "" FROM mailbox WHERE username = 'diego@dominio.com.br'

Aug 7 23:21:20 smtp authdaemond: password matches successfully

Aug 7 23:21:20 smtp authdaemond: authmysql: sysusername=<null>, sysuserid=109, sysgroupid=109, homedir=/home/MAIL/vmail, address=diego@dominio.com.br, fullname=Diego Gomes, maildir=/home/MAIL/vmail/dominio.com.br/diego@dominio.com.br/, quota=102400000S, options=<null>

Aug 7 23:21:20 smtp authdaemond: Authenticated: sysusername=<null>, sysuserid=109, sysgroupid=109, homedir=/home/MAIL/vmail, address=diego@dominio.com.br, fullname=Diego Gomes, maildir=/home/MAIL/vmail/dominio.com.br/diego@dominio.com.br/, quota=102400000S, options=<null>

Aug 7 23:21:20 smtp pop3d: LOGIN, user=diego@dominio.com.br, ip=[::ffff:192.168.1.102], port=[50317]

Aug 7 23:21:20 smtp pop3d: scancur opendir("cur"): No such file or directory

detalhe: este diretorio aqui: "maildir=/home/MAIL/vmail/dominio.com.br/diego@dominio.com.br/" nao estava criado, eu criei nao mai, pensando que poderia ser isso, mas sem sucesso.

O outlook fica solicitando o login.

Se voce puder me dar uma luz ou outro amigo do vol que possa ter passado pelo mesmo problema, eu agradeço.

Obrigado,

Diego

[26] Comentário enviado por nildopd em 08/08/2011 - 00:31h

amigao DIMAGO, bom dia.

ja reparou como esta a configuraçao do SMTP IMAO ou POP3 ? pelo q eu vi no seu log agora
"Aug 7 23:21:20 smtp authdaemond: received auth request, service=<b>pop3</b>, authtype=login"

esta autenticando como pop3 e nao imap, verificar direitinho.... forte abraço e boa sorte.

em caso nao conseguir resolver, coloca o log completo tentarei te ajudar vlw... abraço

[27] Comentário enviado por dimago em 08/08/2011 - 08:39h

Oi nildo, bom dia!

a configuração que fiz no outlook foi pop3 realmente. Bom, sinceramente, nao consigo ver problema quanto a isso.

eu percebi que ele nao está criando sozinho o Maildir do usuário depois de criar ele no postfix admin e mandar um e-mail (nesse momento ele deveria criar a cx do usuário)

acredito que deva ter algo a ser feito no courier, mas como disse, sou crú no uso do courier..

Continuo com os debugs

Obrigado

[28] Comentário enviado por bctol em 16/08/2011 - 10:58h

Muito bom o artigo, tava precisando mesmo, vou testa-lo fim de semana. Só me da uma dica,
Tenho um cliente, que quer que somente os anexos e/ou imagens no e-mail enviados pelas contas da diretoria sejam visualizados, o demais e-mail da empresa, não poderia visualizar imagens no corpo ou no anexo da mensagens que não seja da diretoria. Tem como fazer isso?

[29] Comentário enviado por irgn em 24/05/2012 - 04:02h

Boas a todos,
eu estou a configurar o meu servidor de linux numa maquina de teste, já varios artigos e sempre me da o erro:
DEBUG INFORMATION:
Invalid query: Table 'mail.admin' doesn't exist.
Porque eu segui todos os passos correctamento.

Fiz assim e nada!
mysql> use mail;
Database changed
mysql> select username, password, active from admin;
ERROR 1146 (42S02): Table 'mail.admin' doesn't exist
mysql>

[30] Comentário enviado por douglas_dksh em 24/05/2012 - 08:44h

Velho da uma olhada aqui neste artigo, que tem as correções.

http://www.douglas.wiki.br/doku.php?id=email_completo

[31] Comentário enviado por odecam em 19/10/2012 - 13:22h

Olá Pessoal,

Efetuei a instalação no Debian Squeeze e tive o mesmo problema do amigo neonx, não estava subindo o Mailscanner e conseqüentemente não criava as maildir.

Para corrigir o problema basta inserir o parâmetro -U no arquivo /usr/sbin/MailScanner como abaixo:

#!/usr/bin/perl -I/usr/share/MailScanner/

Inserir o parâmetro no final

#!/usr/bin/perl -I/usr/share/MailScanner/ -U

Depois só reiniciar o serviço do mailscanner e ser feliz.

Abraço.

[32] Comentário enviado por andrew_ em 24/12/2012 - 02:52h

Boa Noite uma pergunta eu já tenho um server com algumas paginas hospedadas e o meu NameVirtualHost *:80 existe um jeito de usa usar o NameVirtualHost *:443 junto ou qual seria a forma correta dessa configuração?

os meus sites estão em home/<site>/<www>
e gostaria de usar para o e-mail as configurações /home/<site>/e-mail/
como ficaria as minhas configurações? assim ?

<VirtualHost *:443>
ServerAdmin webmaster@dominio.com.br
DocumentRoot "/home/site/postfixadmin"
ServerName mailadmin.dominio.com.br:443 (ou 80?)
ServerAlias mailadmin.dominio.com.br:443 ( ou 80 ?)
ErrorLog "/var/log/mailadmin.dominio.com.br-error_log"
CustomLog "/var/log/mailadmin.dominio.com.br-access_log" common
<Directory "/home/site/postfixadmin">
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order Allow,deny
Allow From All
</Directory>
SSLEngine on
#Abaixo uma linha unica
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
SSLCertificateFile "/etc/ssl/apache/server.crt"
SSLCertificateKeyFile "/etc/ssl/apache/server.key"
<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
BrowserMatch ".*MSIE.*" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0

CustomLog "/var/log/httpd-ssl_request.log" \
"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
ServerSignature Off
</VirtualHost>

grato des de já

[33] Comentário enviado por douglas_dksh em 24/12/2012 - 10:31h

Cara você só vai precisar mudar o DocumentRoot

Não sei se o seu email já esta em /home/site/e-mail, caso não esteja mude ele para lá.

E no DocumentRoot mude de /home/<site>/<www> para
DocumentRoot "/home/site/e-mail"

Depois disso pode dar um reload no apache e testar :D

[34] Comentário enviado por andrew_ em 25/12/2012 - 17:48h


[33] Comentário enviado por douglashx em 24/12/2012 - 10:31h:

Cara você só vai precisar mudar o DocumentRoot

Não sei se o seu email já esta em /home/site/e-mail, caso não esteja mude ele para lá.

E no DocumentRoot mude de /home/<site>/<www> para
DocumentRoot "/home/site/e-mail"

Depois disso pode dar um reload no apache e testar :D



Eu acho que me esperecei errado, minha duvida e a seguinte eu tenho aluns sites da porta 80 quando eu mudo o NameVirtualHost *: de NameVirtualHost *:80 para NameVirtualHost *:443 e reinicio o apache meus sites não funcionam devidos a estarem na porta 80 qual seria a melhor forma de resolver isso?

[35] Comentário enviado por douglas_dksh em 25/12/2012 - 19:00h

cara da uma olhada no arquivo /etc/apache2/ports.conf

o arquivo tem que estar da seguinte forma caso seja debian :D

/etc/apache2/ports.conf
# If you just change the port or add more ports here, you will likely also
# have to change the VirtualHost statement in
# /etc/apache2/sites-enabled/000-default
# This is also true if you have upgraded from before 2.2.9-3 (i.e. from
# Debian etch). See /usr/share/doc/apache2.2-common/NEWS.Debian.gz and
# README.Debian.gz

NameVirtualHost *:80
NameVirtualHost *:443
Listen 80

<IfModule mod_ssl.c>
# If you add NameVirtualHost *:443 here, you will also have to change
# the VirtualHost statement in /etc/apache2/sites-available/default-ssl
# to <VirtualHost *:443>
# Server Name Indication for SSL named virtual hosts is currently not
# supported by MSIE on Windows XP.
Listen 443
</IfModule>

<IfModule mod_gnutls.c>
Listen 443
</IfModule>


Note que agora tem o NameVirtualHost *:443 assim você pode colocar vários virtualhosts trabalhando na porta 443.

Agora caso você queira que quando um usuário fizer uma requisição na porta 80 e ser direcionado para a porta 443 é só fazer como o exemplo abaixo.

im /etc/apache2/sites-available/postfixadmin
<VirtualHost *:80>
ServerName postfixadmin.douglas.wiki.br
Redirect / https://postfixadmin.douglas.wiki.br/
</VirtualHost>

<VirtualHost *:443>
ServerAdmin webmaster@douglas.wiki.br
ServerName postfixadmin.douglas.wiki.br
DocumentRoot "/var/www/postfixadmin"
<Directory "/var/www/postfixadmin">
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order Allow,deny
Allow From All
</Directory>

# ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
# <Directory "/usr/lib/cgi-bin">
# AllowOverride None
# Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
# Order allow,deny
# Allow from all
# </Directory>

<IfModule mod_php5.c>
AddType application/x-httpd-php .php
php_flag expose_php Off
php_flag allow_url_fopen Off
php_flag allow_url_include Off
php_flag magic_quotes_gpc Off
php_flag register_globals Off
php_flag disable_functions show_source
php_flag disable_functions system
php_flag disable_functions shell_exec
php_flag disable_functions passthru
php_flag disable_functions exec
php_flag disable_functions popen
php_flag disable_functions proc_open
php_flag disable_functions symlink
</IfModule>
CustomLog /var/log/apache2/postfixadmin.access.log combined
ErrorLog /var/log/apache2/postfixadmin.error.log
LogLevel warn
SSLEngine on
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
SSLCertificateFile "/etc/ssl/apache/server.crt"
SSLCertificateKeyFile "/etc/ssl/apache/server.key"
<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
BrowserMatch ".*MSIE.*" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
ServerSignature Off
</VirtualHost>

Teste e avise.

[36] Comentário enviado por andrew_ em 25/12/2012 - 23:30h


[35] Comentário enviado por douglashx em 25/12/2012 - 19:00h:

cara da uma olhada no arquivo /etc/apache2/ports.conf

o arquivo tem que estar da seguinte forma caso seja debian :D

/etc/apache2/ports.conf
# If you just change the port or add more ports here, you will likely also
# have to change the VirtualHost statement in
# /etc/apache2/sites-enabled/000-default
# This is also true if you have upgraded from before 2.2.9-3 (i.e. from
# Debian etch). See /usr/share/doc/apache2.2-common/NEWS.Debian.gz and
# README.Debian.gz

NameVirtualHost *:80
NameVirtualHost *:443
Listen 80

<IfModule mod_ssl.c>
# If you add NameVirtualHost *:443 here, you will also have to change
# the VirtualHost statement in /etc/apache2/sites-available/default-ssl
# to <VirtualHost *:443>
# Server Name Indication for SSL named virtual hosts is currently not
# supported by MSIE on Windows XP.
Listen 443
</IfModule>

<IfModule mod_gnutls.c>
Listen 443
</IfModule>


Note que agora tem o NameVirtualHost *:443 assim você pode colocar vários virtualhosts trabalhando na porta 443.

Agora caso você queira que quando um usuário fizer uma requisição na porta 80 e ser direcionado para a porta 443 é só fazer como o exemplo abaixo.

im /etc/apache2/sites-available/postfixadmin
<VirtualHost *:80>
ServerName postfixadmin.douglas.wiki.br
Redirect / https://postfixadmin.douglas.wiki.br/
</VirtualHost>

<VirtualHost *:443>
ServerAdmin webmaster@douglas.wiki.br
ServerName postfixadmin.douglas.wiki.br
DocumentRoot "/var/www/postfixadmin"
<Directory "/var/www/postfixadmin">
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order Allow,deny
Allow From All
</Directory>

# ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
# <Directory "/usr/lib/cgi-bin">
# AllowOverride None
# Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
# Order allow,deny
# Allow from all
# </Directory>

<IfModule mod_php5.c>
AddType application/x-httpd-php .php
php_flag expose_php Off
php_flag allow_url_fopen Off
php_flag allow_url_include Off
php_flag magic_quotes_gpc Off
php_flag register_globals Off
php_flag disable_functions show_source
php_flag disable_functions system
php_flag disable_functions shell_exec
php_flag disable_functions passthru
php_flag disable_functions exec
php_flag disable_functions popen
php_flag disable_functions proc_open
php_flag disable_functions symlink
</IfModule>
CustomLog /var/log/apache2/postfixadmin.access.log combined
ErrorLog /var/log/apache2/postfixadmin.error.log
LogLevel warn
SSLEngine on
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
SSLCertificateFile "/etc/ssl/apache/server.crt"
SSLCertificateKeyFile "/etc/ssl/apache/server.key"
<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
BrowserMatch ".*MSIE.*" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
ServerSignature Off
</VirtualHost>

Teste e avise.

Agora sim eu entendi como funciona, acredito que fiz a configuração me desculpe a ignorância mais não consigo acessa o mailadmin.dominio.com.br ele me da um aviso de certificado ssl eu clico em continuar assim mesmo ai ele da um erro da pagina não pode ser ? oque sera que eu fiz de errado.

[37] Comentário enviado por douglas_dksh em 26/12/2012 - 08:40h

Cara pelo jeito é o DocumentRoot que ta errado.

Da uma analisada nos arquivos de logs do seu virtualhost que vai ter algo, de preferencia de uma olhada no arquivo de erro, se for falta de algo ele vai acusar.

[38] Comentário enviado por andrew_ em 16/01/2013 - 11:47h


[37] Comentário enviado por douglashx em 26/12/2012 - 08:40h:

Cara pelo jeito é o DocumentRoot que ta errado.

Da uma analisada nos arquivos de logs do seu virtualhost que vai ter algo, de preferencia de uma olhada no arquivo de erro, se for falta de algo ele vai acusar.


E alguma coisa dentro das configuações do config.inc.php fiz uma configuração diferente de um outro tutorial e funcionou. obrigado pela ajuda! agora como já passei do postfix admin vou continuar a tutorial.

[39] Comentário enviado por andrew_ em 19/01/2013 - 12:45h

Preciso da ajuda de vcs mais uma vez quando tento Salvar o arquivo header_checks o console me retorna o seguinte erro :

"/usr/local/etc/postfix/header_checks" E212: Impossível abrir arquivo para escrita
Aperte ENTER ou digite um comando para continuar

Alguem passo pelo mesmo problema ?

[40] Comentário enviado por douglas_dksh em 19/01/2013 - 13:59h

E ai cara, o diretório /usr/local/etc/postfix/ existe ?

isso geralmente é quando tentamos criar um arquivo em um diretório que não existe.

e esse how to ta meio desatualizado, da uma olhada no meu site que eles estão atualizados. www.douglas.wiki.br

[41] Comentário enviado por vauires em 27/05/2015 - 20:23h

Alguém conseguiu colocar o servidor Postfix no ar, seguindo essa porcaria de artigo???
Se alguém conseguiu sem tre que fazer varias correções inclusive de digitação, responde aqui no VOL como conseguiu esse milagre.
Mais uma vez perdi tempo com esse lixo eletrônico, nem um pouco didático e muito mal elaborado.
Sugiro a equipe do VOL que comecem a classificar artigos desse tipo como lixo eletrônico.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts