Crie o diretório
/usr/local/etc/dovecot e dentro dele o seguinte script:
#mkdir /usr/local/etc/dovecot
#ee dovecot.sieve
#chown –R vmail /usr/local/etc/dovecot####################
#
require ["fileinto"];
if header :contains "X-Spam-Level" "********************" {
discard;
stop;
}
elsif
header :contains "X-Spam-Status" "Yes" {
fileinto "INBOX.Spam";
stop;
}
#
####################
Agora vamos criar os arquivos de logs.
#touch /var/log/dovecot-lda.log
#touch /var/log/dovecot.log
#chown vmail /var/log/dovecot*Obs: Mensagens que estiver marcadas como Spam será movida para o diretório “
INBOX.Spam” do usuário, o mesmo será criado caso não exista.
Plugin QuotaTodos os usuários terão 20MB(*:storage=20480) de espaço para seus e-mails e uma mensagem de advertência será enviada quando sua Quota atingir 85% de uso. Fique a vontade para definir suas próprias configurações.
Agora vamos criar o script para enviar mensagem de advertência para os usuários.
#ee /usr/local/bin/quota-warning.sh
#chown vmail /usr/local/bin/quota-warning.sh####################
#!/bin/sh
PERCENT=$1
FROM="
Este endereo de e-mail est sendo protegido de spam, voc precisa de Javascript habilitado para v-lo
"
qwf="/tmp/quota.warning.$$"
echo "From: $FROM
To: $USER
To:
Este endereo de e-mail est sendo protegido de spam, voc precisa de Javascript habilitado para v-lo
Subject: Sua caixa de e-mail esta com $PERCENT% em uso.
Content-Type: text/plain; charset="UTF-8"
Atenção: Sua caixa de e-mail está com $PERCENT% em uso." >> $qwf
cat $qwf | /usr/sbin/sendmail -f $FROM "$USER"
rm -f $qwf
exit 0
####################
Configurando o dovecot-ldap.conf#cd /usr/local/etc
#ee dovecot-ldap.conf####################
debug_level = 0
hosts = 192.168.1.100
base = dc=neonoc,dc=tld
ldap_version = 3
dn = cn=bindmail,ou=matriz,dc=neonoc,dc=tld
dnpass = bindmail
auth_bind = yes
user_filter = (&(ObjectClass=person)(sAMAccountName=%u)(memberOf=CN=GGEMAIL,OU=matriz,DC=neonoc,DC=tld))
pass_filter = (&(ObjectClass=person)(sAMAccountName=%u) (memberOf=CN=GGEMAIL,OU=matriz,DC=neonoc,DC=tld))
####################
Iniciando o Dovecot#/usr/local/etc/rc.d/dovecot startPara verificar se o serviço está ativo use o comando ‘sockstat -4l’ e verifique se as portas 110, 143, 993 e 995 estão ativas. Se não estiver consulte os arquivos de logs, verifique os arquivos de configurações e as permissões dos arquivos e diretórios.
Testando autenticação#telnet mx.neonoc.tld 110
#telnet mx.neonoc.tld 143

