05.12  
Inicio arrow Artigos arrow How-To Postfix com SMTP AUTH, Anti-spam, Anti-vírus, Quota, Dominios Virtuais, Pop3 e Imap
Principal
Inicio
Noticias
Artigos
Regras da Lista
Assinar a Lista
Histórico da Lista
Galeria de Imagens
Contador Usuários FUG
FUGs Estaduais
Downloads
Enquetes
FAQ
Resumo do Site
Links
Pesquisar
Contato
Sobre a FUG-BR
RSS
-
DOC-BR (FUG BR)
Introdução
Projeto DOC-BR
Handbook
FAQ Oficial
-
+ Noticias
Alertas de Seguranca
Alertas em Ports
BSD em Geral
DaemonNews (Ingles)
MyFreeBSD
Todas Categorias
-
Login
Nome de Usuário

Senha

Lembrar login
Esqueceu sua senha?
Sem conta? Crie uma
Histórico da Lista
  • [FUG-BR] Sistema Contábil ou Sistema de Livro Caixa
  • Re: [FUG-BR] Sistema Contábil ou Sistema de Livro Caixa
  • Re: [FUG-BR] Sistema Contábil ou Sistema de Livro Caixa
  • [FUG-BR] OFF TOPIC - Pane no servidor de licenças SonicWall...
  • [FUG-BR] problemas para atualizar o sistema
  • [FUG-BR] Regras IPFW
  • Re: [FUG-BR] Regras IPFW
  • [FUG-BR] RES: Regras IPFW

  • Alertas em Ports
  • squirrelmail -- Cross site scripting vulnerability
  • cups -- multiple vulnerabilities
  • hplip -- hpssd Denial of Service
  • openoffice -- arbitrary code execution vulnerabilities
  • samba -- potential leakage of arbitrary memory contents



  • How-To Postfix com SMTP AUTH, Anti-spam, Anti-vírus, Quota, Dominios Virtuais, Pop3 e Imap PDF Imprimir E-mail
    Por Daniel Bristot de Oliveira   
    21/06/2006
    Índice de Artigos
    How-To Postfix com SMTP AUTH, Anti-spam, Anti-vírus, Quota, Dominios Virtuais, Pop3 e Imap
    Parte 2

    ImageO Postfix é um servidor de e-mail estável, leve e modular, sua modulariade permite integrá-lo a vários outros serviços, mantendo um baixo consumo de recursos.

    Iremos integrar o Postfix com as ferramentas mais utilizadas em servidores de e-mail: O Anti-Spam SpamAssassim, Anti-Vírus  Clamav, Courier-Maildrop, Courier-Imap, Cyrus-Salsl. A base de dados será armazenada no banco de dados MySQL, e o sistema terá suporte para múltiplos domínios. Também, como opcional, temos a configuração do UebiMial , um Webmail em PHP.

    Postfix

    Atenção: Se for copiar e colar os arquivos de configuração RETIRE OS COMENTÁRIOS!!!!!! POIS ELES PODEM CAUSAR ERROS, PRINCIPAMENTE SE ELES NÃO INICIAM NO COMEÇO DA LINHA.

     A ordem de configuração foi a que eu pessoalmente achei mais simples, primeiramente iremos configurar os sistemas que darão sustentação ao servidor, como a base de dados, depois iremos instalar e configurar os sistemas periféricos e ao final ligaremos tudo com o Postfix.

    MySQL

    O banco e dados será responsável pelo armazenamento e gerenciamento da base de dados dos usuários. A base de dados irá conter informações como, nome do usuário, domínio, cota em disco, local do armazenamento da mensagem, e outros informações que serão necessárias para alguns daemons. Um banco centralizado irá ajudar na administração pois todos os serviços iráo ter compatibilidade de informações.

    Instalando o Mysql

    A instalação do MySQL é feita através do ports, Neste caso utilizaremos a versão 5.0 do MySQL. O caminho para o ports do MySQL 5 é: /usr/ports/databases/mysql50-server Entre no ports e instale o MySQL, em geral somente o comando make fará o serviço, porém eu utilizei o seguinte comando.

    # make WITHOUT_INNODB=yes BUILD_STATIC=yes BUILD_OPTIMIZED=yes install

    Configurando o MySQL

    Configuração para o Sistema Operacional Existem algumas opções do /etc/rc.conf para a inicialização do banco de dados com o sistema, veja no quadro abaixo.

    mysql_enable="YES" Para habilitar o MySQL.

    mysql_dbdir="/var/db/mysql" Para especificar o local onde ficará a base de dados do MySQL.

    mysql_args="" Argumentos de linha de comando de inicialização do MySQL.


    Uma configuração padrão do rc.conf é a seguinte.

    ''mysql_enable="YES"''
    ''mysql_dbdir="/var/db/mysql"''

    A partir deste momento podemos inicializar o MySQL, como por padrão, foi criado um script de controle em /usr/loca/etc/rc.d, para iniciar o banco de dados execute:

    # /usr/local/etc/rc.d/mysql-server.sh start

    Configuração do Banco de Dados

    Agora devemos adicionar uma senha para o usuário administrador, por padrão o usuário root.

    # mysqladmin -u root password "Senha"

    Existem algumas configurações que podem ser feitas no MySQL, o arquivo de configuração fica por padrão no diretório da base da dados com o nome my.cnf, em meu caso o seu caminho é /var/db/mysql/my.cnf. A minha configuração ficou assim:

    [client]
    socket = /tmp/mysqld.sock
    [safe_mysqld]
    err-log = /var/log/mysql.err
    [mysqld]
    user = mysql
    port = 3306
    log = /var/log/mysql.log
    set-variable = key_buffer=5M

    A instalação e configuração básica do MySQL estão prontas, agora vamos criar os bancos de dados.

    Estrutura do Banco de Dados

    Nosso banco de dados irá precisar basicamente de um banco de dados e três tabelas, o banco de dados terá o nome mail, as tabelas serão a tabela aliases que será responsável pelos alias do servidor de e-mail, a tabela trasport que será responsável em distinguir o transporte local do transporte virtual e por fim, a tabela virtual_users que terá as informações sobre cada usuário.

    Vejamos uma explicação do conteúdo das tabelas aliases

    alias varchar(255) NOT NULL default '',            #Nome do destinatário do correio
    rcpt varchar(255) default NULL, #Nome do novo destinatário do correio


    transport

    domain char(128) NOT NULL default '',                #Nome do domínio Ex: xx13.net
    transport char(128) NOT NULL default 'maildrop:', #Transporte de entrega da mensagem Ex: maildrop:


    virtual_users

      `id` varchar(255) default NULL,                              #Endereço de e-mail Ex: 
     Este endereço de e-mail está sendo protegido de spam, você precisa de Javascript habilitado para vê-lo
     
    `user` varchar(255) default NULL, # A parte do usuário no endereço, neste caso 'daniel'
    `password` varchar(255) NOT NULL default '1234', #Senha
    `uid` int(5) NOT NULL default '1002', #Id do usuário virtual
    `gid` int(5) NOT NULL default '6', #Grupo do usuário virtual
    `home` varchar(255) NOT NULL default '/var/mail/virtual/', #Diretório base de entrega de msg, este valor pode ser igual para todos.
    `maildir` varchar(255) NOT NULL default 'domain/user/', #O diretório pessoal de cada usuário. O valor da caixa de correio em disco é "home"/"maildir"
    `domain` varchar(255) NOT NULL default 'dominio', #O mesmo domínio do endereço de e-mail, neste caso "xx.net"
    `nome` varchar(255) NOT NULL default 'Nome Sobrenome', #Nome do dono da caixa de correio
    `login_maps` varchar(255) NOT NULL default '', #Endereço pelo qual o usuário pode enviar mensagens, por padrão o mesmo do "id".
    `imapok` tinyint(1) unsigned default '1', #Clausula de conta ativa, se este valor for mudado para 0, esta conta sera desativada
    `quota` varchar(255) default '10485760', #Tamanho da cota em bytes, neste caso 10 Megabytes


    Para simplificar, veja abaixo o dump do nosso banco de dados padrão, mas preste atenção em nossos valores padrões. principalmente, uid, gid e home

    #=======================MAIL.DB=================================

    #

    CREATE DATABASE mail;
    use mail;

    #
    #Tabela de aliases
    #

    CREATE TABLE aliases (
    alias varchar(255) NOT NULL default '',
    rcpt varchar(255) default NULL,
    PRIMARY KEY (alias)
    ) TYPE=MyISAM;


    #Tabela transport
    #

    CREATE TABLE transport (
    domain char(128) NOT NULL default '',
    transport char(128) NOT NULL default 'maildrop:',
    UNIQUE KEY domain (domain)
    ) TYPE=MyISAM;

    #
    #Tabela virtua_users
    #


    CREATE TABLE `virtual_users` (
    `id` varchar(255) default NULL,
    `user` varchar(255) default NULL,
    `password` varchar(255) NOT NULL default '1234',
    `uid` int(5) NOT NULL default '125',
    `gid` int(5) NOT NULL default '125',
    `home` varchar(255) NOT NULL default '/var/mail/virtual/',
    `maildir` varchar(255) NOT NULL default 'domain/user/',
    `domain` varchar(255) NOT NULL default 'dominio',
    `nome` varchar(255) NOT NULL default 'Nome Sobrenome',
    `login_maps` varchar(255) NOT NULL default '',
    `imapok` tinyint(1) unsigned default '1',
    `quota` varchar(255) default '10000000',
    UNIQUE KEY `id` (`id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1;


    #==========================================================

    Para inserir este dump em um banco de dados execute o seguinte comando:

    #mysql -u root -pSenha < dump.sql

    Adicionando Usuários ao Sistema

    Por motivo de segurança, criaremos um novo usuário para os serviços acessarem o banco de dados, este usuário terá apenas os privilégios necessários para ele. Para isto acesse como usuário root o banco de dados e execute os seguintes comandos.

    mysql> USE mysql
    Database changed.

    mysql> INSERT INTO user (host, user, password) VALUES('localhost','postfix','');
    Query OK, 1 row affected (0.00 sec)

    mysql> UPDATE user set password=PASSWORD('senha') WHERE user='postfix';
    Query OK, 1 row affected (0.00 sec)
    Rows matched: 1 Changed: 1 Warnings: 0

    mysql> FLUSH PRIVILEGES;
    Query OK, 0 rows affected (0.00 sec)

    mysql> GRANT select, insert, update ON mail.* TO postfix;
    Query OK, 0 rows affected (0.00 sec)

    O banco de dados está pronto.

    Adicionando dados ao Banco da Dados

    Agora que temos um banco de dados, vamos adicionar dados a ele. Dados da tabela transport A tabela transport como mencionado anteriormente, serve para o Postfix saber se o correio é local ou virtual. O correio local vai adicionado uma única vez, para adicioná-lo, acesse banco de dados como usuário postfix, e execute os seguintes comandos:

    mysql> USE mail
    Database changed

    mysql> INSERT INTO transport(domain,transport) VALUES("DOMINIO_LOCAL","local:");
    Query OK, 1 row affected (2.61 sec)

    Para domínios virtuais, o comando é o mesmo, apenas alterando o campo transport de local: para virtual: ou maildrop:. Em nosso caso utilizaremos o maildrop para entrega de mensagens, então, utilize o maildrop como no exemplo abaixo:

    mysql> USE mail
    Database changed

    mysql> INSERT INTO transport(domain,transport) VALUES("DOMINIO_VIRTUAL","maildrop:");
    Query OK, 1 row affected (2.61 sec)

    Dados da tabela alias A tabela alias irá conter apelidos para contas de E-mail, mensagens endereçadas para contas que tenham alias, serão desviadas para os endereços correspondentes, e cada endereço pode ter um ou mais apelidos, assim pode-se formar até pequenas listas de e-mail.

    Para adicionar aliases, acesse banco de dados como usuário postfix, e execute os seguintes comandos:

    mysql> USE mail
    Database changed

    mysql> INSERT INTO aliases(alias,rcpt) VALUES(" Este endereço de e-mail está sendo protegido de spam, você precisa de Javascript habilitado para vê-lo "," Este endereço de e-mail está sendo protegido de spam, você precisa de Javascript habilitado para vê-lo ");
    Query OK, 1 row affected (0.00 sec)

    Dados da tabela virtual_users Esta tabela possui mais dados que as demais, ela irá conter informações que variam muito de sistema para sistema, e alguns valores são padrões, por exemplo, o usuário que daemon de entrega irá executar tem o uid igual a 1002 e gid 6 , estes valores ja são adicionados por padrão, os valores que são variáveis irão ser adicionados no exemplo a seguir,para isso acesse banco de dados como usuário postfix, e execute os seguintes comandos:

    mysql> USE mail
    Database changed

    mysql> INSERT INTO virtual_users(id, password, maildir, domain, nome) VALUES(' Este endereço de e-mail está sendo protegido de spam, você precisa de Javascript habilitado para vê-lo ', '1234', "exemplo.net/daniel", "exemplo.net", "Daniel Bristot");
    Query OK, 1 row affected (0.01 sec)
    Atenção: O valor id é um valor único! e não será aceito outro valor igual.

    Informações Gerais

    O MySQL utiliza a porta 3306 para conexões, se você utilizar o banco de dados somente para conexões locais, uma dica é restringir o acesso a porta 3306 com o auxílio de um firewall. O MySQL é um consumidor de memória e processamento.

    Cyrus-Sasl

    O Cyrus-Sasl será responsável pela autenticação smtp.

    Instalando o Cyrus-Sasl

    Normalmente o postfix iria compilar o cysrus Sasl, porém teremos que habilitar a compatibilidade com o MySQL, então vamos instalar o Cyrus-Sasl a partir do ports, o caminho para o ports é: /usr/ports/security/cyrus-sasl2. Entre no diretório do ports e execute o comando:

    # make -DWITH_MYSQL install

    Após isto a compilação deve correr até o final sem mais perguntas.

    Configurando o Cyrus-Sasl

    A configurção do Cyrus-Sasl é simples, exige apenas a criação de um arquivo, ele deve ser criado em /usr/local/lib/sasl2/smtpd.conf, veja como ele deve ficar.

    pwcheck_method: auxprop
    mech_list: LOGIN CRAM-MD5 DIGEST-MD5
    auxprop_plugin: sql
    sql_engine: mysql
    sql_hostnames: 127.0.0.1
    sql_database: mail
    sql_user: postfix
    sql_passwd: e-mail
    sql_select: SELECT password FROM virtual_users WHERE user='%u' and domain='%r' AND imapok='1'
    sql_usessl: no

    A única questão que pode gerar dúvida são os valores '%u' e '%r' na pesquisa, eles serão substituídos pelos valores do nome do usuário e do domínio respectivamente.

    A configuração do Cyrus-Sasl está pronta.

    Postfix

    O postfix será nosso servidor de e-mail, ele escutará o protocolo SMTP pela porta 25/tcp e será responsável pelo transporte das mensagens. O Postfix é o carro-chefe de nosso Sistema, então fica difícil apresentar sua instalação em uma única parte do artigo, então primeiramente irei construí-lo a partir do ports, e na parte final iremos configurá-lo, pois sua configuração depende de vários outros serviços.

    Instalando o Postfix

    O Postfix irá precisar de alguma dependências, porém tudo isto é feito automaticamente a partir do ports. Uma única observação, se a autenticação for feita através das senhas de usuários do UNIX, é necessário instalar cyrus-sasl2-saslauthd. Neste caso não estaremos utilizando, então isto não se faz necessário.

    O ports do postfix fica em /usr/ports/mail/postfix. Para construir o Postfix apenas digite make no diretório do ports, neste momento aparecerá uma tela com as opções de configuração. Eu escolhi as opções:

    NOPCRE Pois eu não irei utilizar expressões regulares do perl.
    Sasl2 Para autenticação SMTP
    DB43 Para criar tabelas de aliases e outras configurações com base de dados DB.
    MySQL Para habilitar o suporte ao MySQL.

    A partir daí o postfix começa a ser construído, e dependendo da máquina isto pode demorar algum tempo. Nos instantes finas da instalação, você será perguntado se deseja ativar o postfix no mailer.conf, diga que sim, e ele será automaticamente inicializado pelo sistema.

    Configurando o Sistema Operacional

    O postfix não irá precisar de uma entrada no arquivo de inicialização /etc/rc.conf pois eu habilitei-o no mailer.conf, porém se você não o habilitou você precisa inserir as seguintes linhas no /etc/rc.conf

    sendmail_enable="NO"
    sendmail_submit_enable="NO"
    sendmail_outbound_enable="NO"
    sendmail_msp_queue_enable="NO"
    postfix_enable="YES"

    Estas linhas servirão para desativar o Sendmail e ativar o Postfix.

    O Postfix utilizará a porta 25 tanto para chegada quanto para saída de mensagem, caso você esteja utilizando um firewall, não esqueça de deixar o trafego in e out passar por esta porta. O postfix também depende do serviço de nomes, verifique se o tempo de consulta a base de dados de nomes não é muito lento, isto pode trancar seu sistema, não esqueça de liberar o tráfego 53 udp e tcp. Cuidado com o horário e o fuso-horário do sistema também é fundamental.

    Courier-Imap

    O Courier-Imap nos dará suporte aos protocolos de entrega de mensagem, o imap e pop3, apesar do nome, ele traz estes dois protocolos. O courier-imap é dividido em duas partes, os protocolos de transporte e de autenticação. O os protocolos de transporte serão feitos pelos daemons imapd e pop3d, e o protocolo de autenticação será feito pelo authdaemond.

    Instalado o Courier-Imap

    A instalação do courier-imap será feita via ports, o caminho do ports é: /usr/ports/mail/courier-imap, entre neste diretório e execute o comando make install. Após isto irá aparecer uma tela oferecendo opções de compilação, neste caso adicione somente a opção AUTH_MYSQL, que nos dará suporte ao MySQL. Após isto a instalação deverá terminar sem demais perguntas.

    Configuração do Courier-Imap

    Vamos dividir a configuração do courier-imap em duas partes, primeiro iremos abordar o daemon de autenticação, e logo após os daemons de entrega.

    Configurando o authdaemond

    O authdaemond irá por buscar informações do banco de dados sobre os usuários. Os arquivos de configuração do authdaemond estão em /usr/local/etc/authlib, e são eles, authdaemonrc responsável por características gerais do sistema e authmysqlrc responsável pela ligação entre o courier-imap e o banco de dados. Abaixo veremos os arquivos de configuração de exemplo.

    authdaemonrc
    authmodulelist="authmysql" 		# Lista de módulos habilitados.
    authmodulelistorig="authmysql" # Lista de módulos utilizados pelo Courier webadmin.
    daemons=5 # Número de daemons de autenticação.
    authdaemonvar=/var/run/authdaemond # Diretório utilizado por alguns scripts.. NÃO MEXA.
    subsystem=mail # Para qual facilidade do syslog enviar as mesagens.
    DEBUG_LOGIN=0 # Nível de debug que as mensagens são enviadas para a syslog.
    DEFAULTOPTIONS="wbnodsn=1" # Opções de linha de comando.
    LOGGEROPTS="" # Opções de log.
    authmysqlrc
    MYSQL_SERVER localhost			# Servidor do banco de dados
    MYSQL_USERNAME portfix # Usuário do banco de dados
    MYSQL_PASSWORD e-mail # Senha do banco de dados
    MYSQL_SOCKET /tmp/mysql.sock # Socket do banco de dados
    MYSQL_PORT 3306 # Porta do banco de dados
    MYSQL_OPT 0 # Opções do mysql
    MYSQL_DATABASE mail # Nome do banco de dados
    MYSQL_USER_TABLE virtual_users # Nome da tabela com informações do usuário
    MYSQL_CLEAR_PWFIELD password # Coluna com as senhas
    MYSQL_UID_FIELD uid # Coluna com o userid
    MYSQL_GID_FIELD gid # Coluna com o groupid
    MYSQL_LOGIN_FIELD id # Coluna com o Login
    MYSQL_HOME_FIELD home # Coluna com o Home
    MYSQL_NAME_FIELD nome # Coluna com o nome do usuário
    MYSQL_MAILDIR_FIELD maildir # Coluna com o maildir do usuário
    MYSQL_QUOTA_FIELD quota # coluna com a cota do usuário
    MYSQL_WHERE_CLAUSE imapok=1 # Coluna com a flag de ativação da conta

    A configuração do authdaemond está pronta, agora veremos as configurações dos damons de transporte.

    Configurando os daemons de transporte

    Os arquivos de configuração do courier-imap estão em /usr/local/etc/courier-imap, e tem os nomes correspondentes ao seu daemon de transporte. Você pode optar por utilizar somente um dos dois protocolos, porém o imap tem algumas vantagens sobre o pop3, cabe a você escolher qual prefere, neste exemplo utilizaremos os dois. Abaixo veremos os arquivos de configuração de exemplo.

    imapd
    ADDRESS=0
    PORT=143
    MAXDAEMONS=40
    MAXPERIP=4
    PIDFILE=/var/run/imapd.pid
    TCPDOPTS="-nodnslookup -noidentlookup"
    LOGGEROPTS="-name=imapd"
    IMAP_CAPABILITY="IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA IDLE"
    IMAP_KEYWORDS=1
    IMAP_CAPABILITY_ORIG="IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA AUTH=CRAM-MD5 AUTH=CRAM-SHA1 AUTH=CRAM-SHA256 IDLE"
    IMAP_PROXY=0
    IMAP_PROXY_FOREIGN=0
    IMAP_IDLE_TIMEOUT=60
    IMAP_CAPABILITY_TLS="$IMAP_CAPABILITY AUTH=PLAIN"
    IMAP_CAPABILITY_TLS_ORIG="$IMAP_CAPABILITY_ORIG AUTH=PLAIN"
    IMAP_DISABLETHREADSORT=0
    IMAP_CHECK_ALL_FOLDERS=0
    IMAP_OBSOLETE_CLIENT=0
    IMAP_UMASK=022
    IMAP_ULIMITD=65536
    IMAP_USELOCKS=1
    IMAP_SHAREDINDEXFILE=/usr/local/etc/courier-imap/shared/index
    IMAP_ENHANCEDIDLE=0
    IMAP_TRASHFOLDERNAME=Trash
    IMAP_EMPTYTRASH=Trash:7
    IMAP_MOVE_EXPUNGE_TO_TRASH=0
    SENDMAIL=/usr/sbin/sendmail
    HEADERFROM=X-IMAP-Sender
    IMAPDSTART=NO
    MAILDIRPATH=Maildir
    pop3d
    PIDFILE=/var/run/pop3d.pid
    MAXDAEMONS=40
    MAXPERIP=4
    POP3AUTH="LOGIN CRAM-MD5 CRAM-SHA1"
    AUTHMODULES="authdaemon"
    POP3AUTH_ORIG="PLAIN LOGIN CRAM-MD5 CRAM-SHA1 CRAM-SHA256"
    POP3AUTH_TLS=""
    DEBUG_LOGIN=2
    PORT=110
    ADDRESS=0
    TCPDOPTS="-nodnslookup -noidentlookup"
    LOGGEROPTS="-name=pop3d"
    POP3DSTART=NO
    MAILDIRPATH=Maildir

    As configurações padrões são bastante completas, os itens que vale a pena dar uma revisada são:

    MAXDAEMONS=40 		# Número máximo de processos
    MAXPERIP=4 # Conexões máximas simultâneas por IP

    Configuração do SO

    Agora que tudo está configurado, basta ativar o courier-imap na inicialização do sistema. para isto basta adicionar as seguintes linhas em /etc/rc.conf.

    courier_authdaemond_enable="YES"	# Obrigatória
    courier_imap_pop3d_enable="YES" # Para ativar o pop3
    courier_imap_imapd_enable="YES" # Para ativar o imapd

    O protocolo imap utiliza a porta 143 TCP, e o protocolo pop3 utiliza a porta 110 TCP, se você está utilizando um firewall, libere estas portas. Os logs serão enviados para a facilidade mail do syslog, por padrão o arquivo de log será /var/log/maillog.

    Courier-Maildrop

    O Maidrop será nosso agente de entrega de mensagem, ele irá entregar as mensagens em suas devidas caixas de correio. Bom, mas porque não utilizar o daemon virtual que vem juntamente com o Postfix? Primeiramente, o virtual não tem controle de quota nativo, para isso iria ser preciso aplicar um patch, Segundo, o maildrop pode fazer várias verificações de mensagem, e ele cria automaticamente as caixas de correio, já com o virtual você teria de criá-las manualmente, e o maildrop oferece opções de filtros, como por exemplo desviar as mensagens de spam para uma pasta chamada Spam, retirando assim os spams da caixa de entrada.

    Instalando o Maiodrop

    O maildrop será instalado a partir do ports no seguinte caminho, /usr/ports/mail/maildrop. Como as informações de usuário estão armazenadas no banco de dados, precisamos adicionar o suporte para a Authlib, para isto execute o seguinte comando para construir o ports.

    # make -DWITH_AUTHLIB install

    A partir deste memento a instalação deve concluir sem mais perguntas.

    Após a instalação, devemos criar um usuário para executar o maildrop. neste caso criei o usuário vmail, e o com o grupo padrão mail. O UID e o GID do usuário devem ser os mesmo do uid e gid do banco de dados. Isto determinará o dono dos diretórios e arquivos das caixas de correio, então no memento da criação de uma nova conta, não esqueca de inserir os valores uid e gid iguais as do usuário vmail e do grupo mail. O maildrop será executado com o usuário vmail, porém ele não possuirá permição para comunicar-se com a base de dados, por isto o executavel do maildrop deve ter o SetUID habilitado, para isto execute o seguinte comando:

    # chmod u+s /usr/local/bin/maildrop

    A configuração básica do maildrop está pronta.

    Configurando o Maildrop

    O maildrop tem apenas um arquivo de configuração, que está em: /usr/local/etc/maildroprc, na verdade este arquivo nem precisa existir. A configuração do banco de dados não é necessária, pois ele irá utilizar a Authlib para isto, e isto nós já configuramos anteriormente para o courier-imap.

    O arquivo de configuração do maildrop irá conter uma rotina de tarefas que ele deve fazer ao entregar uma mensagem, veja o exemplo que utilizamos abaixo.

    logfile "/var/log/maildrop.log" 		#Arquivo de Log

    `test -d $HOME/$DEFAULT` # Testa se a caixa de correio existe
    if ($RETURNCODE!=0) # Caso não exista...
    {
    `maildirmake $DEFAULT` # Cria a caixa de correio,
    `maildirmake -f .Spam $HOME/$DEFAULT` # e as pastas para o Spam
    `maildirmake -f .Trash $HOME/$DEFAULT` # e a lixeira
    }

    QUOTA="$MAILDIRQUOTA"'S'
    `maildirmake -q $QUOTA $HOME/$DEFAULT` # Ajusta a cota da caixa de correio

    if (/^X-Spam-Status: Yes/) # E se a mensagem for um Spam, ela a envia
    { # para a pasta Spam.
    to "$DEFAULT/.Spam/"
    }

    Ligando ao Postfix

    Para ligá-lo ao Postfix, apenas verifique a linha sobre o transporte maildrop no arquivo /usr/local/etc/postfix/master.cf ela deve estar como no exemplo abaixo.

    maildrop  unix  -       n       n       -       -       pipe
    flags=DRhu user=vmail argv=/usr/local/bin/maildrop -d ${recipient} -w 90

    Com a opção -w 90 o maildrop irá enviar a mensagem contida no arquivo /usr/local/etc/quotawarnmsg avisando que a cota de uso de sua conta chegou aos 90%, o valor pode ser alterado a seu critério, e por padrão a mensagem não existe, então você deve cria-la.

    Clamav Filter

    O clamav filter é um script que será responsável pela filtragem de virus e spam de uma mensagem, ele interliga os daemons clamd que fará a checagem do antivírus e o spamd que fará a verificação de spam. O clamav-filter é apenas um arquivo que está disponível para download neste link. Porque utilizar este filtro, se existe o amavisd? Bom, o amavisd é um daemon que consome muitos recursos, este filtro faz apenas o que é necessária. Por agora iremos tratar mais a parte de instalação dos dois daemons, o clamav-filter será utilizado para ligar o postfix aos dois daemons, veremos isto no memento da configuração do Postfix.

    Clam-AV

    o Clam-AV é um poderoso antivírus open source, ele irá filtrar todas as mensagens que passarem pelo servidor. ele é dividido em dois daemons, o clamd e o freshclamd um para varredura de vírus e um para atualização da base de dados de vírus respectivamente.

    Instalando o Clam-AV

    A instalação do Clam-AV é feita apartir do ports, seu caminho é: /usr/ports/security/clamav. A instalação é simples, vá para o diretório do ports e execute:

    # make install

    Logo após irá aparecer uma tela com as opções de compilação, eu ativei apenas a opção LIBUNRAR, ela da suporte para arquivos compactados com extensão .rar. Após isto a configuração deve prosseguir sem mais perguntas até o final.

    Configurando o Clam-AV

    Os arquivos de configuração estão em /usr/local/etc/ e são /usr/local/etc/clamd.conf e /usr/local/etc/freshclam.conf. O clamd.conf é responsável pela configuração do daemon de verificação de vírus. Veja abaixo o exemplo de arquivo de configuração.

    clamd.conf

    #configurações de log
    LogFile /var/log/clamav/clamd.log # Arquivo de Log
    LogFileMaxSize 2M # Tamanho máximo do arquivo de log
    LogTime # Horário nos arquivos de log
    LogSyslog # Usa Syslog
    LogVerbose # Log mais aprofundado
    PidFile /var/run/clamav/clamd.pid # Arquivo com o Pid
    DatabaseDirectory /var/db/clamav # Base de dados de virus
    LocalSocket /var/run/clamav/clamd # Local do socket
    FixStaleSocket # Atualização do socket ao inicia o daemon
    MaxConnectionQueueLength 30 # Número máximo de conexões na fila de espera
    MaxDirectoryRecursion 20 # Max Nún da profundidade de diretórios
    FollowDirectorySymlinks # Segue links para diretórios
    User clamav # Nome do usuário que o anti vírus está executando
    AllowSupplementaryGroups # Acesso suplementar a outros grupos
    ScanMail # Habilita varredura de arquivos de e-mail
    ArchiveMaxFileSize 10M # Tamanho máximo do arquivo a ser varrido
    ArchiveMaxRecursion 9 # Nível de recursão de um arquivo
    ArchiveMaxFiles 1500 # Núm Máx de arquivos a ser varrido em um arquivo compactado

    Agora iremos ver a configuração utilizada no freshclam.

    DatabaseDirectory /var/db/clamav		# Base de dados de informações de vírus
    UpdateLogFile /var/log/clamav/freshclam.log # Arquivo de Log de atualizações
    PidFile /var/run/clamav/freshclam.pid # Arquivo com o Pid
    DatabaseOwner clamav # Usuário dono da base de dados
    AllowSupplementaryGroups # Acesso suplementar a outros grupos
    DatabaseMirror database.clamav.net # Servidor de atualização
    NotifyClamd # Notifica o Clamd sobre atualizações

    Esse esquema de configuração exige que seja criados dois diretórios: /var/run/clamav e /var/log/clamav. após criar este diretório, mude o dono dos diretórios para usuário clamav.

    # chown clamav:clamav /var/run/clamav /var/log/clamav

    Configuração do Sistema Operacional

    Agora devemos habilitar o ClamAV na inicialização do sistema. Para isso devemos adicionar as seguintes linhas em /etc/rc.conf:

    clamav_clamd_enable="YES"
    clamav_freshclam_enable="YES"

    Caso você esteja utilizando um firewall, abra o trafego para o servidor da base de dados de atualização.

    O Anti-Vírus está pronto.

    SpamAssassin

    O SpamAssassim será responsável pelo controle anti-spam, pesquisas mostram que sua eficácia é de 95 por cento, porém, seu custo é um pouco alto, ele checa todo o corpo de uma mensagem, isto cria um esforço computacional grande, e ele também consome uma boa fatia da memória. Nós utilizaremos o SpamAssassin na forma de um daemon, o spamd, isto reduz o esforço que o computador faria para iniciar a execução a cada checagem de e-mail, assim, o spamassassim quando requisitado não precisa iniciar todo o processo, apenas verificar a mensagem. Para isto é nescessário um programa cliente, o spamc, que envia a mensagem para o spamd chegar.

    Instalando o Spamassassim

    O SpamAssassin será instalado via ports, o caminho para o seu ports é: /usr/ports/mail/p5-Mail-SpamAssassin/. Para instalar entre no diretório do ports e execute.

    # make install

    Após isto irá aparecer uma tela de configuração de opções, eu não habilitei nenhuma, agora é só esperar o sistema terminar de compilar o SpamAssassin.

    Configurando o SpamAssassim

    A configuração do SpamAssassim é simples, o arquivo de configuração está em /usr/local/etc/mail/spamassassim. O arquivo init.pre contém informações sobre módulos de checagem de e-mail, habilite ou desabilite-os como quiser. O arquivo de configuração que mais nos interessa neste memento é o local.cf. Ele é um arquivo simples, em nosso coso ele precisa ter apenas as seguintes linhas:

    # Deixa a mensagem intacta, porém adiciona os headers de spam.
    report_safe 0
    # Este é a pontuação pela qual uma mensagem é considerada spam
    required_score 5.0

    Configuração do Sistema Operacional

    É preciso escrever um script de inicialização do spamd, ele deve estar em /usr/local/etc/rc.d/spamd.sh e ter permissão de execução. O arquivo de inicialização deve ser como no exemplo abaixo, apenas ajuste as opções de processos filhos do spamd conforme for o trafego de seu servidor.

    /usr/local/etc/rc.d/spamd.sh

    #!/bin/sh

    case "$1" in
    start)
    /usr/local/bin/spamd --socketpath=/var/run/spamd/spamd.sock --pidfile=/var/run/spamd/spamd.pid --min-children=1 --min-spare=1 --max-spare=2 -d
    echo "Starting Spamd."
     ;;
    stop)
    kill -9 `cat /var/run/spamd/spamd.pid`
    echo "Stoping Spamd."
     ;;
    *)
    echo "Usage: `basename $0` {start|stop}" >&2
    exit 64
     ;;
    esac
    exit 0

    O SpamAssassin está pronto, agora vamos ligar os dois filtros como o Clamav-Filter.

    Configurando do Clamav-Filter

    Faça o download do clamav-filter apartir deste link. Após o download copie-o para o diretório /usr/local/libexec/postfix/, e altere suas permições como no exemplo abaixo:

    chown clamav:clamav /usr/local/libexec/postfix/clamav-filter.sh

    O clamav-fiter irá precisar de dois diretórios, com permissão de escrita para o dono do clamav-filter, neste caso o usuário clamav. para isto execute o seguinte comando.

    # mkdir /var/run/clamav /var/log/clamav
    # chown clamav:clamav /var/run/clamav /var/log/clamav

    Ligando o clamav-filter ao Postfix

    Para ligá-lo ao Postfix precisamos criar um transporte e um filtro para as conexões tcp, para isto comente a seguinte linha no arquivo /usr/local/etc/postfix/master.cf

    smtp      inet  n       -       n       -       -       smtpd
    E adiciones estas linhas ao mesmo aquivo.
    smtp      inet  n       -       n       -       -       smtpd
    -o content_filter=clamav:clamav
    clamav unix - n n - - pipe
    flags=Rq user=clamav argv=/usr/local/libexec/postfix/clamav-filter.sh -f ${sender} -- ${recipient}

    O clamav-Filter está pronto!

    Configurando o Postifix

    Esta é a parte final deste How-To, é a configuração final do postfix, será basicamente, ligando o Postfix ao Cyrus-Sasl e a base de dados, basicamente, abaixo serão mostrados os arquivos do diretório /usr/local/etc/postfix, todos eles devem estar presente, as únicas alterações a serem feitas é o nome do usuário e senha da base de dados nos arquivos de ligação com o MySQL.


    Arquivo de configuração do Postfix. /usr/local/etc/postfix/main.cf

    mydestination = localhost.$mydomain, localhost, $transport_maps
    local_recipient_maps = unix:passwd.byname, $alias_maps, $virtual_recipient_maps
    unknown_local_recipient_reject_code = 550
    mynetworks_style = class
    alias_maps = hash:/usr/local/etc/postfix/aliases
    home_mailbox = Maildir/
    smtpd_banner = $myhostname ESMTP $mail_name ($mail_version)
    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/local/sbin/sendmail
    newaliases_path = /usr/local/bin/newaliases
    mailq_path = /usr/local/bin/mailq
    setgid_group = maildrop
    html_directory = no
    manpage_directory = /usr/local/man
    sample_directory = /usr/local/etc/postfix
    readme_directory = no

    #Configuração do MySQL e de dominios virtuais
    transport_maps = mysql:/usr/local/etc/postfix/transport.cf
    virtual_gid_maps = mysql:/usr/local/etc/postfix/gids.cf
    virtual_mailbox_base = /var/mail/virtual
    virtual_mailbox_maps = mysql:/usr/local/etc/postfix/mysql_virtual.cf
    virtual_maps = mysql:/usr/local/etc/postfix/mysql.aliases.cf
    virtual_uid_maps = mysql:/usr/local/etc/postfix/uids.cf
    virtual_recipient_maps = mysql:/usr/local/etc/postfix/recipients.cf
    virtual_mailbox_limit_inbox = no
    virtual_mailbox_limit_maps = mysql:/usr/local/etc/postfix/mailboxsize-mysql.cf
    virtual_mailbox_limit_override = yes
    virtual_maildir_extended = yes
    virtual_create_maildirsize = yes
    virtual_mailbox_limit = 100000000

    smtpd_sasl_auth_enable = yes
    broken_sasl_auth_clients = yes
    smtpd_helo_required = yes
    smtpd_sender_login_maps = hash:/usr/local/etc/postfix/sender_login_maps
    smtpd_sender_login_maps = mysql:/usr/local/etc/postfix/login_maps.cf
    smtpd_recipient_restrictions =
    reject_non_fqdn_sender
    reject_non_fqdn_recipient
    reject_invalid_hostname
    reject_unknown_sender_domain
    reject_unknown_recipient_domain
    reject_multi_recipient_bounce
    reject_sender_login_mismatch
    permit_sasl_authenticated
    reject_unauth_destination
    permit

    Arquivos de ligação do postfix com o MySQL:

    /usr/local/etc/postfix/transport.cf

    user = postfix
    password = e-mail
    dbname = mail
    table = transport
    select_field = transport
    where_field = domain
    hosts = localhost

    /usr/local/etc/postfix/gids.cf

    user = postfix
    password= e-mail
    dbname = mail
    table = virtual_users
    select_field = gid
    where_field = id
    hosts = localhost

    /usr/local/etc/postfix/uids.cf

    user = postfix
    password= e-mail
    dbname = mail
    table = virtual_users
    select_field = uid
    where_field = id
    hosts = localhost

    /usr/local/etc/postfix/mysql_virtual.cf

    user = postfix
    password= e-mail
    dbname = mail
    table = virtual_users
    select_field = maildir
    where_field = id
    hosts = localhost

    /usr/local/etc/postfix/mysql.aliases.cf

    user = postfix
    password= e-mail
    dbname = mail
    table = aliases
    select_field = rcpt
    where_field = alias
    hosts = localhost

    /usr/local/etc/postfix/recipients.cf

    user = postfix
    password= e-mail
    dbname = mail
    table = virtual_users
    select_field = nome
    where_field = id
    hosts = localhost

    /usr/local/etc/postfix/mailboxsize-mysql.cf

    password = e-mail
    dbname = mail
    table = virtual_users
    select_field = quota
    where_field = id
    hosts = localhost

    /usr/local/etc/postfix/login_maps.cf

    password = e-mail
    dbname = mail
    table = virtual_users
    select_field = login_maps
    where_field = id
    hosts = localhost

    pronto, tudo deve estar funcionando.

    Agora vamos instalar o WebMail

    Uebimiau o WebMail

    Para finalizar a nossa configuração, iremos instalar o Uebimial que é um Webmail baseado em PHP, por isso ele precisa de um servidor Web com suporte ao PHP. O UebiMial tem suporte aos protocolos POP3 e IMAP, a língua Portuguesa, e possui uma interface limpa e fácil.

    O Uebimial está disponível via ports, porém atualamente ele está quebrado, então teremos que fazer o download do site [1]. Agora que fizemos o Download vamos configurar o WebMail. Vamos descompactar o Uebimial no diretório /var/www/, para isto, copie o download do Uebimial para /var/www/ e extraia do .zip, neste exemplo estamos utilizando a versão 2.7.10.

    # cp uebimiau-2.7.10-any.zip /var/www
    # cd /var/www/
    # unzip uebimiau-2.7.10-any.zip

    Agora vai ser criado o diretório webmail, onde está o nosso webmail. O arquivo de configuração fica, relativamente dentro do diretório do webmail, em inc/config.php. Antes de configura-lo vamos criar o diretório /var/webmail e dar a parmição 755 e dono e grupo www, este será um diretório que o uebimial precisará para guardar arquivos temporários.

    # mkdir /tmp/webmail
    # chmod 755 /tmp/webmail
    # chown www:www /tmp/webmail

    Agora vamos editar o arquivo de configuração. basicamente o que devemos fazer é, setar a opção que dis que o Webmail servirá para multiplos dimínios, e configurar as conexões.]

    Configurando o WebMail

    Abra no editor de sua preferência o arquivo /var/www/webmail/inc/config.php, e altere as seguintes variáveis:

    Mude o caminho da pasta temporária para a o diretório que criamos em /tmp/

    $temporary_directory = "/tmp/webmail";

    $mail_server_type de ONE-FOR-EACH para ONE-FOR-ALL, isto diz para o Uebimial que o servidor serve para multiplos dompinios, e irá pedir o nome de usuário na forma do endereço de e-mail completo. Ex:

    $mail_server_type       = "ONE-FOR-ALL";

    Agora modifique as variáveis abaixo, os valores que elas estão mostrando, provavelmente funcionarão, e os nomes são bem sugestivos.

    $default_mail_server    = "127.0.0.1";
    $one_for_all_login_type = "%user%@%domain%";
    $default_protocol = "pop3";
    $default_port = "110";
    $default_folder_prefix = "";

    O UebiMial está configurado, agora apenas adicione um alias, para as requisições que chegam para o seu "servidor"/webmail/ para /var/www/webmail, e está pronto.

    NOTA: Eu tive um problema com o PHP, algo com, a função header não aceita quebra de linha, então editei o arquivo que continha o erro, na linha do erro é só retirar os \n e tudo funciona.

    O UebiMial também é altamente costomizável, a interface é escrita em HTML e está dendro do diretório, relativo ao webmail, themes/uebimial.

    Caso aconteça algo errado, a saída é utilzar o nosso bom e velho amigo log. Uma dica simples, cole o log no google! isso ajuda bastante. Qualquer outra duvida ou sugestão, mande um e-mail para daniel At dbristot dot info 

    Final

    Este How-to foi produzido por Daniel Bristot de Oliveira, sobre a licença BSD, tomei como referência os seguintes arquivos: Servidor de email com SMTP, POP, IMAP, quota e MySQL de Marco A. S. Máximo Link
    INTEGRANDO O POSTFIX COM O CLAMAV de Gleydson Soares (gsoares) - Deives Michellis "thefallen" Link
    Todos os direitos do CLAMAV-FILTER pertencem aos seus idealisadores.  

    Comentários
    Parabéns !!!
    Por Este endereço de e-mail está sendo protegido de spam, você precisa de Javascript habilitado para vê-lo em 20/08/2006 22:19:34
    Daniel, 
     
    É muito difícil me ver comentando em fóruns. Sobre a instalação para o funcionando do sistema que você acabou de nos passar é muito importante para nós, mesmo aqueles que não conseguem fazer isso que você acabou de fazer. Contribuirei com mais coisas, estas simples como: webmail gerenciamento via Web e outros. Nunca pare de disponibilizar informações isso é muito profissionalmente. Estarei à disposição. 
     
    Um Abraço. 
     
    Este endereço de e-mail está sendo protegido de spam, você precisa de Javascript habilitado para vê-lo  
    MSN: Este endereço de e-mail está sendo protegido de spam, você precisa de Javascript habilitado para vê-lo
    Parabéns
    Por Marcos Gomez em 28/08/2006 13:15:23
    Daniel, 
     
    Parabéns pelo tutorial, completíssimo e muito bem escrito! 
     
    Abraços,
    Sucesso na Instalação
    Por Henrique em 04/11/2006 23:50:18
    Senhores, 
     
    É muito importante para nós saber se todos tiveram sucesso ao seguir este HowTo. Poste aqui seu sucesso. 
     
    Um abraço, 
     
    Henrique 
    MSN: Este endereço de e-mail está sendo protegido de spam, você precisa de Javascript habilitado para vê-lo
    Parabén pelo tutorial
    Por slpond em 24/01/2007 17:19:57
    Olá, Parabéns pela iniciativa deste tutorial, e complicado achar documentação completa sobe este assunto, mas sou novo neste mundo do postfix, segui seu tutorial a risca, porem, ao tentar autenticar estou tendo problemas, nos logs aparece, 
    \"Jan 24 16:29:28 zeus pop3d: scancur opendir(\"cur\"): No such file or directory\" , o que pode ser ?
    Parabén pelo tutorial
    Por alessandro em 03/06/2007 23:25:26
    Parabens e respondendo ao amigo acima... 
     
    criaste o maildir?
    Duvida cruel
    Por Marcos Paulo em 25/09/2007 11:54:05
    Ola, nao tenho muita experiencia nessa parte ainda e me surgiu uma duvida no mail drop: 
    Após a instalação, devemos criar um usuário para executar o maildrop. neste caso criei o usuário vmail, e o com o grupo padrão mail. O UID e o GID do usuário devem ser os mesmo do uid e gid do banco de dados. Isto determinará o dono dos diretórios e arquivos das caixas de correio, então no memento da criação de uma nova conta, não esqueca de inserir os valores uid e gid iguais as do usuário vmail e do grupo mail. O maildrop será executado com o usuário vmail, porém ele não possuirá permição para comunicar-se com a base de dados...... 
     
    Bem, o uid e gid do usuario vmail, seria o mesmo do mysql (88), ou do postfix (125), que foi adicionado no banco de dados, porem, eu nao consigo criar um usuario com o mesmo uid de usuarios padra do sistema. Por acaso nao seria criar o usuario vmail com id default e participando do grupo mail (6), e mysql (88)? 
    Por Favor me ajudem.....
    Duvida cruel
    Por Marcos Paulo em 25/09/2007 11:58:24
    Ola, nao tenho muita experiencia nessa parte ainda e me surgiu uma duvida no mail drop: 
    Após a instalação, devemos criar um usuário para executar o maildrop. neste caso criei o usuário vmail, e o com o grupo padrão mail. O UID e o GID do usuário devem ser os mesmo do uid e gid do banco de dados. Isto determinará o dono dos diretórios e arquivos das caixas de correio, então no memento da criação de uma nova conta, não esqueca de inserir os valores uid e gid iguais as do usuário vmail e do grupo mail. O maildrop será executado com o usuário vmail, porém ele não possuirá permição para comunicar-se com a base de dados...... 
     
    Bem, o uid e gid do usuario vmail, seria o mesmo do mysql (88), ou do postfix (125), que foi adicionado no banco de dados, porem, eu nao consigo criar um usuario com o mesmo uid de usuarios padra do sistema. Por acaso nao seria criar o usuario vmail com id default e participando do grupo mail (6), e mysql (88)? 
    Por Favor me ajudem.....
    Duvida cruel
    Por Marcos Paulo em 25/09/2007 11:59:32
    Ola, nao tenho muita experiencia nessa parte ainda e me surgiu uma duvida no mail drop: 
    Após a instalação, devemos criar um usuário para executar o maildrop. neste caso criei o usuário vmail, e o com o grupo padrão mail. O UID e o GID do usuário devem ser os mesmo do uid e gid do banco de dados. Isto determinará o dono dos diretórios e arquivos das caixas de correio, então no memento da criação de uma nova conta, não esqueca de inserir os valores uid e gid iguais as do usuário vmail e do grupo mail. O maildrop será executado com o usuário vmail, porém ele não possuirá permição para comunicar-se com a base de dados...... 
     
    Bem, o uid e gid do usuario vmail, seria o mesmo do mysql (88), ou do postfix (125), que foi adicionado no banco de dados, porem, eu nao consigo criar um usuario com o mesmo uid de usuarios padra do sistema. Por acaso nao seria criar o usuario vmail com id default e participando do grupo mail (6), e mysql (88)? 
    Por Favor me ajudem.....
    ERRO!!!
    Por remontti em 01/10/2007 19:11:31
    postfix[719]: fatal: chdir(/usr/libexec/postfix): No such file or directory 
     
    Alguém pode me ajudar? 
     
    msn: Este endereço de e-mail está sendo protegido de spam, você precisa de Javascript habilitado para vê-lo
    Mesma dúvida
    Por Alvaro em 14/05/2008 13:39:21
    Oi, estou com a mesma dúvida do Marcos Paulo, quanto a criação do usuário do vmail 
     
    Alguém que já seguiu esse tutorial, ou com mais experiência, poderia nós ajudar? 
     
    obrigado
    Dúvida
    Por thi_vini em 21/05/2008 13:32:44
    Alguém sabe como fazer para colocar o assunto do e-mail para ser visualizado no log do postfix?



    Última Atualização ( 02/08/2006 )
     
    < Anterior   Próximo >
    FUG-BR - Espalhando BSD
    Dicas Rápidas:

    Após sincronizar o Ports, para atualizar seu INDEX de aplicações se você tiver portupgrade instalado, digite:

    portsdb -Uu 

    Se não tiver portupgrade:

    cd /usr/ports/
    make fetchindex

     






    Wallpapers
    Sua Opiniao
    Online:
    Nós temos 27 visitantes online


    Devil Store - Sua loja BSD
    FreeBSD Brasil LTDA

    FUG-BR: Desde 1999, espalhando BSD pelo Brasil.