require 'src/errors'
require 'src/filesystem'
require 'src/mailstore'
+require 'src/plugin'
class DovecotMailstore < Mailstore
+ include Plugin
+
def initialize
@domain_root = Configuration::MAIL_ROOT
end
def describe_domain(domain)
- return get_domain_path(domain)
+ begin
+ domain_path = get_domain_path(domain)
+ return domain_path
+ rescue NonexistentDomainError => e
+ return "Doesn't Exist"
+ end
end
def describe_account(account)
- return get_account_path(account)
+ begin
+ account_path = get_account_path(account)
+ return account_path
+ rescue NonexistentAccountError => e
+ return "Doesn't Exist"
+ end
end
def delete_domain(domain)
if File.directory?(domain_path)
return domain_path
else
- raise NonexistentDomainError.new(domain_path)
+ raise NonexistentDomainError
end
end
user_part = account_parts[0]
domain_part = account_parts[1]
- domain_path = get_domain_path(domain_part)
+ begin
+ domain_path = get_domain_path(domain_part)
+ rescue NonexistentDomainError
+ raise NonexistentAccountError
+ end
+
account_path = File.join(domain_path, user_part)
if File.directory?(account_path)
return account_path
else
- raise NonexistentAccountError.new(account_path)
+ raise NonexistentAccountError
end
end