def makeService(config):
 if config['esmtp']:
  rmType = relaymanager.SmartHostESMTPRelayingManager
  smtpFactory = config.service.getESMTPFactory
 else:
  rmType = relaymanager.SmartHostSMTPRelayingManager
  smtpFactory = config.service.getSMTPFactory
 if config['relay']:
  dir = config['relay']
  if (not os.path.isdir(dir)):
   os.mkdir(dir)
  config.service.setQueue(relaymanager.Queue(dir))
  default = relay.DomainQueuer(config.service)
  manager = rmType(config.service.queue)
  if config['esmtp']:
   manager.fArgs += (None, None)
  manager.fArgs += (config['hostname'],)
  helper = relaymanager.RelayStateHelper(manager, 1)
  helper.setServiceParent(config.service)
  config.service.domains.setDefaultDomain(default)
 if config['pop3']:
  f = config.service.getPOP3Factory()
  for endpoint in config['pop3']:
   svc = internet.StreamServerEndpointService(endpoint, f)
   svc.setServiceParent(config.service)
 if config['smtp']:
  f = smtpFactory()
  if config['hostname']:
   f.domain = config['hostname']
   f.fArgs = (f.domain,)
  if config['esmtp']:
   f.fArgs = ((None, None) + f.fArgs)
  for endpoint in config['smtp']:
   svc = internet.StreamServerEndpointService(endpoint, f)
   svc.setServiceParent(config.service)
 return config.service

def makeService ( config ) : if config [ 'esmtp' ] : rmType = relaymanager . SmartHostESMTPRelayingManager smtpFactory = config . service . getESMTPFactory else : rmType = relaymanager . SmartHostSMTPRelayingManager smtpFactory = config . service . getSMTPFactory if config [ 'relay' ] : dir = config [ 'relay' ] if ( not os . path . isdir ( dir ) ) : os . mkdir ( dir ) config . service . setQueue ( relaymanager . Queue ( dir ) ) default = relay . DomainQueuer ( config . service ) manager = rmType ( config . service . queue ) if config [ 'esmtp' ] : manager . fArgs += ( None , None ) manager . fArgs += ( config [ 'hostname' ] , ) helper = relaymanager . RelayStateHelper ( manager , 1 ) helper . setServiceParent ( config . service ) config . service . domains . setDefaultDomain ( default ) if config [ 'pop3' ] : f = config . service . getPOP3Factory ( ) for endpoint in config [ 'pop3' ] : svc = internet . StreamServerEndpointService ( endpoint , f ) svc . setServiceParent ( config . service ) if config [ 'smtp' ] : f = smtpFactory ( ) if config [ 'hostname' ] : f . domain = config [ 'hostname' ] f . fArgs = ( f . domain , ) if config [ 'esmtp' ] : f . fArgs = ( ( None , None ) + f . fArgs ) for endpoint in config [ 'smtp' ] : svc = internet . StreamServerEndpointService ( endpoint , f ) svc . setServiceParent ( config . service ) return config . service
return a service that will be attached to the application .