Servidor de e-mail Postfix + MySQL + Dovecot + Cyrus
Nesse artigo aprenderemos a configurar rapidamente um servidor de e-mail com Postfix + MySQL + Dovecot + Cyrus usando RHEL 5.2.
Parte 5: Configuração do SMTP-AUTH/TLS e MySQL
Configuração do SMTP-AUTH
Vamos configurar o SMTP-AUTH e TLS.# vi /usr/lib/sasl2/smtpd.conf
#pwcheck_method: saslauthd
#mech_list: plain login
pwcheck_method: auxprop
mech_list: login plain
sql_engine: mysql
auxprop_plugin: sql
srp_mda: md5
password_format: crypt
sql_hostnames: localhost
sql_user: mail
sql_passwd: mail
sql_database: mail
sql_select: select password from mailbox where username = '%u@%r'
sql_verbose: true
Configuração do MySQL (base e tabelas)
Vamos criar um banco de dados chamado "mail".# mysql -u root -p
mysql> CREATE DATABASE mail;
mysql> GRANT ALL PRIVILEGES ON mail.* TO 'mail'@'localhost' IDENTIFIED BY 'mail'; //poderá colocar qualquer senha, no meu caso coloquei "mail"
mysql> FLUSH PRIVILEGES;
mysql> quit
Então vamos criar as tabelas necessárias para o nosso novo banco de dados (mail) que contém domínios, usuários, aliases e informações de caixas de correio:
# mysql -u mail -p
mysql> USE mail;
Criar tabela de domínios:
mysql> CREATE TABLE domain
( domain varchar(255) NOT NULL default '',
description varchar(255) NOT NULL default '',
aliases int(10) NOT NULL default '0',
mailboxes int(10) NOT NULL default '0',
maxquota int(10) NOT NULL default '0',
transport varchar(255) default NULL,
backupmx tinyint(1) NOT NULL default '0',
created datetime NOT NULL default '0000-00-00 00:00:00',
modified datetime NOT NULL default '0000-00-00 00:00:00',
active tinyint(1) NOT NULL default '1',
PRIMARY KEY (domain),
KEY domain (domain) ) TYPE=MyISAM COMMENT=' Virtual Domains';
Criar tabela mailbox (usuários):
mysql> CREATE TABLE mailbox ( username varchar(255) NOT NULL default '',
password varchar(255) NOT NULL default '',
name varchar(255) NOT NULL default '',
maildir varchar(255) NOT NULL default '',
quota int(10) NOT NULL default '0',
domain varchar(255) NOT NULL default '',
created datetime NOT NULL default '0000-00-00 00:00:00',
modified datetime NOT NULL default '0000-00-00 00:00:00',
active tinyint(1) NOT NULL default '1',
PRIMARY KEY (username),
KEY username (username) ) TYPE=MyISAM COMMENT='Virtual Mailboxes';
Criar tabela de alias:
mysql> CREATE TABLE alias ( address varchar(255) NOT NULL default '',
goto text NOT NULL,
domain varchar(255) NOT NULL default '',
created datetime NOT NULL default '0000-00-00 00:00:00',
modified datetime NOT NULL default '0000-00-00 00:00:00',
active tinyint(1) NOT NULL default '1',
PRIMARY KEY (address),
KEY address (address) ) TYPE=MyISAM COMMENT='Virtual Aliases';
Criamos as tabelas necessárias agora vamos sair do MySQL com o comando:
mysql> quit;
Você já configurou o mesmo como um servidor de e-mail interno? Em uma rede baseada em windows 2003 server?