WebMailVirtualDomain.java
上传用户:huihesys
上传日期:2007-01-04
资源大小:3877k
文件大小:3k
源码类别:

WEB邮件程序

开发平台:

C/C++

  1. /* CVS ID: $Id: WebMailVirtualDomain.java,v 1.2 2000/04/06 08:02:02 wastl Exp $ */
  2. package net.wastl.webmail.server;
  3. import java.util.*;
  4. /*
  5.  * WebMailVirtualDomain.java
  6.  *
  7.  * Created: Sat Jan 15 14:08:30 2000
  8.  *
  9.  * Copyright (C) 2000 Sebastian Schaffert
  10.  * 
  11.  * This program is free software; you can redistribute it and/or
  12.  * modify it under the terms of the GNU General Public License
  13.  * as published by the Free Software Foundation; either version 2
  14.  * of the License, or (at your option) any later version.
  15.  * 
  16.  * This program is distributed in the hope that it will be useful,
  17.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  18.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  19.  * GNU General Public License for more details.
  20.  * 
  21.  * You should have received a copy of the GNU General Public License
  22.  * along with this program; if not, write to the Free Software
  23.  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
  24.  */
  25. /**
  26.  * Represents a virtual domain in WebMail.
  27.  * A virtual domain in WebMail allows the following things
  28.  * - users can belong to a certain domain
  29.  * - each domain has it's own default host, authentication host, and default email suffix
  30.  * - each domain can have specific security features, i.e. IMAP/POP hosts users of that domain
  31.  *   are allowed to connect to.
  32.  *
  33.  * @author Sebastian Schaffert
  34.  * @version
  35.  */
  36. public interface WebMailVirtualDomain  {
  37.     /**
  38.      * Return the name of this domain. This will be appended to a new users email address
  39.      * and will be used in the login screen
  40.      */
  41.     public String getDomainName();
  42.     public void setDomainName(String name) throws Exception;
  43.     /**
  44.      * This returns the name of the default server that will be used.
  45.      * The default server is where a user gets his first folder (the one named "Default").
  46.      */
  47.     public String getDefaultServer();
  48.     public void setDefaultServer(String name);
  49.     /**
  50.      * If the authentication type for this domain is IMAP or POP, this host will be used
  51.      * to authenticate users.
  52.      */
  53.     public String getAuthenticationHost();
  54.     public void setAuthenticationHost(String name);
  55.     /**
  56.      * Check if a hostname a user tried to connect to is within the allowed range of
  57.      * hosts. Depending on implementation, this could simply check the name or do an
  58.      * DNS lookup to check for IP ranges.
  59.      * The default behaviour should be to only allow connections to the default host and
  60.      * reject all others. This behaviour should be configurable by the administrator, however.
  61.      */
  62.     public boolean isAllowedHost(String host);
  63.     /**
  64.      * Set the hosts a user may connect to if host restriction is enabled.
  65.      * Excpects a comma-separated list of hostnames.
  66.      * The default host will be added to this list in any case
  67.      */
  68.     public void setAllowedHosts(String hosts);
  69.     public Enumeration getAllowedHosts();
  70.     /**
  71.      * Enable/Disable restriction on the hosts that a user may connect to.
  72.      * If "disabled", a user may connect to any host on the internet
  73.      * If "enabled", a user may only connect to hosts in the configured list
  74.      * @see isAllowedHost
  75.      */
  76.     public void setHostsRestricted(boolean b);
  77.     public boolean getHostsRestricted();
  78. } // WebMailVirtualDomain