1. Introdução
O Serviço de E-Mail hoje é de fundamental importancia para organizações. Há vários sistemas “prontos” para se administrar um servidor de e-mail, comerciais e de distribuição gratuita. A implantação de um sistema completo de emails instalando componente por componente pode ser mais trabalhoso, mas pode trazer várias vantagens. É importante estudar cada caso para se escolher a melhor solução. Neste artigo será abordado as principais vantagens e desvantagens de se utilizar um sistema “manual” e a implantação completa de um sistema “manual”.
O problema
Soluçoes livres
Soluções comerciais
Componentes utilizados, descrever cada um
Implantação
1.1 Instalando os pacotes necessários:
apt-get install postfix postfix-mysql apache2 php5 courier-imap courier-imap-ssl courier-authlib courier-authdaemon courier-authlib-mysql courier-pop courier-pop-ssl courier-ssl mysql-server php5-imap php5-mysql php5-mcrypt phpmyadmin postgrey roundcube roundcube-core roundcube-mysql sasl2-bin vim fam libfam0 libsasl2-modules postfix-policyd-spf-python clamav clamav-daemon clamav-base libpam-mysql clamsmtp opendkim spamassassin
Atualize as definições de vírus e inicie o clamav:
freshclam
service clamav-daemon start
Copiar arquivo vacation.pl para /var/spool/vacation/vacation.pl
1.2 Criando nosso banco no MySQL:
root@fullz:/# mysql -p
Enter password:
mysql> create database postfix;
Query OK, 1 row affected (0.00 sec)
mysql> grant all on postfix.* to postfix@localhost identified by ‘xxxx’;
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Criar a tabelas conforme o arquivo sql: postfix.sql.txt
Insira alguns dados:
1.3 Configurando o Postfix:
1.4 PostfixAdmin
Baixar o postfixadmin: http://downloads.sourceforge.net/project/postfixadmin/postfixadmin/postfixadmin-2.3.6/postfixadmin-2.3.6.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fpostfixadmin%2F&ts=1361974909&use_mirror=ufpr
Inserir dados no mysql para acesso ao postfixadmin:
INSERT INTO `postfix`.`admin` (`username`, `password`, `created`, `modified`, `active`) VALUES (‘admin’, MD5(‘1234’), NOW(), ‘0000-00-00 00:00:00’, ‘1’);
INSERT INTO `postfix`.`domain_admins` (`username`, `domain`, `created`, `active`) VALUES (‘admin’, ‘ALL’, NOW(), ‘1’);
Configurando o PostfixAdmin, edite o arquivo config.inc.php e modifique as seguintes variaveis:
$CONF[‘configured’] = true;
$CONF[‘default_language’] = ‘pt-br’;
$CONF[‘database_type’] = ‘mysql’;
$CONF[‘database_host’] = ‘localhost’;
$CONF[‘database_user’] = ‘postfix’;
$CONF[‘database_password’] = ‘postfixadmin’;
$CONF[‘database_name’] = ‘postfix’;
Saslauthd
Modificar no arquivo /etc/default/saslauthd:
START=yes
OPTIONS=”-r -c -m /var/spool/postfix/var/run/saslauthd”
Criar diretórios: mkdir /var/spool/postfix/var/run
dpkg-statoverride –add root sasl 710 /var/spool/postfix/var/run/saslauthd
Crie o arquivo /etc/pam.d/smtp com o conteudo:
auth required pam_mysql.so user=postfix passwd=suasenha host=127.0.0.1 db=postfix table=mailbox usercolumn=username passwdcolumn=password crypt=1account sufficient pam_mysql.so user=postfix passwd=suasenha host=127.0.0.1 db=postfix table=mailbox usercolumn=username passwdcolumn=password crypt=1
Crie o arquivo /etc/postfix/sasl/smtpd.conf com o conteudo:
pwcheck_method: saslauthd
mech_list: plain login cram-md5 digest-md5
allow_plaintext: true
auxprop_plugin: mysql
sql_hostnames: 127.0.0.1
sql_user: postfix
sql_passwd: suasenha
sql_database: postfix
loglevel: 0
sql_select: select password from mailbox where username = ‘%u@%r’
COURIER:
Modificar arquivo /etc/courier/authdaemonrc
authmodulelist=”authmysql”
Modificar arquivo /etc/courier/authmysqlrc
DEFAULT_DOMAIN seudomain.com.br
MYSQL_CRYPT_PWFIELD password
MYSQL_DATABASE postfix
MYSQL_GID_FIELD ‘8’
MYSQL_HOME_FIELD ‘/var/mail/virtual’
MYSQL_LOGIN_FIELD username
MYSQL_MAILDIR_FIELD maildir
MYSQL_NAME_FIELD name
MYSQL_OPT 0
MYSQL_PASSWORD suasenha
#MYSQL_PORT 0
#MYSQL_QUOTA_FIELD quota
MYSQL_SERVER localhost
# Default FreeBSD Socket
#MYSQL_SOCKET /var/mysql/mysql.sock
# Default RedHat Socket
#MYSQL_SOCKET /var/lib/mysql/mysql.sock
MYSQL_UID_FIELD ‘1001’
MYSQL_USERNAME postfix
MYSQL_USER_TABLE mailbox
Conclusão