//120IMAPServers
{
    use esmith::DomainsDB;
    my $db = esmith::DomainsDB->open_ro;
    my @domains = ($DomainName,
        map { $_->key }
            grep { my $p = $_->prop('SystemPrimaryDomain') || ''; $p ne 'yes' }
                $db->get_all());
    foreach my $domain (@domains)
    {
        $OUT .= "\$servers['$domain'] = array(\n";
        $OUT .= "    'disabled' => false,\n";
        $OUT .= "    'name' => 'IMAP Server',\n";
        $OUT .= "    'hostspec' => 'localhost',\n";
        $OUT .= "    'hordeauth' => true,\n";
        $OUT .= "    'protocol' => 'imap',\n";
        $OUT .= "    'port' => '143',\n";
        $OUT .= "    'secure' => 'notls',\n";
        $OUT .= "    'maildomain' => '$domain',\n";
        $OUT .= "    'smtphost' => 'localhost',\n";
        if ($sysconfig{'ReleaseVersion'} < 10)
        {

           $OUT .= "    'smtpport' => '$smtpd{TCPPort}',\n";
           } else {
           $OUT .= "    'smtpport' => '$qpsmtpd{TCPPort}',\n";
        }
        $OUT .= "    'cache' => false,\n";
        if (($dovecot{'SharedMailbox'} || 'disabled') eq 'enabled') 
        {
           $OUT .= "    'acl' => true, \n";
        }
        if (($horde{'quota'} || 'disabled') eq 'enabled') 
        {
           $OUT .= "    'quota' => array(\n";
           $OUT .= "        'driver' => 'imap',\n";
           $OUT .= "        'params' => array(\n";
           $OUT .= "            'hide_when_unlimited' => true,\n";
           $OUT .= "            'unit' => 'GB',\n";
           $OUT .= "            'interval' => 0,\n";
           $OUT .= "        )\n";
           $OUT .= "    ),\n";
        }
        if (($spamassassin{'UseBayes'} || '0') eq '1' and (($spamd{'SpamLearning'} || 'disabled') eq 'enabled'))
        {
           $OUT .= "    'spam' => array(\n";
           $OUT .= "        'innocent' => array(\n";
           $OUT .= "            'display' => true,\n";
           $OUT .= "              'program' => '/usr/bin/spamc -C revoke -u %l',\n";
           $OUT .= "        ),\n";
           $OUT .= "        'spam' => array(\n";
           $OUT .= "           'display' => false,\n";
           $OUT .= "              'program' => '/usr/bin/spamc -C report -u %l',\n";
           $OUT .= "        )\n";
           $OUT .= "    ),\n";
         }
        $OUT .= ");\n";
    }
}
