Existe uma maneira de listar todas as contas de email em um servidor cPanel? [fechadas]

1

Eu gerencio vários servidores cPanel / WebHostManager. Em um desses servidores, precisamos fazer uma auditoria de todas as contas de email de todas as contas do cPanel. Este servidor tem quase 300 contas cPanel, cada uma com entre 1 e 50 contas de e-mail dentro dela ...

Existe alguma maneira de obter uma lista de todas contas de e-mail em todas contas do cPanel em um servidor cPanel / WebHostManager?

    
por Josh 07.05.2012 / 16:05

2 respostas

3

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.

    
por 07.05.2012 / 23:54
2

Eu criei um programa para obter essas informações diretamente das APIs do cPanel.

O programa solicita uma lista de todas as contas no servidor, extrai os usuários da lista e emite uma nova solicitação por usuário para Email :: listpopssingle para obter todas as contas de email da conta do usuário.

    
por 02.06.2014 / 01:27