Eu rolei minha própria solução. Descobri que cada usuário do cPanel tem um arquivo YAML em ~username/.cpanel/email_accounts.yaml
que contém informações sobre todas as contas de e-mail na conta desse usuário do cPanel . Usando isso eu peguei um pequeno script em Ruby:
#!/usr/bin/ruby
require 'yaml'
puts "email,username,domain,usage,quota"
Dir.glob('/home/*/.cpanel/email_accounts.yaml') do |email_accounts_file|
email_accounts = YAML.load_file(email_accounts_file)
#puts email_accounts_file
#puts email_accounts.inspect
#puts "---------------------------"
email_accounts.each do |domain,info|
if info['accounts'] then
#puts "domain: #{domain}"
info['accounts'].each do |username,info|
puts "#{username}@#{domain},#{username},#{domain},#{info['diskused']},#{info['diskquota']}"
end
end
end
end
O script deve ser executado como root e percorre todos os diretórios em /home
procurando por .cpanel/email_accounts.yaml
files. (Se os diretórios iniciais de seus usuários não forem armazenados como /home/username
, edite a linha 7) O script imprime dados separados por CSV de todas as contas de email, a que nome de domínio eles pertencem e qual é o uso e a cota do disco, conforme relatado por o arquivo YAML.