Files
ansible/roles/mkt-scripts/files/dovecot/dovecot-generate-passdb.rb

17 lines
735 B
Ruby
Executable File

#!/usr/bin/ruby
require 'csv'
csv = %x{echo "SELECT CONCAT_WS(':',mail_users.email,password_enc,uid, gid,homedir,maildir, (quota)) FROM mail_users JOIN panel_customers ON mail_users.customerid=panel_customers.customerid WHERE panel_customers.deactivated = 0" | mysql --skip-ssl -N -umaketank -pknatekam2007 -h 10.201.0.4 maketank_froxlor}.chomp
if $?.exitstatus == 0
users = File.open('/etc/dovecot/users','w')
CSV.parse (csv) { |row|
ra = row[0].split(':')
mdir = ra[5].split('/')
hdir = ra[4]+mdir[0]
users.write( ra[0]+":{CRYPT}"+ra[1]+":"+ra[2]+":"+ra[3]+"::"+ra[4]+"::userdb_mail_driver=mdbox userdb_mail_path="+ra[4]+ra[5]+" userdb_quota_storage_size="+ra[6]+"M\n")
}
users.close unless users.nil?
end