################################################################################
### configuration ##############################################################
################################################################################

# If IMAP access is not used, config options starting with $imap do not need to
# be set and are ignored.

$debug = 0;
$delete_reports = 0;

$dbname = $ENV{'REPORT_DB_NAME'};
$dbuser = $ENV{'REPORT_DB_USER'};
$dbpass = $ENV{'REPORT_DB_PASS'};
$dbhost = $ENV{'REPORT_DB_HOST'}; # Set the hostname if we can't connect to the local socket.
$dbport = $ENV{'REPORT_DB_PORT'} // 3306;
$dbtype = $ENV{'REPORT_DB_TYPE'} eq 'pgsql' ? 'Pg' : 'mysql';

if(exists $ENV{PARSER_IMAP_SERVER_WITH_PORT} && defined $ENV{PARSER_IMAP_SERVER_WITH_PORT}) {
  my @server_attr  = split ':', $ENV{PARSER_IMAP_SERVER_WITH_PORT};
  $imapserver     = $server_attr[0];
  $imapport       = $server_attr[1];
} else {
  $imapserver     = $ENV{'PARSER_IMAP_SERVER'};
  $imapport       = $ENV{'PARSER_IMAP_PORT'};
}

$imapuser         = $ENV{'PARSER_IMAP_USER'};
$imappass         = $ENV{'PARSER_IMAP_PASS'};
$imapssl          = $ENV{'PARSER_IMAP_SSL'} // '0';         # If set to 1, remember to change server port to 993 and disable imaptls.
$imaptls          = $ENV{'PARSER_IMAP_TLS'} // '1';         # Enabled as the default and best-practice.
$tlsverify        = $ENV{'PARSER_IMAP_VERIFY'} // '0';      # Enable verify server cert as the default and best-practice.
$imapignoreerror  = $ENV{'PARSER_IMAP_IGNORE_ERROR'} // '0';# set it to 1 if you see an "ERROR: message_string()
                                                            # expected 119613 bytes but received 81873 you may
                                                            # need the IgnoreSizeErrors option" because of malfunction
                                                            # imap server as MS Exchange 2007, ...
$imapreadfolder   = $ENV{'PARSER_IMAP_READ_FOLDER'};

# If $imapmovefolder is set, processed IMAP messages will be moved (overruled by
# the --delete option!)
$imapmovefolder = $ENV{'PARSER_IMAP_MOVE_FOLDER'};
$imapmovefoldererr = $ENV{'PARSER_IMAP_MOVE_FOLDER_ERR'};

# maximum size of XML files to store in database, long files can cause transaction aborts
$maxsize_xml = $ENV{'PARSER_XML_MAXSIZE'} // 50000;
# store XML as base64 encopded gzip in database (save space, harder usable)
$compress_xml = $ENV{'PARSER_XML_COMPRESS'} // 0;

# if there was an error during file processing (message does not contain XML or ZIP parts,
# or a database error) the parser reports an error and does not delete the file, even if
# delete_reports is set (or --delete is given). Deletion can be enforced by delete_failed,
# however not for database errors.
$delete_failed = $ENV{'PARSER_DELETE_FAILED'} // 0;
