end
+ def domain_exists(domain)
+ # Does the given domain exist in Postfixadmin? We use a naive
+ # implementation here based on list_domains(). This isn't in our
+ # superclass because not all plugins have a concept of domains.
+ domains = list_domains()
+ return domains.include?(domain)
+ end
+
+
def list_users()
users = []
@db_user,
@db_pass)
- # If address = goto, then the alias basically says, "really
- # deliver to that address; it's not an alias."
sql_query = 'SELECT username FROM mailbox;'
connection.query(sql_query) do |result|
users = result.field_values('username')
return usernames
end
+
+ def list_aliases()
+ #
+ # Get a list of all aliases, useful for testing.
+ #
+ aliases = []
+
+ # Just assume PostgreSQL for now.
+ begin
+ connection = PGconn.connect(@db_host,
+ @db_port,
+ @db_opts,
+ @db_tty,
+ @db_name,
+ @db_user,
+ @db_pass)
+
+ sql_query = 'SELECT address,goto FROM alias;'
+ results = connection.query(sql_query)
+ results.each do |row|
+ aliases << row # row should be a hash
+ end
+ connection.close()
+ rescue PGError => e
+ # But pretend like we're database-agnostic in case we ever are.
+ raise DatabaseError.new(e)
+ end
+
+ return aliases
+ end
+
end