Se tudo ocorreu bem até aqui, verifique se foi criado o caixa de e-mail do usuário em:
/var/virtual/
Postfix
Instalando o Postfix
O Postfix será o nosso Mail Transfer Agent (MTA) escolhido, que forma o núcleo de qualquer servidor de e-mail. Dentre outras coisas, o MTA é responsável por mover mensagens entre os vários servidores de e-mail na Internet.
Versão utilizada:
postfix-2.4.11#cd /usr/ports/mail/postfix24
#make config
#make install clean
Selecione as seguintes opções: PCRE – SASL2 – DOVECOT – TLS – OPENLDAP – VDA – TEST
Durante a instalação o sistema lhe fará duas perguntas, reposta ‘
y’ em todas.
Configurando o PostfixDesabilitando o Sendmail
#echo ‘sendmail_enable="NO"’ >> /etc/rc.conf
#echo ‘sendmail_submit_enable="NO"’ >> /etc/rc.conf
#echo ‘sendmail_outbound_enable="NO"’ >> /etc/rc.conf
#echo ‘sendmail_msp_queue_enable="NO"’ >> /etc/rc.confParando o Sendmail
#/etc/rc.d/sendmail forcestopIniciando o Postfix no boot do sistema:
#echo ‘postfix_enable=”YES”’ >> /etc/rc.confCrie o arquivo ‘
/etc/periodic.conf ‘e adicione as seguintes linhas:
#ee /etc/periodic.confdaily_clean_hoststat_enable="NO"
daily_status_mail_rejects_enable="NO"
daily_status_include_submit_mailq="NO"
daily_submit_queuerun="NO"
Criando certificados SSL/TLS
#mkdir /etc/ssl/postfix
#cd /etc/ssl/postfix
#openssl req -new -x509 -nodes -out smtpd.pem -keyout smtpd.pem -days 3650
#chmod 640 /etc/ssl/postfix/smtpd.pem
#chgrp -R postfix /etc/ssl/postfix
Arquivo Main.cfObs: O arquivo completo de configuração que foi utilizado ficou configurado da seguinte forma:
#cd /usr/local/etc/postfix
#ee main.cf###################### Configuração Geral
queue_directory = /var/spool/postfix
command_directory = /usr/local/sbin
daemon_directory = /usr/local/libexec/postfix
mail_owner = postfix
myhostname = mx.neonoc.tld
mydomain = neonoc.tld
myorigin = $mydomain
mydestination = $myhostname, localhost.$mydomain, localhost
unknown_local_recipient_reject_code = 550
mynetworks_style = host
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 SASL
broken_sasl_auth_clients = yes
smtpd_sender_restrictions = permit_sasl_authenticated, permit_mynetworks
smtpd_recipient_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
reject_non_fqdn_hostname,
reject_non_fqdn_sender,
reject_non_fqdn_recipient,
reject_unauth_destination,
reject_unauth_pipelining,
reject_invalid_hostname,
reject_rbl_client list.dsbl.org,
reject_rbl_client bl.spamcop.net,
reject_rbl_client sbl-xbl.spamhaus.org
smtpd_sasl_auth_enable = yes
smtpd_sasl_authenticated_header = yes
smtpd_sasl_local_domain = $myhostname
smtpd_sasl_security_options = noanonymous
smtpd_sasl_type = dovecot
smtpd_sasl_path = /var/run/dovecot/auth-client
## Configuração TLS/SSL
smtp_use_tls = yes
smtpd_use_tls = yes
smtp_tls_note_starttls_offer = yes
smtpd_tls_key_file = /etc/ssl/postfix/smtpd.pem
smtpd_tls_cert_file = /etc/ssl/postfix/smtpd.pem
smtpd_tls_CAfile = /etc/ssl/postfix/smtpd.pem
smtpd_tls_loglevel = 0
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
tls_random_source = dev:/dev/urandom
## Configuração LDAP/AD
home_mailbox = Maildir/
virtual_mailbox_base = /var/virtual
virtual_uid_maps = static:1000
virtual_gid_maps = static:1000
smtpd_recipient_restrictions = permit_mynetworks, reject_unauth_destination
alias_maps = hash:/etc/aliases
command_directory = /usr/local/sbin
daemon_directory = /usr/local/libexec/postfix
virtual_mailbox_domains =
NEONOC.TLD
virtual_mailbox_maps = ldap:ldapvirtual
ldapvirtual_server_host =
ldap://192.168.1.100
ldapvirtual_search_base = dc=neonoc,dc=tld
ldapvirtual_bind = yes
ldapvirtual_bind_dn = NEONOC\bindmail
ldapvirtual_bind_pw = bindmail
ldapvirtual_query_filter = (sAMAccountName=%u)
ldapvirtual_result_attribute = sAMAccountName
ldapvirtual_version = 3
ldapvirtual_chase_referrals = yes
ldapvirtual_result_format=%s/Maildir/
## Dovecot LDA Agent Delivery
virtual_transport= dovecot
dovecot_destination_recipient_limit=1
####################
Arquivo Master.cf
Descomente a linha “
smtps” deixando da seguinte forma:
smtps inet n - n - - smtpd
-o smtpd_tls_wrappermode=yes
-o smtpd_sasl_auth_enable=yes
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
Agora insira a seguinte linha no final do arquivo:
dovecot unix - n n - - pipe
flags=DRhu user=vmail:vmail argv=/usr/local/libexec/dovecot/deliver -d ${user}
Iniciando o Postfix#mv /etc/aliases /etc/aliases.OFF
#ln –s /usr/local/etc/postfix/aliases /etc/aliases
#postaliases /usr/local/etc/postfix/aliases
#/usr/local/etc/rc.d/postfix startPara verificar se o serviço está ativo use o comando ‘sockstat -4l’ e verifique se as portas 25 e 465 estão ativas. Se não estiver consulte o arquivo de log “/var/log/maillog” e verifique os arquivos de configurações.
Testando o envio de mensagem#telnet mx.neonoc.tld 25