#!/bin/bash

# Define o domínio que você deseja inspecionar
TARGET_DOMAIN="saojosedoriopardo.sp.gov.br"

# Define a cota EXATA em MB que você está buscando (cota provisionada)
TARGET_QUOTA_MB=250

# Nome do arquivo de saída
OUTPUT_FILE="emails_${TARGET_DOMAIN//./_}_quota_provisionada_${TARGET_QUOTA_MB}MB.txt"

echo "Buscando contas de e-mail para o domínio: $TARGET_DOMAIN"
echo "Contas com cota provisionada EXATA de ${TARGET_QUOTA_MB}MB serão salvas em: $OUTPUT_FILE"
echo "---"

# Limpa o arquivo de saída se ele já existir
> "$OUTPUT_FILE"

# Percorre todos os usuários do cPanel
for USER in $(ls -1A /var/cpanel/users/); do
    # Extrai os domínios associados a este usuário (se houver múltiplos)
    USER_DOMAINS=$(grep -i ^dns /var/cpanel/users/"$USER" | cut -d= -f2 | tr ' ' '\n')

    # Verifica se o domínio alvo está entre os domínios gerenciados por este usuário
    if echo "$USER_DOMAINS" | grep -q "$TARGET_DOMAIN"; then
        echo "Verificando o usuário: $USER"
        # Lista os nomes das contas de e-mail para o domínio alvo dentro de /home/USER/etc/DOMAIN/
        # Isso geralmente lista os subdiretórios que contêm o arquivo 'quota'.
        # 'grep -v ^default$' é usado para excluir a entrada "default", que não é uma conta de e-mail real.
        for EMAIL_ACCOUNT_NAME in $(ls -A /home/"$USER"/etc/"$TARGET_DOMAIN"/ 2>/dev/null | grep -v '^default$'); do
            QUOTA_FILE="/home/${USER}/etc/${TARGET_DOMAIN}/${EMAIL_ACCOUNT_NAME}/quota"
            EMAIL_FULL_ADDRESS="${EMAIL_ACCOUNT_NAME}@${TARGET_DOMAIN}"

            # Verifica se o arquivo de cota existe para esta conta de e-mail
            if [[ -f "$QUOTA_FILE" ]]; then
                # Lê a cota provisionada do arquivo (geralmente em MB)
                PROVISIONED_QUOTA_MB=$(cat "$QUOTA_FILE")

                # Compara a cota provisionada com a cota alvo
                # No cPanel, '0' geralmente indica cota ilimitada. Estamos buscando uma cota EXATA de 250MB.
                if [[ "$PROVISIONED_QUOTA_MB" -eq "$TARGET_QUOTA_MB" ]]; then
                    echo "  Encontrado: $EMAIL_FULL_ADDRESS (Cota Provisionada: ${PROVISIONED_QUOTA_MB}MB)"
                    # Adiciona "250MB - " na frente do e-mail ao salvar no arquivo
                    echo "${TARGET_QUOTA_MB}MB - $EMAIL_FULL_ADDRESS" >> "$OUTPUT_FILE"
                else
                    echo "  Ignorado: $EMAIL_FULL_ADDRESS (Cota Provisionada: ${PROVISIONED_QUOTA_MB}MB - Diferente de ${TARGET_QUOTA_MB}MB)"
                fi
            else
                # Se o arquivo de cota não existe, a conta pode ter cota padrão/ilimitada ou configurada de outra forma.
                # Como estamos buscando uma cota EXATA de 250MB, essas são ignoradas.
                echo "  Ignorado: $EMAIL_FULL_ADDRESS (Sem arquivo de cota explícito em ${QUOTA_FILE})"
            fi
        done
    fi
done

echo "---"
echo "Busca concluída para o domínio $TARGET_DOMAIN."
echo "E-mails extraídos (somente com cota provisionada EXATA de ${TARGET_QUOTA_MB}MB) foram salvos em: $OUTPUT_FILE"
