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: 73.802 ]

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

CentOS e LVM

Slackpkg, uma ótima ferramenta para Slackware

Gcombust, um frontend para cdrecord

Instalando OpenBSD no vmware

Sistema de arquivos distribuídos usando Gmail

Leitura recomendada

Instalando o Qmail no RedHat 9

Openfire no SLES 10 autenticando no Active Directory

Implementando o Interscan VirusWall com Postfix

Postfix - Relay agent

Configurando servidor IMAP

  
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