#!/usr/bin/ruby require 'rubygems' require 'mysql' $db = Mysql.real_connect("localhost", "[USERNAME]", "[PASSWORD]", "[DATABASE]") def exec_query sql puts sql print "Execute this Query? [yN] " conf = gets().chop if conf == 'y' then $db.query sql end end def show_users res = $db.query("SELECT * FROM users") puts "vMail Users:" puts puts "eMail-Adress | Password(Crypted)" puts "-----------------------+-------------------------" while row = res.fetch_row do puts "#{row[0].ljust(23)}| #{row[1]}" end puts end def add_user () print "eMail Addy: " email = gets().chop print "Password: " password = gets().chop puts puts "Please Confirm new eMail:" puts "eMail Adress: #{email}" puts "Password: #{password}" print "Correct? [yN]" confirm = gets().chop if confirm == 'y' then exec_query "INSERT INTO users VALUES('#{email}', ENCRYPT('#{password}'), 10485760)" puts "Send Welcome Mail.." `mail -s "Welcome to sixserv.org Mail" #{email} < /dev/null` end end def change_password print "eMail Addy: " email = gets().chop print "New Password: " password = gets().chop exec_query "UPDATE users SET password = ENCRYPT('#{password}') WHERE email = '#{email}'" end def del_user() print "eMail Addy:" email = gets().chop puts print "You really want to delete #{email}? [yN]" cont = gets().chop if cont == 'y' then exec_query "DELETE FROM users WHERE email = '#{email}'" end end done = false while done == false do puts "mailmanage script" puts puts "1: Show vMail Users" puts "2: Add new vMail User" puts "3: Change Mail Password" puts "4: Delete Mail User" puts "Q: Quit" print "=> " sel = gets().chop if sel == '1' then show_users elsif sel == '2' then add_user elsif sel == '3' then change_password elsif sel == '4' then del_user elsif sel == 'Q' then done = true end end $db.close