1 /************************************************************************ 2 * Copyright (c) 2000-2006 The Apache Software Foundation. * 3 * All rights reserved. * 4 * ------------------------------------------------------------------- * 5 * Licensed under the Apache License, Version 2.0 (the "License"); you * 6 * may not use this file except in compliance with the License. You * 7 * may obtain a copy of the License at: * 8 * * 9 * http://www.apache.org/licenses/LICENSE-2.0 * 10 * * 11 * Unless required by applicable law or agreed to in writing, software * 12 * distributed under the License is distributed on an "AS IS" BASIS, * 13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or * 14 * implied. See the License for the specific language governing * 15 * permissions and limitations under the License. * 16 ***********************************************************************/ 17 18 package org.apache.james.smtpserver; 19 20 import org.apache.james.services.MailServer; 21 import org.apache.james.services.UsersRepository; 22 23 /*** 24 * Provides a number of server-wide constant values to the 25 * SMTPHandlers 26 * 27 */ 28 public interface SMTPHandlerConfigurationData { 29 30 /*** 31 * Returns the service wide hello name 32 * 33 * @return the hello name 34 */ 35 String getHelloName(); 36 37 /*** 38 * Returns the service wide reset length in bytes. 39 * 40 * @return the reset length 41 */ 42 int getResetLength(); 43 44 /*** 45 * Returns the service wide maximum message size in bytes. 46 * 47 * @return the maximum message size 48 */ 49 long getMaxMessageSize(); 50 51 /*** 52 * Returns whether relaying is allowed for the IP address passed. 53 * 54 * @param remoteIP the remote IP address in String form 55 * @return whether relaying is allowed 56 */ 57 boolean isRelayingAllowed(String remoteIP); 58 59 /*** 60 * Returns whether SMTP AUTH is active for this server, and 61 * necessary for the IP address passed. 62 * 63 * @param remoteIP the remote IP address in String form 64 * @return whether SMTP authentication is on 65 */ 66 boolean isAuthRequired(String remoteIP); 67 68 /*** 69 * Returns whether SMTP auth is active for this server. 70 * 71 * @return whether SMTP authentication is on 72 */ 73 boolean isAuthRequired(); 74 75 /*** 76 * Returns whether the service validates the identity 77 * of its senders. 78 * 79 * @return whether SMTP authentication is on 80 */ 81 boolean isVerifyIdentity(); 82 83 /*** 84 * Returns whether the remote server needs to send a HELO/EHLO 85 * of its senders. 86 * 87 * @return whether SMTP authentication is on 88 */ 89 boolean useHeloEhloEnforcement(); 90 91 /*** 92 * Returns the MailServer interface for this service. 93 * 94 * @return the MailServer interface for this service 95 */ 96 MailServer getMailServer(); 97 98 /*** 99 * Returns the UsersRepository for this service. 100 * 101 * @return the local users repository 102 */ 103 UsersRepository getUsersRepository(); 104 105 }