quinta-feira, dezembro 07, 2006

Configurando o Postifix


Esta é a parte final deste How-To, é a configuração final do postfix, será basicamente, ligando o Postfix ao Cyrus-Sasl e a base de dados, basicamente, abaixo serão mostrados os arquivos do diretório /usr/local/etc/postfix, todos eles devem estar presente, as únicas alterações a serem feitas é o nome do usuário e senha da base de dados nos arquivos de ligação com o MySQL.


Arquivo de configuração do Postfix. /usr/local/etc/postfix/main.cf

mydestination = localhost.$mydomain, localhost, $transport_maps
local_recipient_maps = unix:passwd.byname, $alias_maps, $virtual_recipient_maps
unknown_local_recipient_reject_code = 550
mynetworks_style = class
alias_maps = hash:/usr/local/etc/postfix/aliases
home_mailbox = Maildir/
smtpd_banner = $myhostname ESMTP $mail_name ($mail_version)
debug_peer_level = 2
debugger_command =
PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
xxgdb $daemon_directory/$process_name $process_id & sleep 5
sendmail_path = /usr/local/sbin/sendmail
newaliases_path = /usr/local/bin/newaliases
mailq_path = /usr/local/bin/mailq
setgid_group = maildrop
html_directory = no
manpage_directory = /usr/local/man
sample_directory = /usr/local/etc/postfix
readme_directory = no

#Configuração do MySQL e de dominios virtuais
transport_maps = mysql:/usr/local/etc/postfix/transport.cf
virtual_gid_maps = mysql:/usr/local/etc/postfix/gids.cf
virtual_mailbox_base = /var/mail/virtual
virtual_mailbox_maps = mysql:/usr/local/etc/postfix/mysql_virtual.cf
virtual_maps = mysql:/usr/local/etc/postfix/mysql.aliases.cf
virtual_uid_maps = mysql:/usr/local/etc/postfix/uids.cf
virtual_recipient_maps = mysql:/usr/local/etc/postfix/recipients.cf
virtual_mailbox_limit_inbox = no
virtual_mailbox_limit_maps = mysql:/usr/local/etc/postfix/mailboxsize-mysql.cf
virtual_mailbox_limit_override = yes
virtual_maildir_extended = yes
virtual_create_maildirsize = yes
virtual_mailbox_limit = 100000000

smtpd_sasl_auth_enable = yes
broken_sasl_auth_clients = yes
smtpd_helo_required = yes
smtpd_sender_login_maps = hash:/usr/local/etc/postfix/sender_login_maps
smtpd_sender_login_maps = mysql:/usr/local/etc/postfix/login_maps.cf
smtpd_recipient_restrictions =
reject_non_fqdn_sender
reject_non_fqdn_recipient
reject_invalid_hostname
reject_unknown_sender_domain
reject_unknown_recipient_domain
reject_multi_recipient_bounce
reject_sender_login_mismatch
permit_sasl_authenticated
reject_unauth_destination
permit

Arquivos de ligação do postfix com o MySQL:

/usr/local/etc/postfix/transport.cf

user = postfix
password = e-mail
dbname = mail
table = transport
select_field = transport
where_field = domain
hosts = localhost

/usr/local/etc/postfix/gids.cf

user = postfix
password= e-mail
dbname = mail
table = virtual_users
select_field = gid
where_field = id
hosts = localhost

/usr/local/etc/postfix/uids.cf

user = postfix
password= e-mail
dbname = mail
table = virtual_users
select_field = uid
where_field = id
hosts = localhost

/usr/local/etc/postfix/mysql_virtual.cf

user = postfix
password= e-mail
dbname = mail
table = virtual_users
select_field = maildir
where_field = id
hosts = localhost

/usr/local/etc/postfix/mysql.aliases.cf

user = postfix
password= e-mail
dbname = mail
table = aliases
select_field = rcpt
where_field = alias
hosts = localhost

/usr/local/etc/postfix/recipients.cf

user = postfix
password= e-mail
dbname = mail
table = virtual_users
select_field = nome
where_field = id
hosts = localhost

/usr/local/etc/postfix/mailboxsize-mysql.cf

password = e-mail
dbname = mail
table = virtual_users
select_field = quota
where_field = id
hosts = localhost

/usr/local/etc/postfix/login_maps.cf

password = e-mail
dbname = mail
table = virtual_users
select_field = login_maps
where_field = id
hosts = localhost

pronto, tudo deve estar funcionando.

Agora vamos instalar o WebMail