support new imap variables from parser

* keeps compat with existing env vars

	* fixes #8
This commit is contained in:
Robert Schumann
2020-09-06 13:55:09 +02:00
parent b7d0e22eb5
commit 38804c05f6
2 changed files with 15 additions and 4 deletions

View File

@@ -21,9 +21,9 @@ docker run -e ... -ti gutmensch/dmarc-report
New dmarc reports will be fetched every 15 minutes past the hour, every hour. Therefore it can take up to one hour for the first report to be fetched. New dmarc reports will be fetched every 15 minutes past the hour, every hour. Therefore it can take up to one hour for the first report to be fetched.
## Versions for last build latest ## Versions for last build latest
dmarcts report viewer: 2019-01-04 dmarcts report viewer: 2020-09-06
dmarcts report parser: 2019-01-04 dmarcts report parser: 2020-09-06
## Sample docker compose / Environment variables ## Sample docker compose / Environment variables
The variables should be self-explanatory. Make sure to create the IMAP folders before the cron job runs! The variables should be self-explanatory. Make sure to create the IMAP folders before the cron job runs!
@@ -46,11 +46,13 @@ services:
- "REPORT_DB_NAME=dmarc_report" - "REPORT_DB_NAME=dmarc_report"
- "REPORT_DB_USER=dmarc_report" - "REPORT_DB_USER=dmarc_report"
- "REPORT_DB_PASS=dbpassword" - "REPORT_DB_PASS=dbpassword"
- "PARSER_IMAP_SERVER_WITH_PORT=mail:143" - "PARSER_IMAP_SERVER=mail"
- "PARSER_IMAP_PORT=143"
- "PARSER_IMAP_USER=foobar@example.com" - "PARSER_IMAP_USER=foobar@example.com"
- "PARSER_IMAP_PASS=foobar" - "PARSER_IMAP_PASS=foobar"
- "PARSER_IMAP_READ_FOLDER=Inbox" - "PARSER_IMAP_READ_FOLDER=Inbox"
- "PARSER_IMAP_MOVE_FOLDER=processed" - "PARSER_IMAP_MOVE_FOLDER=processed"
- "PARSER_IMAP_MOVE_FOLDER_ERR=error"
db: db:
image: mariadb:10 image: mariadb:10

View File

@@ -13,7 +13,15 @@ $dbuser = $ENV{'REPORT_DB_USER'};
$dbpass = $ENV{'REPORT_DB_PASS'}; $dbpass = $ENV{'REPORT_DB_PASS'};
$dbhost = $ENV{'REPORT_DB_HOST'}; # Set the hostname if we can't connect to the local socket. $dbhost = $ENV{'REPORT_DB_HOST'}; # Set the hostname if we can't connect to the local socket.
$imapserver = $ENV{'PARSER_IMAP_SERVER_WITH_PORT'}; 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'}; $imapuser = $ENV{'PARSER_IMAP_USER'};
$imappass = $ENV{'PARSER_IMAP_PASS'}; $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. $imapssl = $ENV{'PARSER_IMAP_SSL'} // '0'; # If set to 1, remember to change server port to 993 and disable imaptls.
@@ -28,6 +36,7 @@ $imapreadfolder = $ENV{'PARSER_IMAP_READ_FOLDER'};
# If $imapmovefolder is set, processed IMAP messages will be moved (overruled by # If $imapmovefolder is set, processed IMAP messages will be moved (overruled by
# the --delete option!) # the --delete option!)
$imapmovefolder = $ENV{'PARSER_IMAP_MOVE_FOLDER'}; $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 # maximum size of XML files to store in database, long files can cause transaction aborts
$maxsize_xml = 50000; $maxsize_xml = 50000;