📬 Domínios e Mailboxes
Guia de configuração de domínios, criação de contas de email, aliases e quotas no Mailcow
📋 Índice
- Adicionar Domínio
- Criar Mailboxes
- Lista de Utilizadores FSociety
- Aliases de Email
- Quotas e Limites
- Gestão via Web UI
- Gestão via CLI
🌐 Adicionar Domínio
Via Web Interface
- Aceder ao painel de administração:
- URL: https://mail.fsociety.pt
- Login:
admin
- Navegar para Configuration → Mail Setup:
- Clicar em “Domains”
- Clicar no botão “Add domain”
- Preencher informações do domínio:
| Campo | Valor | Descrição |
|---|---|---|
| Domain | fsociety.pt | Nome do domínio |
| Description | Domínio principal FSociety | Descrição opcional |
| Max. mailboxes | 50 | Número máximo de contas |
| Max. aliases | 100 | Número máximo de aliases |
| Default mailbox quota | 5120 MB | Quota padrão (5 GB) |
| Max. quota per mailbox | 10240 MB | Quota máxima (10 GB) |
| Domain quota | 102400 MB | Quota total domínio (100 GB) |
- Configurações avançadas:
- ✅ Enable relay for this domain (se necessário)
- ✅ Backupmx (deixar desativado)
- ✅ Relay all recipients (deixar desativado)
- Clicar em “Add domain and restart SOGo”
Verificar Domínio Criado
# Ver domínios configurados
sudo docker compose exec mysql-mailcow \
mysql -u mailcow -p mailcow -e "SELECT domain FROM domain;"
Saída esperada:
+-------------+
| domain |
+-------------+
| fsociety.pt |
+-------------+
📮 Criar Mailboxes
Via Web Interface
- Configuration → Mail Setup → Mailboxes
- Clicar em “Add mailbox”
Exemplo: Criar conta ryan.barbosa@fsociety.pt
| Campo | Valor |
|---|---|
| Username | ryan.barbosa |
| Domain | fsociety.pt |
| Full name | Ryan Barbosa |
| Password | <senha_forte> |
| Confirm password | <senha_forte> |
| Quota | 5120 MB (5 GB) |
| Active | ✅ Sim |
| Send/Receive | ✅ Ambos ativos |
- Clicar em “Add”
Criação em Massa
Para criar múltiplas contas rapidamente, pode-se usar um script:
# Script de criação (exemplo)
#!/bin/bash
DOMAIN="fsociety.pt"
MAILCOW_API="https://mail.fsociety.pt/api/v1"
API_KEY="<sua_api_key>"
# Array de utilizadores
USERS=(
"ana.rodrigues:Ana Rodrigues"
"bruno.ferreira:Bruno Ferreira"
"carlos.mendes:Carlos Mendes"
)
for USER in "${USERS[@]}"; do
USERNAME=$(echo $USER | cut -d: -f1)
FULLNAME=$(echo $USER | cut -d: -f2)
curl -X POST "$MAILCOW_API/add/mailbox" \
-H "X-API-Key: $API_KEY" \
-H "Content-Type: application/json" \
-d "{
\"local_part\": \"$USERNAME\",
\"domain\": \"$DOMAIN\",
\"name\": \"$FULLNAME\",
\"quota\": 5120,
\"password\": \"ChangeMe123!\",
\"active\": 1
}"
done
👥 Lista de Utilizadores FSociety
Total de 20 mailboxes configuradas para o domínio fsociety.pt:
Equipa TI (Administradores)
| Nome Completo | Quota | Função | |
|---|---|---|---|
| hugo.correia@fsociety.pt | Hugo Correia | 10 GB | Administrador de Sistemas |
| ryan.barbosa@fsociety.pt | Ryan Barbosa | 10 GB | Administrador de Sistemas |
| igor.araujo@fsociety.pt | Igor Araújo | 10 GB | Administrador de Sistemas |
Conta de Sistema
| Nome Completo | Quota | Função | |
|---|---|---|---|
| tickets@fsociety.pt | Sistema de Tickets | 20 GB | Integração Zammad |
Utilizadores Gerais
| Nome Completo | Quota | |
|---|---|---|
| ana.rodrigues@fsociety.pt | Ana Rodrigues | 5 GB |
| bruno.ferreira@fsociety.pt | Bruno Ferreira | 5 GB |
| carlos.mendes@fsociety.pt | Carlos Mendes | 5 GB |
| claudia.sousa@fsociety.pt | Cláudia Sousa | 5 GB |
| daniel.ribeiro@fsociety.pt | Daniel Ribeiro | 5 GB |
| ines.gomes@fsociety.pt | Inês Gomes | 5 GB |
| joao.silva@fsociety.pt | João Silva | 5 GB |
| luis.martins@fsociety.pt | Luís Martins | 5 GB |
| maria.santos@fsociety.pt | Maria Santos | 5 GB |
| miguel.carvalho@fsociety.pt | Miguel Carvalho | 5 GB |
| patricia.lima@fsociety.pt | Patrícia Lima | 5 GB |
| pedro.costa@fsociety.pt | Pedro Costa | 5 GB |
| ricardo.oliveira@fsociety.pt | Ricardo Oliveira | 5 GB |
| sara.pinto@fsociety.pt | Sara Pinto | 5 GB |
| sofia.almeida@fsociety.pt | Sofia Almeida | 5 GB |
| teresa.pereira@fsociety.pt | Teresa Pereira | 5 GB |
Estatísticas
Total de contas: 20
Quota total alocada: 145 GB
- Administradores: 30 GB (3 x 10 GB)
- Sistema: 20 GB (1 x 20 GB)
- Utilizadores: 80 GB (16 x 5 GB)
- Buffer disponível: ~15 GB
📧 Aliases de Email
Aliases permitem que um email seja recebido por múltiplos endereços.
Criar Alias via Web UI
- Configuration → Mail Setup → Aliases
- Clicar em “Add alias”
Exemplos de Aliases Comuns
| Alias | Destino | Função |
|---|---|---|
| admin@fsociety.pt | ryan.barbosa@fsociety.pt | Administração geral |
| suporte@fsociety.pt | tickets@fsociety.pt | Suporte técnico |
| info@fsociety.pt | hugo.correia@fsociety.pt | Informações gerais |
| noreply@fsociety.pt | /dev/null | Emails automáticos |
| ti@fsociety.pt | hugo.correia@fsociety.pt, ryan.barbosa@fsociety.pt, igor.araujo@fsociety.pt | Equipa TI |
Criar Alias via CLI
# Via API
curl -X POST "https://mail.fsociety.pt/api/v1/add/alias" \
-H "X-API-Key: <api_key>" \
-H "Content-Type: application/json" \
-d '{
"address": "admin@fsociety.pt",
"goto": "ryan.barbosa@fsociety.pt",
"active": 1
}'
💾 Quotas e Limites
Tipos de Quotas
- Quota de Mailbox: Espaço máximo por conta
- Quota de Domínio: Espaço total para todas as contas do domínio
- Message Size Limit: Tamanho máximo de email individual
Ver Uso de Quota
Via Web UI:
- Configuration → Mail Setup → Mailboxes
- Coluna “Quota” mostra uso/total
Via CLI:
# Ver uso de disco por mailbox
sudo du -sh /opt/mailcow-dockerized/data/vmail/fsociety.pt/*
# Relatório detalhado
sudo docker compose exec dovecot-mailcow doveadm quota get -A
Alterar Quota de Utilizador
Via Web UI:
- Configuration → Mail Setup → Mailboxes
- Clicar em Edit na conta desejada
- Ajustar campo “Quota (MiB)”
- Salvar
Via CLI:
# Aumentar quota para 10 GB
curl -X POST "https://mail.fsociety.pt/api/v1/edit/mailbox" \
-H "X-API-Key: <api_key>" \
-H "Content-Type: application/json" \
-d '{
"items": ["ryan.barbosa@fsociety.pt"],
"attr": {
"quota": 10240
}
}'
Avisos de Quota
Configurar alertas quando quota atingir limite:
- System → Configuration → Mailboxes
- Quota Warning:
90(aviso aos 90%) - Quota Notification: Email para admin
🖥️ Gestão via Web UI
Dashboard de Mailboxes
URL: https://mail.fsociety.pt → Configuration → Mail Setup → Mailboxes
Funções disponíveis:
| Ação | Descrição |
|---|---|
| ✏️ Edit | Alterar nome, senha, quota |
| 🔒 Suspend | Desativar temporariamente |
| 🗑️ Delete | Remover permanentemente |
| 📊 Stats | Ver estatísticas de uso |
| 🔑 Reset Password | Alterar senha |
| 📂 Mailbox ACL | Partilhar pastas |
Filtros de Pesquisa
Pesquisar por:
- Nome de utilizador
- Domínio
- Nome completo
- Estado (ativo/inativo)
💻 Gestão via CLI
Listar Mailboxes
# Via MySQL
sudo docker compose exec mysql-mailcow \
mysql -u mailcow -p mailcow -e \
"SELECT username, name, quota, active FROM mailbox WHERE domain='fsociety.pt';"
Ver Detalhes de Conta
# Informação completa
sudo docker compose exec mysql-mailcow \
mysql -u mailcow -p mailcow -e \
"SELECT * FROM mailbox WHERE username='ryan.barbosa@fsociety.pt'\G"
Alterar Password
# Via doveadm
sudo docker compose exec dovecot-mailcow \
doveadm pw -s SHA512-CRYPT -p 'NovaSenha123!'
# Atualizar no MySQL com hash gerado
Estatísticas de Email
# Emails enviados/recebidos
sudo docker compose exec mysql-mailcow \
mysql -u mailcow -p mailcow -e \
"SELECT COUNT(*) FROM smtp_log WHERE user='ryan.barbosa@fsociety.pt';"
🔗 Integração LDAP Nativa
Os utilizadores são sincronizados automaticamente a partir do Active Directory através do Identity Provider LDAP nativo do Mailcow.
Configuração via Web UI
- Aceder a https://mail.fsociety.pt/admin
- Ir a System → Configuration → Identity Provider
- Selecionar LDAP como authsource
Parâmetros Configurados
| Parâmetro | Valor |
|---|---|
| Host | 192.168.1.10 |
| Port | 636 |
| Encryption | SSL/TLS (LDAPS) |
| Base DN | DC=fsociety,DC=pt |
| Bind DN | CN=svc_ldap,OU=Service Accounts,DC=fsociety,DC=pt |
| Username Field | |
| Sync Interval | 15 minutos |
| Import Users | Ativo |
| Default Template | Default |
Verificar Sincronização
cd /opt/mailcow-dockerized
# Forçar sincronização LDAP
docker compose exec php-fpm-mailcow php /crons/ldap-sync.php
# Ver logs de sincronização
docker compose exec redis-mailcow redis-cli -a 'REDIS_PASSWORD' LRANGE CRON_LOG 0 20
# Ver utilizadores com authsource=ldap
docker compose exec mysql-mailcow mysql -u mailcow -p mailcow \
-e "SELECT username, authsource FROM mailbox WHERE authsource='ldap';"
Funcionamento
- O container
ofelia-mailcowexecutaldap-sync.phpperiodicamente - O script consulta o AD usando a conta de serviço
svc_ldap - Utilizadores com atributo
mailpreenchido são importados - Mailboxes são criadas automaticamente com o template “Default”
- Autenticação ocorre em tempo real contra o AD
🔍 Troubleshooting
Mailbox não recebe emails
# Verificar se mailbox está ativa
# Verificar quota (se cheia, não recebe)
# Verificar logs
sudo docker compose logs dovecot-mailcow | grep "ryan.barbosa"
Reset de Senha Esquecida
# Via Web UI: Configuration → Mailboxes → Edit → Reset Password
# Ou via CLI (Docker)
Mailbox Corrompida
# Reconstruir índices Dovecot
sudo docker compose exec dovecot-mailcow \
doveadm force-resync -u ryan.barbosa@fsociety.pt INBOX
🎓 Informação Académica
| Campo | Informação |
|---|---|
| Instituição | ESTG - Instituto Politécnico do Porto |
| Unidade Curricular | Administração de Sistemas II |
| Ano Letivo | 2025/2026 |
| Autores | Ryan Barbosa, Hugo Correia, Igor Araújo |
**[⬅️ Anterior: Configuração](/fsociety-infrastructure/08-mailcow/02-configuracao.html)** | **[Índice](/fsociety-infrastructure/08-mailcow/)** | **[Próximo: Rspamd ➡️](/fsociety-infrastructure/08-mailcow/04-rspamd.html)**
Última atualização: Dezembro 2025