{
# (($imap{'status'} || 'disabled') eq 'disabled') to remove if we use for pop3, to test
if ((($imap{'status'} || 'disabled') eq 'disabled') ||
    (($imap{'AllowPlainText'} || 'enabled') eq 'disabled')){
    $OUT .= "disable_plaintext_auth = yes\n";
}
else {
    $OUT .= "disable_plaintext_auth = no\n";
}
}

{
# TODO IPV6 ::
$LOCALIP = $LocalIP;
$EXTERNALIP = $ExternalIP || "";
$imapPort = $imap{'TCPPort'} || '110';
$imapsPort = $imaps{'TCPPort'} || '995';
$imapStatus = $imap{'status'} || 'disabled';
$imapsStatus = $imaps{'status'} || 'disabled';
$imapAccess = $imap{'access'} || 'localhost';
$imapsAccess = $imaps{'access'} || 'private';
$imapListenIP = $imap{'ListenIP'} || '';
$imapsListenIP = $imaps{'ListenIP'} || '';

if ($imapStatus eq 'disabled') {
        $imapAddress = '127.0.0.1';
        $imapPort='0';
} elsif ($imapAccess eq 'localhost') {
        $imapAddress = '127.0.0.1';
} elsif ($imapAccess eq 'private') {
        $imapAddress = "127.0.0.1 $LOCALIP";
} elsif ($imapAccess eq 'public') {
        $imapAddress = "127.0.0.1 $LOCALIP $EXTERNALIP";
}
$imapAddress .= " $imapListenIP";


if ($imapsStatus eq 'disabled') {
        $imapsAddress = '127.0.0.1';
        $imapsPort='0';
} elsif ($imapsAccess eq 'localhost') {
        $imapsAddress = '127.0.0.1';
} elsif ($imapsAccess eq 'private') {
        $imapsAddress = "127.0.0.1 $LOCALIP";
} elsif ($imapsAccess eq 'public') {
        $imapsAddress = "127.0.0.1 $LOCALIP $EXTERNALIP";
}
$imapsAddress .= " $imapsListenIP";

$OUT .= "service imap-login \{
  inet_listener imap \{
    port = $imapPort 
    address = $imapAddress
  \}
  inet_listener imaps \{
    port = $imapsPort
    ssl = yes
    address = $imapsAddress
  \} 
    
  service_count = 0
  process_min_avail = 2

\}";

}
