def add_account hash, default=false
raise ArgumentError, "no email specified for account" unless hash[:email]
unless default
[:name, :sendmail, :signature].each { |k| hash[k] ||= @default_account.send(k) }
end
hash[:alternates] ||= []
a = Account.new hash
@accounts[a] = true
if default
raise ArgumentError, "multiple default accounts" if @default_account
@default_account = a
end
([hash[:email]] + hash[:alternates]).each do |email|
next if @email_map.member? email
@email_map[email] = a
end
hash[:regexen].each do |re|
@regexen[Regexp.new(re)] = a
end if hash[:regexen]
end