Servidor de e-mail com OpenBSD - Postfix & Cia

cvs

Nesse breve HOWTO vamos discorrer a respeito da instalação de um servidor de e-mail usando a plataforma OpenBSD com Postfix, MySQL e mais algumas coisas legais de se mexer.

[ Hits: 74.565 ]

Por: Thiago Alves em 28/01/2009 | Blog: http://www.seeufosseopresidente.com.br


Sugestão de script



Esse não está pronto, mas vai servir muito bem de uma base pra quem queira criar algo assim.

Vejamos:

#!/usr/local/bin/bash

#DADOS DO BANCO
user=XXXXX
pass=XXXXX
DB=XXXXX
DOMINIO=XXXXXXX # exemplo uol.com.br
M=`which mysql`

adicionar() {

echo -n "Informe o login: "
read LOGIN
echo -n "Informe nome completo: "
read NOME
echo -n "Informe senha: "
read SENHA

$M -u$user -p${pass} -e "INSERT INTO users (login, name, password, maildir) VALUES ('$cvs@${DOMINIO}', '${NOME}','ENCRYPT('${SENHA}'),'${DOMINIO}/$cvs/');" $DB
}

listar() {
$M -u$user -p${pass} -e "SELECT * FROM users" $DB
}

alterar_senha() {
echo -n "Usuario que deseja alterar: "
read USUARIO_ALTERADO
echo -n "Informe nova senha: "
read NOVA_SENHA
$M -u$user -p${pass} -e "update users set password='ENCRYPT($NOVA_SENHA)' where login='$USUARIO_ALTERADO'"
}

alterar_quota() {
echo -n "Usuario que deseja alterar: "
read USUARIO_ALTERADO
echo -n "Informe nova senha: "
read NOVA_QUOTA
$M -u$user -p${pass} -e "update users set quota='$NOVA_QUOTA' where login='$USUARIO_ALTERADO'"
}

echo "

Menu de Administração
Servidor de E-Mail

1 - Listar Usuarios
2 - Adicionar Usuarios
3 - Alterar Senha
4 - Alterar Quota
5 - Sair

"
read OPT

if [ $OPT -eq 1 ]
then
    listar
elif [ $OPT -eq 2 ]
then
    adicionar
elif [ $OPT -eq 3 ]
then
    alterar_senha
elif [ $OPT -eq 4 ]
then
    alterar_quota
    $INICIO
elif [ $OPT -eq 5 ]
then
    exit
fi

Se alguém puder sugerir melhorias e correções, fico agradecido também. Esse script eu fiz meio na correria, só pra ganhar tempo com essas operações básicas.

Página anterior     Próxima página

Páginas do artigo
   1. Introdução - O que é o que?
   2. Postfix
   3. MySQL
   4. Courier-IMAP
   5. Filtragem de conteúdo (Spamassassin + ClamAV + Amavisd-new)
   6. Webmail (Squirrel ou RoundCube)
   7. Postfixadmin
   8. Sugestão de script
   9. Conclusão
Outros artigos deste autor

Servidor web com CentOS + Apache

Tornando o OpenBSD stable

OpenBSD Proxy - Squid, SquidGuard, SquidClamAV e AdZapper

Montando um PDC com OpenBSD

Samba + clamav - compartilhamento livre de vírus

Leitura recomendada

Gmail com POP e SMTP no Thunderbird

Solução corporativa Expresso Livre, substituto de peso do Notes

Utilizando GMail (Google Mail) em seu cliente de email favorito

Como fazer usuário interagir com SpamAssassin

Benchmark entre servidores de e-mails

  
Comentários
[1] Comentário enviado por jmucelli em 28/01/2009 - 17:25h

Show de bola o artigo... parabéns... e continue escrevendo sobre o Open... muito bom

[2] Comentário enviado por diogojp em 29/01/2009 - 13:19h

Show de bola o artigo, vc ja tentou aplicar essa solução em um SO Freebsd ?

[3] Comentário enviado por cvs em 29/01/2009 - 13:20h

Opa..
Valeu...
Mas não, ainda não tentei...
Mas acredito que não havera muitas coisas diferentes pra fazer no freebsd.

[4] Comentário enviado por pogo em 30/01/2009 - 11:09h

CVS,

Muito bom o texto. Com certeza precisamos de mais artigos desta qualidade e voltados para sistemas BSD's. Parabéns!

[]'s

Pogo.

[5] Comentário enviado por mathcuei em 31/01/2009 - 18:49h

Caro Thiago!

Primeiramente, agradeço a grande contribuição a toda comunidade!

Estou tentando configurar o servidor como descrito, porém estou com dificuldades de instalação do postfix + mysql. O problema é relacionado alguma source nas configurações do proprio port. Qual é a versão do port que foi instalado? É por um acaso a da data 08/08/2008?

Estou usando a versão 4.4. Poderia ser isso?


Desde já agradecido!


Atenciosamente

[6] Comentário enviado por cvs em 02/02/2009 - 09:45h

Eu usei a versão padrão que fica em ftp://ftp.das.ufsc.br/pub/OpenBSD/4.4/ports.tar.gz e não tive que fazer nada alem do que descrevi para subir o postfix com suporte a mysql. A versão é a 4.4 mesmo que estou usando.

Qual erro que aparece? Cola ae pra gente ver.

[7] Comentário enviado por mathcuei em 03/02/2009 - 10:27h

Caro Thiago!

Acabei por descobrir qual era o erro apresentado. O problema na compilação estava acontecendo pelo uso do interpretador Bash. Efetuei a modificação para o interpretador padrão, continuando assim a compilação perfeitamente. Consegui subi o servidor, seguindo os passos descritos neste. Muito Obrigado pela atenção!


Atenciosamente


[8] Comentário enviado por TecBSD em 06/02/2009 - 12:08h

Para montar um script para popular:

GRANT SELECT ON mail.* to 'vmail'@'localhost' IDENTIFIED BY 'vmail';
use mail; (faltou acrescentar isso)
INSERT INTO domains (domain) VALUES ('exemplo.com.br');

INSERT INTO users (login, name, password, maildir)
VALUES ('thiago@exemplo.com.br', 'Thiago Alves', ENCRYPT('thiagogostosao'), 'exemplo.com.br/thiago/');

INSERT INTO alias_maps (account, alias)
VALUES ('postmaster@exemplo.com.br', 'postmaster@localhost.exemplo.com.br');

INSERT INTO alias_maps (account, alias)
VALUES ('root@exemplo.com.br', 'root@localhost.exemplo.com.br');

[9] Comentário enviado por pardalz em 21/01/2010 - 11:31h

amigão... pode me ajudar?


[11] Comentário enviado por pardalz em 21/01/2010 - 17:11h

respondi la..


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts