Como montar seu próprio Webmail
Você vai conferir uma ótima solução de Webmail para sua empresa, provedor ou rede local
O UebiMiau é um Webmail escrito em PHP que descarta a utilização de um banco de dados (como o MySQL ou o PostgreSQL) além do IMAP. Utilizando o browser é possível checar, enviar e receber e-mails, criar um catálogo de endereços, uma assinatura personalizada, enfim, tudo que um Webmail de verdade merece ter.
Possui compatibilidade com o padrão MIME, ou seja, permite enviar e receber e-mails em formato HTML e texto puro. Não utiliza cookies. Sua configuração é bem simples, onde temos liberdade de modificar os parâmetros, de acordo com nossas necessidades, em um único arquivo. Também podemos alterar seu idioma, permitindo inclusive que os usuários façam sua escolha: português (Brasil), inglês, espanhol, entre outros.
Qualquer distribuição com Apache, PHP e Sendmail ou Qmail aceita o UebiMiau. Vamos considerar para este artigo que você já possui um servidor de Correio Eletrônico configurado utilizando o Sendmail, bem como um servidor Web rodando o Apache com PHP4.
Instalação
Adquira o fonte em PHP no CD desta edição ou em www.uebimiau.sili.com.br. Deixe-o no /opt. A partir daqui, continue como root.
Considerando que suas páginas html estão guardadas no /home/httpd/html, crie neste mesmo local o diretório webmail:
[root@servidor html]# mkdir webmail
Entre no diretório webmail e descompacte o arquivo:
[root@servidor html]# cd webmail
[root@servidor webmail]# unzip /opt/uebimiau-latest.zip
Os arquivos e diretórios necessários serão criados.
Configuração
O arquivo config.php é o responsável pelos principais parâmetros de configuração do Webmail. Nele os parâmetros são definidos por 0 e 1 (zeros e uns), onde o zero indica que o parâmetro está desativado e o um indica que está ativado ou habilitado. Confira e modifique de acordo com as necessidades:
$temporary_directory = “/tmp webmail”;
Indica qual será o diretório temporário utilizado pelo Webmail. Neste diretório, que deve estar com permissão 777, serão guardadas as preferências dos usuários, tais como pastas criadas, catálogo de endereços, assinatura e outros.
$smtp_server = “smtp.empresa.com.br”;
Indica qual será o servidor SMTP utilizado. Se o Webmail for utilizado em uma rede local, e o servidor web for o mesmo de correio eletrônico, substitua o nome do servidor por localhost.
$quota_limit = 2048;
O UebiMiau utiliza o sistema de quotas do Linux, que deve estar previamente configurado. Indique o valor em Kb. Como exemplo, 1024Kb corresponde a 1Mb e assim por diante. Se o sistema de quotas não estiver configurado e habilitado em seu Linux, o UebiMiau fará o cálculo quanto ao espaço utilizado, mas não o bloqueio conforme os limites especificados.
$use_password_for_smtp = 0;
Se habilitado, solicita autenticação para enviar e-mails.
$pop3_servers[0][“domain”] = “empresa.com.br”;
$pop3_servers[0][“server”] = “pop.empresa.com.br”;
Estes parâmetros são opcionais. Quando habilitados, definem automaticamente o Domínio e servidor POP3 a ser utilizado (pode ser 1 ou mais, conforme a necessidade). Caso não sejam habilitados, na tela de logon do Webmail será solicitado o nome do servidor POP3.
$default_language = 0;
Utiliza ou não o idioma padrão, que é o inglês. Basta comentar as linhas referentes aos idiomas que não deseja utilizar, deixando apenas o português para ter o Webmail em nosso idioma. Lembre-se de que estamos editando um arquivo em formato php; portanto, inclua duas barras (//) antes das linhas para comentá-las.
$allow_user_change = 1;
Permite aos usuários escolher o idioma, na tela de logon.
$date_format = “d/m/y h:m”; // d = day,
m = month, y = year, h = hour, m = minutes
Define o formato da data e hora que aparecerão na tela de Mensagens do Webmail. Acompanhe o comentário no próprio parâmetro e modifique se necessário.
$use_sendmail = 1;
$path_to_sendmail = “/usr/sbin/sendmail”;
Indica se o Sendmail será utilizado ou não por estações Linux ao enviarem e-mails. É necessário indicar também o caminho do Sendmail.
$pop_use_top = 1;
Necessário para corrigir um pequeno transtorno de alguns servidores POP3, que apagam o e-mail automaticamente após o comando “RETR”.
$mime_show_html = 1;
Permite enviar e ler e-mails em formato HTML.
$appversion = “2.1”;
$appname = “UebiMiau”;
Define a versão e o nome do programa que pode ser utilizado como assinatura automática do programa na base de todos os e-mails enviados por ele. Difere das assinaturas criadas pelos usuários, sendo inserido automaticamente após cada e-mail enviado.
$footer = “
________________________________________________
Enviado por $appname $appversion“;
Esta será a assinatura do programa, utilizando os parâmetros indicados acima ($appversion e $appname). Você pode modificá-los à vontade, e até criar novos parâmetros se desejar.
$enable_debug = 0;
Este parâmetro permite fazer um debug a cada operação realizada pelo usuário no Webmail. Utilize apenas como teste ou depuração, pois as mensagens aparecem na tela do usuário.
$idle_timeout = 10;
Define, em minutos, o tempo de inatividade do Webmail. Após expirar, qualquer operação levará automaticamente para tela de login.
$default_sortby = “date”;
$default_sortorder = “DESC”;
Define como serão ordenados os e-mails na tela de Mensagens. No caso, o padrão é por data, do mais recente ao mais antigo (de cima para baixo).
$send_to_trash_default = 1;
Envia automaticamente e-mails apagados para a Lixeira do Webmail. Caso contrário, elimina imediatamente os e-mails apagados.
$st_only_ready_default = 1;
Lê os e-mails sem apagá-los após a leitura. Caso contrário, eles serão apagados após serem abertos.
$save_to_sent_default = 1;
Ao responder um e-mail, envia uma cópia com o conteúdo original.
$empty_trash_default = 1;
Esvazia a Lixeira do Webmail após o logout.
$sortby_default = “date”;
Organiza os e-mails por data. Pode ser utilizado “attach” para ordenar por anexos, “subject”, por assunto, “fromname”, por quem enviou, e “size”, por tamanho.
$rpp_default = 10;
Define quantos e-mails serão mostrados por página. Aceita múltiplos de 10 até 50.
$add_signature_default = 0;
Permite adicionar a assinatura do usuário, se existir, automaticamente ao e-mail.
$signature_default = “”;
Indica uma assinatura padrão para todos os usuários. Basta especificar o caminho do arquivo (html ou texto puro) entre as aspas.
Depois de modificar o config.php, confira se o Apache está configurado para aceitar páginas em formato PHP. Vá até o diretório /etc/httpd/conf e procure as seguintes linhas no arquivo httpd.conf (se não existirem, crie-as editando o arquivo com o editor de sua preferência):
LoadModule php4_module modules/libphp4.so
AddModule mod_php4.c
<IfModule mod_php4.c>
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
php_flag magic_quotes_gpc Off
Alias “/webmail/” “/home/httpd/html/webmail/”
</IfModule>
Repare que o diretório que guarda o UebiMiau é o /home/httpd/html/webmail e o alias é webmail. Este alias indica que, para acessar o webmail, você deverá digitar no browser algo semelhante a: www.empresa.com.br/webmail
Ainda no httpd.conf localize a seguinte linha e modifique-a como abaixo para que o Apache aceite páginas de índice em formato PHP:
DirectoryIndex index.php index.html
Salve e feche o arquivo. Lembre-se de que o PHP4 deve estar instalado no servidor para que as configurações acima funcionem corretamente. Dê um restart no Apache para validar as mudanças:
/etc/init.d/httpd restart
ou
killall -HUP httpd
Utilizando o Webmail
Para testarmos o Webmail, devemos ter uma conta criada no servidor Sendmail. Caso não exista, crie da seguinte forma (modifique o grupo popusers para mail, conforme sua distribuição):
useradd -G popusers -n -d /dev/null -s /bin/false nome_do_usuario
O usuário será criado sem a possibilidade de fazer logon no console do sistema, mas poderá apenas resgatar e enviar e-mails. Siga este exemplo para manter a segurança do sistema.
Tudo OK, vamos testar o Webmail. A partir de uma estação com acesso ao servidor web, digite no browser: www.empresa.com.br/webmail (Modifique o www pelo nome do servidor e também o domínio utilizado).
Deverá aparecer a tela de login do UebiMiau. Digite o nome e senha do usuário criado para o logon.
[root@servidor webmail]# ls -lh
total 232k
-rw-r—r— 1 root root 7.2k Sep 6 00:02 addressbook.php
-rw-r—r— 1 root root 297 Sep 1 13:04 badlogin.php
-rw-r—r— 1 root root 3.4k Sep 5 23:43 catch.php
-rw-r—r— 1 root root 4.5k Sep 24 12:41 CHANGELOG.txt
-rw-r—r— 1 root root 18k Sep 26 14:34 class_mime_decode.php
-rw-r—r— 1 root root 8.0k Sep 17 14:07 class_pop3_session.php
-rw-r—r— 1 root root 28k Sep 20 10:42 class_smtp.php
-rw-r—r— 1 root root 10k Sep 15 11:15 commom_functions.php
-rw-r—r— 1 root root 5.7k Oct 22 11:19 config.php
-rw-r—r— 1 root root 1.3k Aug 14 23:09 download.php
-rw-r—r— 1 root root 435 Sep 1 13:13 error.php
-rw-r—r— 1 root root 7.3k Sep 7 23:39 folders.php
-rw-r—r— 1 root root 1.8k Aug 14 15:19 form_generator.php
-rw-r—r— 1 root root 810 Oct 22 10:36 headers.php
drw-r—r— 2 root root 4.0k Oct 22 10:24 images
-rw-r—r— 1 root root 2.5k Sep 10 16:12 index.php
-rw-r—r— 1 root root 992 Aug 21 09:56 logout.php
-rw-r—r— 1 root root 12k Sep 26 14:31 msglist.php
-rw-r—r— 1 root root 14k Sep 15 11:28 newmsg.php
-rw-r—r— 1 root root 3.4k Aug 15 00:22 preferences.php
-rw-r—r— 1 root root 721 Sep 5 02:56 quick_address.php
-rw-r—r— 1 root root 2.0k Sep 12 14:40 README.txt
-rw-r—r— 1 root root 13k Sep 12 10:07 readmsg.php
-rw-r—r— 1 root root 6.0k Aug 20 23:58 search.php
-rw-r—r— 1 root root 4.9k Sep 17 17:28 session_management.php
drwxr-xr-x 2 root root 4.0k Oct 22 10:24 temporary_files
drw-r—r— 7 root root 4.0k Oct 17 16:08 themes
-rw-r—r— 1 root root 1.3k Aug 24 09:30 upload.php
Personalizando
É possível modificar a imagem que vem na tela de logon, trocando para a logomarca da sua empresa, por exemplo. Copie o arquivo /home/httpd/html/webmail/images/logo.gif para logo_backup.gif (backup, claro). Agora, é só modificar o logo.gif em um editor de imagens (como o Gimp). Não altere seu tamanho original, a página está configurada para mantê-lo sempre do lado esquerdo com dimensões pré-definidas.
Colabore
Se você desejar alterar alguma palavra em nosso idioma ou outro qualquer, ou mesmo traduzir o UebiMiau para um idioma ainda não suportado, vá até o diretório /home/httpd/html/webmail/themes. Entre no diretório correspondente ao idioma e modifique os arquivos html conforme a necessidade. Não se esqueça de enviar suas alterações aos desenvolvedores.
Victor Zucarino - vffzbr@yahoo.com.br