Para que façamos as configurações e instalações corretas, vamos necessitar de alguns softwares que são pré-requisitos. Então vamos começar por eles:
# cd /usr/ports/databases/gdbm/
# make install clean
# cd /usr/ports/devel/libtool
# make install clean
Provavelmente a
libtool já vai estar instalada, mas só pra garantir, siga o passo acima.
# cd /usr/ports/lang/tcl/
# make install clean
# cd /usr/ports/lang/expect/
# make install clean
# cd /usr/ports/mail/courier-authlib
# env FLAVOR="no_pgsql no_ldap" make install clean
# cd /usr/ports/mail/courier-imap
# make install clean
# cd /usr/ports
# pkg_add ./packages/i386/all/courier-pop3-4.1.1p0.tgz
# pkg_add ./packages/i386/all/courier-authlib-mysql-0.58p2.tgz
Esse pacote do courier-pop3 foi gerado na instalação do courier-imap.
Agora vamos para a configuração dos daemons.
Edite o arquivo
/etc/courier/authdaemonrc e na opção authmodulelist deixe apenas o authmysql, como no exemplo abaixo:
authmodulelist="authmysql"
Salve e saia, depois disso, edite o seguinte arquivo:
/etc/courier/authmysqlrc
E adicione as seguintes linhas (provavelmente ele não vai existir no diretório, então vamos criá-lo):
MYSQL_SERVER 127.0.0.1
MYSQL_USERNAME vmail
MYSQL_PASSWORD vmail
MYSQL_PORT 3306
MYSQL_DATABASE mail
MYSQL_USER_TABLE users
MYSQL_CRYPT_PWFIELD password
MYSQL_DEFAULT_DOMAIN exemplo.com.br
MYSQL_UID_FIELD uid
MYSQL_GID_FIELD gid
MYSQL_LOGIN_FIELD login
MYSQL_HOME_FIELD home
MYSQL_NAME_FIELD name
MYSQL_MAILDIR_FIELD maildir
MYSQL_QUOTA_FIELD quota
Agora para criar os certificados do SSL para o imap e para o pop3d, basta rodar o utilitário seguinte:
# /usr/local/sbin/mkimapdcert
# /usr/local/sbin/mkpop3dcert
E depois disso vamos iniciar os serviços e colocar no servidor para iniciarem junto ao boot.
# mkdir -p /var/run/courier{,-auth}/
# /usr/local/sbin/authdaemond start
# /usr/local/libexec/imapd.rc start
# /usr/local/libexec/imapd-ssl.rc start
# /usr/local/libexec/pop3d.rc start
# /usr/local/libexec/pop3d-ssl.rc start
Agora vamos colocar o SMTP para autenticar com o SASL.
Edite o arquivo
/etc/postfix/main.cf e adicione as seguintes linhas:
#Ativando SASL
smtpd_sasl_auth_enable = yes
smtpd_recipient_restrictions = permit_mynetworks permit_sasl_authenticated reject_unauth_destination
broken_sasl_auth_clients = yes
smtpd_sasl_local_domain = $mydomain
Agora crie o arquivo de configuração
/usr/local/lib/sasl2/smtpd.conf com o seguinte conteudo:
pwcheck_method: authdaemond
authdaemond_path: /var/run/courier-auth/socket
mech_list: PLAIN LOGIN
Edite o arquivo
/etc/postfix/master.cf e coloque um "n" (sem as aspas) na coluna referente ao chroot, na linha do smtpd, pra ficar mais ou menos assim:
smtp inet n - n - - smtpd
Pronto, pronto.
Agora vamos finalizar com a bendita quota, que é sempre necessária.
Para isso vamos usar o maildirmake na criação dos diretórios já com as quotas determinadas, por exemplo, criando o diretório do usuário thiago com uma quota aproximada de 50mb.
# maildirmake -q 50000000S /var/mail/vhosts/exemplo.com.br/thiago
Agora precisamos definir no
/etc/postfix/master.cf o daemon que vai fazer as entregas de e-mail e averiguar a quota, adicione a seguinte linha no arquivo:
qdeliver unix - n n - - pipe
user=vmail argv=/usr/local/bin/deliverquota -w 90 /var/mail/vhosts/${domain}/${user}
Obs.: o -w 80 é pra informar ao usuário que a quota está chegando ao fim, então o 90 é de 80%, quando chegar nesse ponto ele vai avisar ao usuário.
E no arquivo
/etc/postfix/main.cf adicione a seguinte linha:
virtual_transport = qdeliver
Para criar/alterar a mensagem de quota quase atingida você pode alterar o arquivo
/etc/courier/quotawarnmsg.
Agora vamos às filtragens.