Servidor de Email · 3 min read · Oct 05, 2025
Solução Completa de Servidor de Email com Domínios e Usuários Virtuais (Debian Etch, Postfix, Mysql, Dovecot, DSpam, ClamAV, Postgrey, RBL) - Página 9
VI. IMAP Inseguro
Então agora você tem uma configuração de servidor de email praticamente à prova de balas. O email chega, é processado por uma variedade de procedimentos anti-spam e é verificado quanto a vírus antes de ser depositado de forma organizada no diretório de um usuário virtual no servidor interno. Mas… como os usuários acessam seu email?
Boa pergunta. A resposta varia dependendo de onde o usuário está. Por enquanto, vamos assumir que o usuário está (A) na rede local (interna) ou (B) acessando seu email através de uma conexão segura com o servidor web. Para qualquer um desses casos, eles precisarão que o IMAP esteja em funcionamento. Como o servidor de correio já possui um servidor IMAP totalmente funcional instalado (Dovecot), vamos usar esse servidor para fazer seus acessos.
Abra o arquivo de configuração do Dovecot localizado em /etc/dovecot/dovecot.conf e faça com que ele fique da seguinte forma. Provavelmente já há muitas configurações padrão feitas, então você provavelmente só precisará descomentar certas seções e mudar pequenas coisas.
## Arquivo de configuração do Dovecot
#
base_dir = /var/run/dovecot/
#
# imap imaps pop3 pop3s (use imaps e pop3s se configurado para SSL)
protocols = imap
#
# Descomente as instruções ssl_listen e comente listen se estiver usando SSL
protocol imap {
listen = *:143
# ssl_listen = *:993
}
#protocol pop3 {
#listen = *:110
# ssl_listen = *:995
#}
#
log_timestamp = "%Y-%m-%d %H:%M:%S "
syslog_facility = mail
#
# Descomente isso se estiver usando SSL
#ssl_cert_file = /etc/ssl/mycompany/mailserver/mail-cert.pem
#ssl_key_file = /etc/ssl/mycompany/mailserver/mail-key.pem
#ssl_ca_file = /etc/ssl/mycompany/ca/mycompany.pem
#ssl_verify_client_cert = yes
#ssl_parameters_regenerate = 168
#verbose_ssl = no
#
# Onde as caixas de correio estão localizadas
mail_location = maildir:/vmail/%d/%u
#
mail_extra_groups = mail
mail_debug = no
first_valid_uid = 150
last_valid_uid = 150
maildir_copy_with_hardlinks = yes
#
protocol imap {
login_executable = /usr/lib/dovecot/imap-login
mail_executable = /usr/lib/dovecot/imap
imap_max_line_length = 65536
}
#protocol pop3 {
#login_executable = /usr/lib/dovecot/pop3-login
#mail_executable = /usr/lib/dovecot/pop3
#pop3_uidl_format = %08Xu%08Xv
#}
protocol lda {
postmaster_address = [email protected]
sendmail_path = /usr/lib/sendmail
auth_socket_path = /var/run/dovecot/auth-master
}
#
auth_verbose = no
auth_debug = no
auth_debug_passwords = no
#
auth default {
mechanisms = plain
passdb sql {
args = /etc/dovecot/dovecot-sql.conf
}
userdb sql {
args = /etc/dovecot/dovecot-sql.conf
}
user = nobody
socket listen {
master {
path = /var/run/dovecot/auth-master
mode = 0660
user = vmail
group = mail
}
client {
path = /var/spool/postfix/private/auth
mode = 0660
user = postfix
group = postfix
}
}
#
# Se você quiser certificados de cliente, use estas linhas
# ssl_require_client_cert = yes
# ssl_username_from_cert = yes
}NOTA: Você não pode simplesmente copiar a configuração acima e esperar que funcione! Você precisará incorporar quaisquer alterações acima em sua própria configuração.
A configuração do Dovecot está quase completa, mas assim como na configuração do Postfix, as configurações do MySQL precisam ser incorporadas.
Abra o arquivo /etc/dovecot/dovecot-sql.conf e certifique-se de que o seguinte esteja presente.
driver = mysql
connect = host=sql-1.internal.example.com dbname=virtual_mail user=vmail_user password=vmail_user_password
# O novo nome para MD5 é MD5-CRYPT, então você pode precisar mudar isso dependendo da versão
default_pass_scheme = MD5
# Obter a caixa de correio
user_query = SELECT '/vmail/%d/%n' AS home, 'maildir:/vmail/%d/%n' AS mail, 150 AS uid, 8 AS gid, CONCAT('dirsize:storage=', quota) AS quota FROM mailbox WHERE username = '%u' AND active = '1'
# Obter a senha
password_query = SELECT username AS user, password, '/vmail/%d/%n' AS userdb_home, 'maildir:/vmail/%d/%n' AS userdb_mail, 150 AS userdb_uid, 8 AS userdb_gid FROM mailbox WHERE username = '%u' AND active = '1'
# Se estiver usando certificados de cliente para autenticação, comente o acima e descomente o seguinte
#password_query = SELECT null AS password, '%u' AS userComo armazenamos nossa senha do MySQL em formato de texto simples neste documento, queremos ter certeza de que somos os únicos que podem lê-la!
# chmod 600 /etc/dovecot/*.conf
# chown vmail /etc/dovecot/*.confA configuração interna/insegura do Dovecot está agora concluída! Vá em frente e reinicie o serviço dovecot:
# invoke-rc.d dovecot restart… e seus usuários internos/webmail agora podem verificar emails em postman.internal.example.com
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.