Listar todas as contas no Surgemail

Para saber quais as contas que tinha por domínio no surgemail, resolvi criar um script.

Com esta informação podem redirecionar o output para um ficheiro ou algo parecido.

Este script para mim serve para criar reports mensais, redirecionando o output.

Os únicos requisitos são a localização do ficheiro de configuração do surgemail (surgemail.ini). Na minha configuração está na localização por defeito, ou seja, em /etc/surgemail.ini

Caso o vosso surgemail.ini não esteja nesta localização podem alterar o script para a localização correcta.

Depois de tanto procurar como poderia fazer isso lá criei este script:

### Script ListAllMails.sh ###

#!/bin/bash
# descobre a directoria do nwauth
path2nwauth=$(echo /$(echo $(grep g_authent_process /etc/surgemail.ini) | cut -d"/" -f2- | tr -d '"'))
# captura os dominios existentes no surgemail
domains=$(grep vdomain /etc/surgemail.ini | cut -d '"' -f 4)
cd $path2nwauth
# Loop retira o emails
for dom in $domains
do
  users=$(./nwauth -path $path2nwauth -search @$dom | cut -d" " -f2 | grep $dom )
  for user in $users
  do
    echo -ne ${user}\\n
  done
done

Com este script têm uma lista simples de emails, podem modificar para criarem o outut que necessitarem.

Por exemplo, se quiserem os emails de um determinado domínio, podem usar o comando da seguinte forma.

ListAllMails.sh | grep [DOMINIO PRETENDIDO]

Aqui fica o script para vos ajudar.