This commit is contained in:
Mechiel Lukkien
2023-01-30 14:27:06 +01:00
commit cb229cb6cf
1256 changed files with 491723 additions and 0 deletions

64
testdata/dmarc-reports/google.eml vendored Normal file
View File

@ -0,0 +1,64 @@
Return-Path: <noreply-dmarc-support@google.com>
X-Original-To: postmaster@ueber.net
Delivered-To: postmaster@ueber.net
Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=2607:f8b0:4864:20::849; helo=mail-qt1-x849.google.com; envelope-from=noreply-dmarc-support@google.com; receiver=postmaster@ueber.net
Authentication-Results: koriander.ueber.net;
dkim=pass (2048-bit key; unprotected) header.d=google.com header.i=@google.com header.b=RNB1nVFh;
dkim-atps=neutral
Received: from mail-qt1-x849.google.com (mail-qt1-x849.google.com [IPv6:2607:f8b0:4864:20::849])
by koriander.ueber.net (Postfix) with ESMTPS id 177EBDEB0B
for <postmaster@ueber.net>; Wed, 13 Oct 2021 14:30:07 +0200 (CEST)
Received: by mail-qt1-x849.google.com with SMTP id 103-20020aed2170000000b002a79b815862so1364607qtc.11
for <postmaster@ueber.net>; Wed, 13 Oct 2021 05:30:06 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=google.com; s=20210112;
h=mime-version:date:message-id:subject:from:to:content-disposition
:content-transfer-encoding;
bh=Ndqn8qm0yyRYMUBh1AzXgzQAuZNsb/n2FuIxppjrPJw=;
b=RNB1nVFhEUzHK4jaOG8IsLbZYHrvBMOByWbe8Yk64YQUUTuobdyUpgyNgZYg41jOoy
IjfOnpLgvfnY5v9blZ/DCBUGO7eLqQQN3rQ4YNsu3nNZYEKenZ7hNdOoCC3AXdPnO2G+
7mmoZY5tihUlzsXXMCqeQMQ6z+zoNm202aaqu/CXIjC077NfBUdbpDL9+PpW+7iwv5BW
vf8AqYe5xLhXZ3htxAQBNRmKOXDVxT0f5SQHzrn+18wAChm76YUXy2uabVrI/DPzHBdi
AiAT7/bNJ6QtTqgyPcJKkWLeb5AvILUEiqha0d1GChiJibKDtFgL+RSvXRziRxX4JeWZ
h7mQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=x-gm-message-state:mime-version:date:message-id:subject:from:to
:content-disposition:content-transfer-encoding;
bh=Ndqn8qm0yyRYMUBh1AzXgzQAuZNsb/n2FuIxppjrPJw=;
b=cp7PlYOsJD70Eor5YFlZZuK9zhaGub3xuq14l+IO+m2B5QamZ+GluDchErM3k2hRtA
kKGG36+3ZFofWo6nObN14N5BuICxqMHOTwbriG6Z9imSPibIxP1gHXTrIQScGBqXjnxR
MoJ76wiJOWBPdGpVQPSbLjWhzwc1AY5aH+6d5rWdvr8PAwJ9fHA0nOB+Cts0SsrQdeOk
mBmWHaNnVTFdiKhGfiWJKjALbjfLTVp2MKhn0PDgRbRtQUXUTPu/6QxIwOXilddxff08
u6YcbnbS9vUPVD57QqyavYato9bAiQU3//iY61vtmItURPhiuBZZ16JTQp6zzee/voVG
2j8w==
X-Gm-Message-State: AOAM533yrBCJ7U4xXJzMzw1MdStYEr87Kaacr8u3+VjzSyfLjHnCrpIH
9D1SpVugrBqB5FtGUiVqwQ==
X-Google-Smtp-Source: ABdhPJyFKZ2XIrrlwPal5hKh8bEJ4LzXFpEHhzuZ6c7kIeB2DEUdE3AMuZ7qsAD/sZDdb/YcgQ1/bt2OhOJj4A==
MIME-Version: 1.0
X-Received: by 2002:a0c:ab17:: with SMTP id h23mr35287505qvb.25.1634128205982;
Wed, 13 Oct 2021 05:30:05 -0700 (PDT)
Date: Tue, 12 Oct 2021 16:59:59 -0700
Message-ID: <13488712042596170873@google.com>
Subject: Report domain: ueber.net Submitter: google.com Report-ID: 13488712042596170873
From: noreply-dmarc-support@google.com
To: postmaster@ueber.net
Content-Type: application/zip;
name="google.com!ueber.net!1633996800!1634083199.zip"
Content-Disposition: attachment;
filename="google.com!ueber.net!1633996800!1634083199.zip"
Content-Transfer-Encoding: base64
UEsDBAoAAAAIAMFWTVNcQTfoFwIAAAMHAAAuAAAAZ29vZ2xlLmNvbSF1ZWJlci5uZXQhMTYzMzk5
NjgwMCExNjM0MDgzMTk5LnhtbO1Vy5KbMBC871e4fDdvY6C02pzyBcmZksWAFYOkksQ+/j7DIjDx
JqlU5ZicLPfMtKZb7TJ5eh363TMYK5R83MdBtN+B5KoRsnvcf/3y+VDsd0/0gbQAzZnxK33Y7YgB
rYyrB3CsYY5NGKLKdLVkA9BOqa6HgKuBhCs498DARE+lQob+7dAMzPCDHfVE92k7Nvf5mVdnWM2V
dIy7WshW0Ytz2lZh6EeD22jIQibtC5gwyfL8WETI9XF+JvYyREPjNCuKU5xEWXIs8/gUFaeUhLf6
3I9aoTZMdl4NQmfohKRxnqZlmRcR3jYjSx1kM1WzqEjjssRd5EIW/si23rY1lWjVC/5W6/HcC3uB
dRGF9kg6whlMIMEh2YzMZdZcxUANCeeDB61u37Hpc4Y0NfANOI5rj9gbZBdMc0fjSdl0eN/0Z1uh
mVyZZUGjXlYLrBoNh1pomrAoqZLTKarSKqqSmFUZa9uqBRZXBTud8dK1d5nmapSOJiScDwvsV4Bn
1o/oY7MUJnOE1coKh4HGoElAczbIpm/yRjNrsWG1ybvQ+sLq1Ub23Z34cItYIhqQTrQCf07r2AVY
A6ZujRq2D7aFPc+HacJGd6kN2LF3N8K7ZX+fBZ/zicFL8l82aqHHB1eGXpURTOJWqHvBVvHbW8nG
lr/eYGMyhvNO8NS8xOpPEpblQVwG6TGIk+zXaUr/p+kfTxMJb/9n3wFQSwECCgAKAAAACADBVk1T
XEE36BcCAAADBwAALgAAAAAAAAAAAAAAAAAAAAAAZ29vZ2xlLmNvbSF1ZWJlci5uZXQhMTYzMzk5
NjgwMCExNjM0MDgzMTk5LnhtbFBLBQYAAAAAAQABAFwAAABjAgAAAAA=

52
testdata/dmarc-reports/mailru.eml vendored Normal file
View File

@ -0,0 +1,52 @@
Return-Path: <dmarc_support@corp.mail.ru>
X-Original-To: postmaster@ueber.net
Delivered-To: postmaster@ueber.net
Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=94.100.178.51; helo=relay7.m.smailru.net; envelope-from=dmarc_support@corp.mail.ru; receiver=postmaster@ueber.net
Authentication-Results: koriander.ueber.net;
dkim=pass (1024-bit key; unprotected) header.d=corp.mail.ru header.i=@corp.mail.ru header.b=BcnJkLoY;
dkim-atps=neutral
Received: from relay7.m.smailru.net (relay7.m.smailru.net [94.100.178.51])
by koriander.ueber.net (Postfix) with ESMTPS id 776AFDEB1A
for <postmaster@ueber.net>; Fri, 7 Jun 2019 02:33:54 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=corp.mail.ru; s=mail;
h=Date:Message-ID:To:From:Subject:MIME-Version:Content-Type; bh=MrPDZJiL98IfURE6QX7TU5bRFq5lPjXGFQRQR8lJgSE=;
b=BcnJkLoY+mIX2I2wVU3KPYsIxzWHU0PpI31r3WL+zgziFX9conii4ub1jQfBWkHa4dL6EnxWGxHocvHEei/HoENm6OJfdu2xggDiUKNJSgNu48N3xGOTzkYt9ChOHNYEzGqeNMtn8wYQq0jxjvmNjreBCde19OVL0qiKeefkOUU=;
Received: from [10.161.4.115] (port=33872 helo=60)
by relay7.m.smailru.net with esmtp (envelope-from <dmarc_support@corp.mail.ru>)
id 1hZ2pN-0008Kp-5K
for postmaster@ueber.net; Fri, 07 Jun 2019 03:33:53 +0300
Content-Type: multipart/mixed; boundary="===============0297484745123892753=="
MIME-Version: 1.0
Subject: Report Domain: ueber.net; Submitter: Mail.Ru;
Report-ID: 82403907998914102491559779200
From: dmarc_support@corp.mail.ru
To: postmaster@ueber.net
Message-ID: <dmarc-1559867633@corp.mail.ru>
Date: Fri, 07 Jun 2019 03:33:53 +0300
Auto-Submitted: auto-generated
Authentication-Results: relay7.m.smailru.net; auth=pass smtp.auth=dmarc_support@corp.mail.ru smtp.mailfrom=dmarc_support@corp.mail.ru; iprev=pass policy.iprev=10.161.4.115
--===============0297484745123892753==
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
VGhpcyBpcyBhbiBhZ2dyZWdhdGUgcmVwb3J0IGZyb20gTWFpbC5SdS4=
--===============0297484745123892753==
Content-Type: application/gzip
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="mail.ru!ueber.net!1559779200!1559865600.xml.gz"
H4sICPGw+VwC/21haWwucnUhdWViZXIubmV0ITE1NTk3NzkyMDAhMTU1OTg2NTYwMC54bWwAZVNL
kqQgEN3PKXpXqwa16+dENj0XmM1cgKAwLZlSIAC7em4/iYaWHbUxMx/5eS9B+Pga+pdPDNE4+74r
WbF7QatdY+z1fTem9vW8+xA/oEVsLkrfBAT0LiQ5YFKNSkqAC1dp1YDitzI9+zMCXxHAgTDRDCpo
GUefK39pFzzLOAuUO2cAfqWgpHY2KZ2ksa0TXUr+J+cd9ms6z/Y1I1T4XLFwM404V/virS5OdX2u
y31ZVPu6PBzq06muigL4IxFIBMqg7JXoXvBqrNgmzgigbSb4fDwcM5xj4NtS/rQX73qj/0k/XnoT
O8yjHPG3YsQLBmYxUYcZAdXczCAC8NkBFX07hdmCFwH/oqZ8LyA+InLB6yTKTCk79H0aGpAWnq27
U7Ebg0ZpvChPR1aWb6yqGAmjXusJaDdaagp8dhYh+Kn6kRRnISZ6F02iN7OS2WIwqWjpsgifBGUd
czwp4s89+UTQNGiTaQ09SAEdqgaDbIMbtkvbwsC/VagxdTJgHPsU56HL0m/D7d6xO63C03lk2g2P
9UftPIohdySCUwBzF2GdxXy5U7Cw/z6GLyvm61/yHwz0ru1XAwAA
--===============0297484745123892753==--

116
testdata/dmarc-reports/outlook.eml vendored Normal file
View File

@ -0,0 +1,116 @@
Return-Path: <dmarcreport@microsoft.com>
X-Original-To: postmaster@ueber.net
Delivered-To: postmaster@ueber.net
Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=40.107.92.67; helo=nam10-bn7-obe.outbound.protection.outlook.com; envelope-from=dmarcreport@microsoft.com; receiver=postmaster@ueber.net
Authentication-Results: koriander.ueber.net;
dkim=pass (2048-bit key; unprotected) header.d=notification.microsoft.com header.i=@notification.microsoft.com header.b=DYmARHjM;
dkim-atps=neutral
Received: from NAM10-BN7-obe.outbound.protection.outlook.com (mail-bn7nam10on2067.outbound.protection.outlook.com [40.107.92.67])
by koriander.ueber.net (Postfix) with ESMTPS id 46C24DEB0F
for <postmaster@ueber.net>; Sun, 17 Oct 2021 09:06:36 +0200 (CEST)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
b=kweehcgRqVbTx1Fby9ebSI0rW1klDvwh5BNl7H8RYyhPqlds43Oo3Ry6t9Cgx0QWHuFnTiVtbuAHBgz4DiN++JRVLCQ1m2R0QC6sWFT1qIxxCdEfQrO+6BiimbQXl6P27Ke3J/3kHE8AWWxRQBMAL5QZmq62EMadWK5MKBNTgaZRGvj/87xJJBnuGUfRDmeMjPdfYDOgaBdgPubQBRe5GkR1QTm80OcDTKqgTpHChH5aL5oM4VrlmvGxaSzDFZThQyf0pEvraLjfg1Yio7zl7uHhDfXJI2YWmN1fqBq7ITfRATGGOzu3m6E2hT6iMZ9d4q5Pk6d+DsO/Q0+7fJP/6g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector9901;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=gBhC0LXpYvOFvCbx6njlrSaUy7Od1G73vZ1CbAelGts=;
b=oMaybHe3nNVKWlwTSl4z6bvvDp9y3GcfMwYeeBcJurVr7oA92bBTh/oMzVtPnlSHKe/4pc+IJ1QKLqSVMDz7SvMgGh/N6wALMcCRyxw3JBm4gtODry0ILO19Zxr+OobGH3JHnueV26uCeVcxUv/oMpYvldBCuaNS1JM1daWDS3cRb/K6y57qhRlR94IM4KVorNfZUsP4o4Fhr6HIECVRTwBEt6QvYNe4AOTTMoQiAeOyF9Giv1qSGae3UY6kQc1kpLJjJf/KhWEF7R2DySZGh35Iecy6OrazNsDAQihdsZW1yW4ofJW8z+DoQQvZzbFQ65ia8mLrwrjsyhaYMn7T8Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none
action=none header.from=microsoft.com; dkim=none (message not signed);
arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=notification.microsoft.com; s=selector1;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
bh=gBhC0LXpYvOFvCbx6njlrSaUy7Od1G73vZ1CbAelGts=;
b=DYmARHjMY6uAf8BPJd8VZ0H4TY7Vk37NMl+lN9dfOeLuRODQTi7kCc/mm8cQ0GKsN1iS1c/SwAm5Y5Twon6sfji+MXcuPGFt7D4jcGbfgoBoZnljkkjYFUoF2Y3Ymjcz0xyGsRaha/Uh5YuN7ktveXnkDS+batdqJafxajnteuzR1u9yZQTj5kh/DYyvYykj9nNC4iJyTMLRJSk9RON6W0G6i4GwuiMMqhV7xtudDUrcrXk6YEqp2hm019QvV574DI3mVAmTEucelkFc5tnPznvA2gCDQyg6JzTcu8bSJffATKwhNv7PVfkpgWmPHfwyvvyg2hkGtt5IDpUW3aWf7g==
Authentication-Results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=microsoft.com;
Received: from BN9PR03CA0788.namprd03.prod.outlook.com (2603:10b6:408:13f::13)
by DM6PR18MB3601.namprd18.prod.outlook.com (2603:10b6:5:2aa::24) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4608.16; Sun, 17 Oct
2021 07:06:34 +0000
Received: from BN7NAM10FT015.eop-nam10.prod.protection.outlook.com
(2603:10b6:408:13f:cafe::dd) by BN9PR03CA0788.outlook.office365.com
(2603:10b6:408:13f::13) with Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4608.15 via Frontend
Transport; Sun, 17 Oct 2021 07:06:34 +0000
Received: from nam10.map.protection.outlook.com (104.47.118.94) by
BN7NAM10FT015.mail.protection.outlook.com (10.13.157.114) with Microsoft SMTP
Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.20.4608.15 via Frontend Transport; Sun, 17 Oct 2021 07:06:34 +0000
Message-ID: <8be4eb9d89044800947965b8a040291c@microsoft.com>
X-Sender: <dmarcreport@microsoft.com> XATTRDIRECT=Originating XATTRORGID=xorgid:96f9e21d-a1c4-44a3-99e4-37191ac61848
MIME-Version: 1.0
From: "DMARC Aggregate Report" <dmarcreport@microsoft.com>
To: <postmaster@ueber.net>
Subject: =?utf-8?B?W1ByZXZpZXddIFJlcG9ydCBEb21haW46IHVlYmVyLm5ldCBTdWJtaXR0ZXI6IHByb3RlY3Rpb24ub3V0bG9vay5jb20gUmVwb3J0LUlEOiA4YmU0ZWI5ZDg5MDQ0ODAwOTQ3OTY1YjhhMDQwMjkxYw==?=
Content-Type: multipart/mixed;
boundary="_mpm_a4bcd9a515b44b9d8eceb05d7333675fpiotk5m200exchangecorpm_"
Date: Sun, 17 Oct 2021 07:06:34 +0000
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: b8ca90d3-5bfc-4fc0-7e4d-08d9913ca790
X-MS-TrafficTypeDiagnostic: DM6PR18MB3601:
X-Microsoft-Antispam-PRVS:
<DM6PR18MB3601894CF492CED44DAB004DB6BB9@DM6PR18MB3601.namprd18.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:5236;
X-MS-Exchange-SenderADCheck: 2
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
jFCRjRBKS2s7ikf6JYgKMMK161o7+pt6VWRk5owvT56oTVe5Eyd6kXzvKb4sQ6Y1GJU5uZwU87zyloLXUrHi0FKxbwPAAHh1Y6e7Bl6vZopv3lgT+R0lb0J24qGih3W2lKicUx22XXgm9kGZy4s0E0AKNmzu5Tf3p2OfAPCRQS0r/ReXYxG8GBEGIFh8E4eVQqKElYgj0q0ECC7nogTfBlVpbHqv97p+dEJ9eR1q8Fre3+v1XXnt7P8d1/riEs1Y4qKbGWdj9fh6udU7bshYmufAWkkxg8v2zngNc77b42lgrIjSaqX5mbeVyIU6fAHflA28WQY98jv5t5r2k5w8iyUla26X/16cpGvXdAE3Y3KGX3T2SbKqQK9KYGuGLsgeXvFBpiy/mBPVGpWAuFLmYXClJanSWKHD/6WYOGtiPRWkU2oqLIGm30HOyGBOCC8Fqv6xyl3KtfnyjhU+M6o6i7Tj/IQxZtvHLuZhvP5FluzZNo4mqfScjLMQIIY2cGFePtdeSBRB0hWHDn97I3vVUzbEztLecw0OcFpRDV7wnjHKxTpunxhiSQW79gnnenbQmhuZjOOl/luUvHDj/NxFtQbjiignMsjZtcM/2zLuw7Q=
X-Forefront-Antispam-Report:
CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:nam10.map.protection.outlook.com;PTR:;CAT:NONE;SFS:(366004)(47540400005)(508600001)(86362001)(52230400001)(235185007)(36756003)(316002)(6512007)(121820200001)(8936002)(2616005)(956004)(10290500003)(6916009)(108616005)(36736006)(5660300002)(24736004)(166002)(26005)(2906002)(4001150100001)(6506007)(83380400001)(6486002)(68406010)(85236043)(8676002);DIR:OUT;SFP:1101;
X-OriginatorOrg: dmarcrep.onmicrosoft.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Oct 2021 07:06:34.4166
(UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: b8ca90d3-5bfc-4fc0-7e4d-08d9913ca790
X-MS-Exchange-CrossTenant-AuthSource: BN7NAM10FT015.eop-nam10.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-Id: 96f9e21d-a1c4-44a3-99e4-37191ac61848
X-MS-Exchange-CrossTenant-FromEntityHeader: Internet
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR18MB3601
This is a multi-part message in MIME format.
--_mpm_a4bcd9a515b44b9d8eceb05d7333675fpiotk5m200exchangecorpm_
Content-Type: multipart/related;
boundary="_rv_a4bcd9a515b44b9d8eceb05d7333675fpiotk5m200exchangecorpm_"
--_rv_a4bcd9a515b44b9d8eceb05d7333675fpiotk5m200exchangecorpm_
Content-Type: multipart/alternative;
boundary="_av_a4bcd9a515b44b9d8eceb05d7333675fpiotk5m200exchangecorpm_"
--_av_a4bcd9a515b44b9d8eceb05d7333675fpiotk5m200exchangecorpm_
--_av_a4bcd9a515b44b9d8eceb05d7333675fpiotk5m200exchangecorpm_
Content-Type: text/html; charset=us-ascii
Content-Transfer-Encoding: base64
PGRpdiBzdHlsZSA9ImZvbnQtZmFtaWx5OlNlZ29lIFVJOyBmb250LXNpemU6MTRweDsiPlRoaXMgaXMgYSBETUFSQyBhZ2dyZWdhdGUgcmVwb3J0IGZyb20gTWljcm9zb2Z0IENvcnBvcmF0aW9uLiBGb3IgRW1haWxzIHJlY2VpdmVkIGJldHdlZW4gMjAyMS0xMC0xNSAwMDowMDowMCBVVEMgdG8gMjAyMS0xMC0xNiAwMDowMDowMCBVVEMuPC8gZGl2PjxiciAvPjxiciAvPjxkaXYgc3R5bGUgPSJmb250LWZhbWlseTpTZWdvZSBVSTsgZm9udC1zaXplOjEycHg7IGNvbG9yOiM2NjY2NjY7Ij5QbGVhc2UgZG8gbm90IHJlc3BvbmQgdG8gdGhpcyBlLW1haWwuIFRoaXMgbWFpbGJveCBpcyBub3QgbW9uaXRvcmVkIGFuZCB5b3Ugd2lsbCBub3QgcmVjZWl2ZSBhIHJlc3BvbnNlLiBGb3IgYW55IGZlZWRiYWNrL3N1Z2dlc3Rpb25zLCBraW5kbHkgbWFpbCB0byBkbWFyY3JlcG9ydGZlZWRiYWNrQG1pY3Jvc29mdC5jb20uPGJyIC8+PGJyIC8+TWljcm9zb2Z0IHJlc3BlY3RzIHlvdXIgcHJpdmFjeS4gUmV2aWV3IG91ciBPbmxpbmUgU2VydmljZXMgPGEgaHJlZiA9Imh0dHBzOi8vcHJpdmFjeS5taWNyb3NvZnQuY29tL2VuLXVzL3ByaXZhY3lzdGF0ZW1lbnQiPlByaXZhY3kgU3RhdGVtZW50PC9hPi48YnIgLz5PbmUgTWljcm9zb2Z0IFdheSwgUmVkbW9uZCwgV0EsIFVTQSA5ODA1Mi48LyBkaXYgPg==
--_av_a4bcd9a515b44b9d8eceb05d7333675fpiotk5m200exchangecorpm_--
--_rv_a4bcd9a515b44b9d8eceb05d7333675fpiotk5m200exchangecorpm_--
--_mpm_a4bcd9a515b44b9d8eceb05d7333675fpiotk5m200exchangecorpm_
Content-Type: application/gzip
Content-Transfer-Encoding: base64
Content-ID: <a334d149-38c2-4532-afd0-52f2c7b916b7>
Content-Description: protection.outlook.com!ueber.net!1634256000!1634342400.xml.gz
Content-Disposition: attachment; filename="protection.outlook.com!ueber.net!1634256000!1634342400.xml.gz";
H4sIAAAAAAAEAI1UTY+bMBC9V+p/iHIvhoSkycrr7Q9o1UMvvSFjhsQNeJBtkvTfdwjmI0ml3QvYbx
4zb57H8LdrXS3OYJ1G87pMonj5Jj5/4iVAkUt1WlDYuJerK16XR++bF8Yul0t0WUdoD2wVxwn7/eP7
L3WEWi5Hsn6f/EUb56VRsKRyiwUPEkTM2bC84RYatD6rwctCenkDCaaEmZE1iJ+trxBPkcKasxENLK
qjK1HU0qo+z7daK4sOS99/0BMG9tVbmSk0XiqfaVPigg2xIEMXYpdDCvm+2O3jNN3F8T79ut9u8p2M
03i1TxRnEzd8TMIhs9IcBmGE5XDQRiTbdbrabOOY2u6RkQCmuIWJkHbhbh/ysYeEY8k7l3iDlVZ/s6
bNK+2OMMlB6tqIFnKwkQFP+XokxGVx0rWwnPWLAXVNeQO7d8AaYeEPKMrQDJCbMDeCjfIi6ZroFgEr
USSc0bPv4L9iyXaFdhRu8TL547C1CjLdiHQbJftovYmSVUpVR3ykKmyNFyvO+sWIh5pwllVLjhZjpD
NJuwad9t0gGjRAJs2QObHzqJHOEWOyK3hRhsjk2azXx7p0jGODXBdgvC413YX5TJyhwgYyjwLngz8P
PLNLi/X8uO8DI/8IsgD7xJ7Dg9BndVy2/phZcG3lZ4ofLXln9nrboKL5QStOaLU0VJwMHLAZry8WHA
6byeS7ynx+AB+VocgiUXd9U/3b5sPFZ3eEPRnT8cNY0wUIP1rxD8hZRMKKBQAA
--_mpm_a4bcd9a515b44b9d8eceb05d7333675fpiotk5m200exchangecorpm_--

70
testdata/dmarc-reports/xs4all.eml vendored Normal file
View File

@ -0,0 +1,70 @@
Return-Path: <noreply+postmaster=ueber.net@dmarc-reports.xs4all.net>
X-Original-To: postmaster@ueber.net
Delivered-To: postmaster@ueber.net
Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=194.109.24.21; helo=lb1-smtp-cloud8.xs4all.net; envelope-from=noreply+postmaster=ueber.net@dmarc-reports.xs4all.net; receiver=postmaster@ueber.net
Authentication-Results: koriander.ueber.net;
dkim=pass (2048-bit key; secure) header.d=dmarc-reports.xs4all.net header.i=@dmarc-reports.xs4all.net header.b=h2T0IB2w;
dkim-atps=neutral
Received: from lb1-smtp-cloud8.xs4all.net (lb1-smtp-cloud8.xs4all.net [194.109.24.21])
by koriander.ueber.net (Postfix) with ESMTPS id 66607DEB76
for <postmaster@ueber.net>; Tue, 27 Jul 2021 02:49:47 +0200 (CEST)
Received: from nsacron3.xs4all.net ([194.109.23.165])
by smtp-cloud8.xs4all.net with ESMTP
id 8BI1m1cKbXTlc8BI1mNgHo; Tue, 27 Jul 2021 02:49:45 +0200
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=dmarc-reports.xs4all.net; s=s1; t=1627346985;
bh=AZBHYUTZOecz9axaEcCHh+B9Si1tcVYedtc//9KuCO4=;
h=From:To:Subject:Message-ID:MIME-Version:Content-Type:Date:From:
Subject;
b=h2T0IB2wrRlxKq9AuQ6FMMpUKp8RvtzGlhzPYArN85s52LHtXT0NEAHIY+yqT1v0o
nsjFIQG2p6LfyeMYjV2nPte5/tm62rvFa1nfSQB9NdZfaS3qQ1D150lno2gkjked4D
+pI3UD/3mRuZCrMOM9mCvmnHqyL5m4UXjkSe4i6mSaZZI32XfDA3+OaqBC0NrfopRr
Eo+dBU49uhiafVF2ggZjfyuhU7KYQp+jvbAJxyn8w3LXwoK7C0AkrnlCFvGotWlrDc
8T/w/qOfems0wul0jgIW3XtwNf9VSrphVGZGmywHR3zlL+ixfxyPQXWvgOcbs84KKG
taLlTNtszInAg==
Received: by nsacron3.xs4all.net (Postfix, from userid 0)
id 9FEA95869; Tue, 27 Jul 2021 02:49:45 +0200 (CEST)
From: noreply@dmarc-reports.xs4all.net
To: postmaster@ueber.net
Subject: Report Domain: ueber.net
Submitter: xs4all.nl
Report-ID: <xs4all.nl.1627349682.9725429@dmarc-reports.xs4all.net>
Message-ID: <xs4all.nl.1627349682.9725429@dmarc-reports.xs4all.net>
MIME-Version: 1.0
Content-Type: multipart/mixed;
boundary="xs4all.nl-1627349683-9725429"
Content-Transfer-Encoding: binary
X-Auto-Response-Suppress: OOF
Precedence: bulk
Date: Tue, 27 Jul 2021 02:49:45 +0200 (CEST)
X-CMAE-Envelope: MS4xfMiAcZo7QL98IFLYtwhtR/AR1Vv+/e692sq/8sI6BHh85YN/XGYMNfsrnkF360hpvXsEsV6huvYpvZqSnT0u9tdn3Lw5M2txNdoRZ/vgD3lFvftT9p9S
cgupm6nZPfFN6EH62IUPbwfPw1FXKU4rz7i2V1mSPFIvo3+662WrPzRiikY12ZDQEehFa7XYCNZzXyH5DuSu5l+ruL55xHhWb/v0Wm1BJyl0vol09HQRJ/31
wBnGhJF0ITbk7SJJst8UiA==
--xs4all.nl-1627349683-9725429
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
Content-Type: text/plain; charset="UTF-8"
This is a DMARC (rfc7489) aggregate report for your domain.
For more information, see https://dmarc.org/
--xs4all.nl-1627349683-9725429
Content-Type: application/gzip;
name="xs4all.nl!ueber.net!1627257600!1627343999!9725429.xml.gz"
Content-Disposition: attachment;
filename="xs4all.nl!ueber.net!1627257600!1627343999!9725429.xml.gz"
Content-Transfer-Encoding: base64
H4sIAClY/2AA/42UTXLjIBCF9zmFy/tIkfwXTRGSVU4ws1Zh1LIZI1AB8ji3nyaApNgpV1aG102/
7g8s8nrp5OIMxgqtXpZF9rRcgOK6Eerwsvzz+/3xebl4pQ+kBWj2jJ/ow2JBYj7FdJKnjQ8Y6LVx
dQeONcwxr6GqzaFWrAN6sWsmZaYkyUctpEDHhKRKYwH58dZ0zPDHUMxm6RQ4koe8eObiDKu5Vo5x
VwvVauqjTv9iTSfUvSq3J0PJ2L9oplazYlvuVutq+1xm1a7crMvqTuWpQCiIFKA2TB3ioCjt4SAQ
HVYtN7vtExIMSoqDamjwXFVVhc2qVCz/Wm10m+MmvZaCf9T9sJfCHmFsRCMbRQfYgwmtRiWEWXMS
HTUkD4so2r791PxvkHpq4C9wPN5HxU6STVrPHS38ZH4RJERckDyARv2bJhE+1yb1a/S/kYjVg+FQ
i56ut1lRZatNVpRr9Bv1lMn1oJw3CoskRzs4MzkgwiYFPBdhe22F8y9YaQXIZabM8jyWnlmLCSOh
CKCNgRHTbMQrT7yzNBgRDSgnWoH/n9nln0HqHurW6G5+W18DKf0IrAFzkzyXo+2NGWGDO9YG7CDd
5H812/1XE8YHiZevDT1pI5hCXwSRtCktGEVQcTOymruSGcUfdsCRC+38tGj9ufmh7/Su82saPjk8
R3y147fvPz/sTtUvBQAA
--xs4all.nl-1627349683-9725429--

49
testdata/dmarc-reports/yahoo.eml vendored Normal file
View File

@ -0,0 +1,49 @@
Return-Path: <noreply@dmarc.yahoo.com>
X-Original-To: postmaster@ueber.net
Delivered-To: postmaster@ueber.net
Received-SPF: None (no SPF record) identity=mailfrom; client-ip=66.163.187.193; helo=sonic332-12.consmr.mail.ne1.yahoo.com; envelope-from=noreply@dmarc.yahoo.com; receiver=postmaster@ueber.net
Authentication-Results: koriander.ueber.net;
dkim=pass (2048-bit key; unprotected) header.d=yahoo.com header.i=@yahoo.com header.b=Nxc1Fcfb;
dkim-atps=neutral
Received: from sonic332-12.consmr.mail.ne1.yahoo.com (sonic332-12.consmr.mail.ne1.yahoo.com [66.163.187.193])
by koriander.ueber.net (Postfix) with ESMTP id 6DD60DEB22
for <postmaster@ueber.net>; Tue, 4 Jun 2019 09:21:22 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1559632880; bh=8HhQoiZcSB3sM2GICQqvsrqY1AEZaR+0yDu3XRsL6e8=; h=Date:From:To:Subject:From:Subject; b=Nxc1FcfbwWSpGsiHRGIsO49RynyYxB8SkXdwstMn1P1IFfieZoghJbEz+FHILXKTHMrOa7xfpwtSvKUzTuYhntPOKdHFiso32IQg1Y1P0bSEq4HI88YOLO2EWplojx+B/Pvu8LUa6MoMeuSEQEqN8VoGrTFsOsjDNisYRdC9wmAmm6EcLAJsZtlMkx2i6pM0bdT+esEgX1GN5XGBR+JLiDBUZuYZ3MEsF31TWtBgt+PblMBZAgt6dUFNLYkKfJCICUHFZdxAEk131bB3/AVKUUVEYbWYgZ7vJ9rfQdAzsbHpqW5dwQ4n7aqMHWnXn3L6T+hF2bRj/Ykb0JmcHMt/XA==
Received: from sonic.gate.mail.ne1.yahoo.com by sonic332.consmr.mail.ne1.yahoo.com with HTTP; Tue, 4 Jun 2019 07:21:20 +0000
MIME-Version: 1.0
Content-Transfer-Encoding: binary
Content-Type: multipart/mixed; boundary="_----------=_1559632880408154728"
X-Mailer: MIME::Lite 3.028 (F2.82; A2.11; B3.13; Q3.13)
Date: Tue, 4 Jun 2019 00:21:20 -0700
From: noreply@dmarc.yahoo.com
To: postmaster@ueber.net
Subject: Report Domain: ueber.net Submitter: yahoo.com Report-ID: <1559613526.307161>
Message-Id: <1559632880.96079@dmarc.yahoo.com>
This is a multi-part message in MIME format.
--_----------=_1559632880408154728
Content-Disposition: inline
Content-Length: 37
Content-Transfer-Encoding: binary
Content-Type: text/plain
This is an aggregate report from Oath
--_----------=_1559632880408154728
Content-Disposition: attachment; filename="yahoo.com!ueber.net!1559520000!1559606399.xml.gz"
Content-Transfer-Encoding: base64
Content-Type: application/gzip; name="yahoo.com!ueber.net!1559520000!1559606399.xml.gz"
H4sIAO8b9lwAA61TS1LrMBBcP05hOIAUJ9ivUiUEW47AyqXIk0RgfUqS+dye
cazIIlDFBm8s9/T0TI/G7P5dD9Ur+KCsubupyermnv+7YnuAfifkC56rinlw
1sdOQxS9iOIEImz9oTNCA38SR2uvq0cjCaMZTSzQQg3c2RC1CBH8Q6+Fl+Rj
yiHSakZnRqKnWqrnddNs23rTrFuyWf2v25rRJZjY2A50XpjDuRxiOzgoc8pu
1it8GJ2RTACTxFftZrutsAGTBemFYq75xTxzdlDyo3PjblDhCEs/Fr0YPsIO
PDEQUW9GUlz0L0pzz+h8OKPB7U/g9E6Y4x6eQaKCy5CMvJ78TIe5uR/7wBlK
63NP3r4t3oMdvYROOX7bknpLNg2p17eMLnimSjsaLMjofMh4qgmvYhhxWH2O
TP5VwJtWEbeJG2sA/RdISZzsOxECMpZJzC3iEObIMo7C62VdvKFskKkeTFR7
hQu9ZB5B9OC7vbe6vJkSPkt9z2dijMfOQxiHWGheNv3LxafVnkSSt/Sx2Pui
yErrfyJfrBb9Zmnip5VhtPj3PwHaJxO1HwQAAA==
--_----------=_1559632880408154728--

26
testdata/dsn/domains.conf vendored Normal file
View File

@ -0,0 +1,26 @@
Domains:
mox.example:
DKIM:
Selectors:
testsel:
PrivateKeyFile: testsel.rsakey.pkcs8.pem
Hash: sha256
Headers:
- From
- To
- Cc
- Bcc
- Reply-To
- References
- In-Reply-To
- Subject
- Date
- Message-ID
- Content-Type
Sign:
- testsel
Accounts:
mjl:
Domain: mox.example
Destinations:
mjl: nil

8
testdata/dsn/mox.conf vendored Normal file
View File

@ -0,0 +1,8 @@
DataDir: data
LogLevel: trace
Hostname: mox.example
Postmaster:
Account: mjl
Mailbox: postmaster
Listeners:
local: nil

30
testdata/dsn/testsel.rsakey.pkcs8.pem vendored Normal file
View File

@ -0,0 +1,30 @@
-----BEGIN PRIVATE KEY-----
Note: RSA private key for use with DKIM, generated by mox
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDdkh3fKzvRUWym
n9UwVrEw6s2Mc0+DTg04TWJKGKHXpvcTHuEcE6ALVS9MZKasyVsIHU7FNeS9/qNb
pLihhGdlhU3KAfrMpTBhiFpJoYiDXED98Of4iBxNHIuheLMxSBSClMbLGE2vAgha
/6LuONuzdMqk/c1TijBD+vGjCZI2qD58cgXWWKRK9e+WNhKNoVdedZ9iJtbtN0MI
UWk3iwHmjXf5qzS7i8vDoy86Ln0HW0vKl7UtwemLVv09/E23OdNN163eQvSlrEhx
a0odPQsM9SizxhiaI9rmcZtSqULt37hhPaNA+/AbELCzWijZPDqePVRqKGd5gYDK
8STLj0UHAgMBAAECggEBAKVkJJgplYUx2oCmXmSu0aVKIBTvHjNNV+DnIq9co7Ju
F5BWRILIw3ayJ5RGrYPc6e6ssdfT2uNX6GjIFGm8g9HsJ5zazXNk+zBSr9K2mUg0
3O6xnPaP41BMNo5ZoqjuvSCcHagMhDBWvBXxLJXWK2lRjNKMAXCSfmTANQ8WXeYd
XG2nYTPtBu6UgY8W6sKAx1xetxBrzk8q6JTxb5eVG22BSiUniWYif+XVmAj1u6TH
0m6X0Kb6zsMYYgKPC2hmDsxD3uZ7qBNxxJzzLjpK6eP9aeFKzNyfnaoO4s+9K6Di
31oxTBpqLI4dcrvg4xWl+YkEknXXaomMqM8hyDzfcAECgYEA9/zmjRpoTAoY3fu9
mn16wxReFXZZZhqV0+c+gyYtao2Kf2pUNAdhD62HQv7KtAPPHKvLfL8PH0u7bzK0
vVNzBUukwxGI7gsoTMdc3L5x4v9Yb6jUx7RrDZn93sDod/1f/sb56ARCFQoqbUck
dSjnVUyF/l5oeh6CgKhvtghJ/AcCgYEA5Lq4kL82qWjIuNUT/C3lzjPfQVU+WvQ9
wa+x4B4mxm5r4na3AU1T8H+peh4YstAJUgscGfYnLzxuMGuP1ReIuWYy29eDptKl
WTzVZDcZrAPciP1FOL6jm03PT2UAEuoPRr4OHLg8DxoOqG8pxqk1izDSHG2Tof6l
0ToafeIALwECgYEA8wvLTgnOpI/U1WNP7aUDd0Rz/WbzsW1m4Lsn+lOleWPllIE6
q4974mi5Q8ECG7IL/9aj5cw/XvXTauVwXIn4Ff2QKpr58AvBYJaX/cUtS0PlgfIf
MOczcK43MWUxscADoGmVLn9V4NcIw/dQ1P7U0zXfsXEHxoA2eTAb5HV1RWsCgYBd
TcXoVfgIV1Q6AcGrR1XNLd/OmOVc2PEwR2l6ERKkM3sS4HZ6s36gRpNt20Ub/D0x
GJMYDA+j9zTDz7zWokkFyCjLATkVHiyRIH2z6b4xK0oVH6vTIAFBYxZEPuEu1gfx
RaogEQ9+4ZRFJUOXZIMRCpNLQW/Nz0D4/oi7/SsyAQKBgHEA27Js8ivt+EFCBjwB
UbkW+LonDAXuUbw91lh5jICCigqUg73HNmV5xpoYI9JNPc6fy6wLyInVUC2w9tpO
eH2Rl8n79vQMLbzsFClGEC/Q1kAbK5bwUjlfvKBZjvE0RknWX9e1ZY04DSsunSrM
prS2eHVZ24hecd7j9XfAbHLC
-----END PRIVATE KEY-----

15
testdata/imap/domains.conf vendored Normal file
View File

@ -0,0 +1,15 @@
Domains:
mox.example:
LocalpartCaseSensitive: false
Accounts:
mjl:
Domain: mox.example
Destinations:
mjl: nil
JunkFilter:
Threshold: 0.95
Params:
Twograms: true
MaxPower: 0.1
TopWords: 10
IgnoreWords: 0.1

14
testdata/imap/mox.conf vendored Normal file
View File

@ -0,0 +1,14 @@
DataDir: data
LogLevel: trace
Hostname: mox.example
Listeners:
local:
IPs:
- 0.0.0.0
IMAP:
Enabled: true
Port: 1143
NoRequireSTARTTLS: true
Postmaster:
Account: mjl
Mailbox: postmaster

15
testdata/imaptest/domains.conf vendored Normal file
View File

@ -0,0 +1,15 @@
Domains:
mox.example:
LocalpartCaseSensitive: false
Accounts:
mjl:
Domain: mox.example
Destinations:
mjl: nil
JunkFilter:
Threshold: 0.95
Params:
Twograms: true
MaxPower: 0.1
TopWords: 10
IgnoreWords: 0.1

1778
testdata/imaptest/imaptest.mbox vendored Normal file

File diff suppressed because it is too large Load Diff

14
testdata/imaptest/mox.conf vendored Normal file
View File

@ -0,0 +1,14 @@
DataDir: data
LogLevel: trace
Hostname: mox.example
Listeners:
local:
IPs:
- 0.0.0.0
IMAP:
Enabled: true
Port: 1143
NoRequireSTARTTLS: true
Postmaster:
Account: mjl
Mailbox: postmaster

View File

@ -0,0 +1,13 @@
Return-Path: <>
From: mjl@mox.test
To: mjl@mox.test
Subject: hi
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
Date: Wed, 10 Nov 2021 23:47:13 +0100
Message-ID: <12312312-f95c-09ec-97c6-94d124f0932d@mox.test>
MIME-Version: 1.0
test
test2
end

View File

@ -0,0 +1,37 @@
Return-Path: <mjl+thunderbird@c.mox>
Received: from x1.mox.example ([10.1.1.1]) by x1.a.mox ([10.1.1.1])
with ESMTP for mjl@a.mox; 23 Jan 2022 21:02 +0100
Authentication-Results: x1.a.mox; iprev=fail policy.iprev=10.1.1.1;
dkim=pass header.d=c.mox header.s=2021 header.a=rsa-sha256
header.i=mjl+thunderbird@c.mox; spf=none smtp.mailfrom=c.mox; dmarc=pass
header.from=c.mox
Received-SPF: none client-ip=10.1.1.1;
envelope-from="mjl+thunderbird@c.mox"; helo=x1.mox.example;
problem="no\ spf\ txt\ record:\ no\ txt\ record"; received=x1.a.mox;
identity=mailfrom
Received: from x1.mox.example by x1.mox.example ([10.1.1.1]) with
ESMTP for mjl@a.mox; 23 Jan 2022 20:39 +0100
Authentication-Results: x1.mox.example; auth=pass
smtp.mailfrom=mjl+thunderbird@c.mox
DKIM-Signature: v=1; a=rsa-sha256; d=c.mox; s=2021; i=mjl+thunderbird@c.mox;
t=1642966793; h=From:To:Cc:Bcc:Reply-To:References:In-Reply-To:Subject:Date:
Message-ID:Content-Type:From:To:Subject:Date:Message-ID:Content-Type;
bh=jhmPv2Vh8l0Ezw0V1P64SjmGjgfM2tek6qiEL0zehQc=; b=h4NspINb2TA+VkSr+Try4Rz24W
hor/vjkfX4EyDg6nb0mB4RUlgQiwPrqnjJLLkp9DnUhSuJEwGjMUdRG5160K04c4/KDkzCctj6Bot
IrOCOJ3yyC4z5wUAdivn4OOZmjq9d5eBEBvbiXFGVesZODzAGLZGAiGuSey+8ap18i1FaiRZeMB7e
X5tjAMMlxIGU/1eN6xAchpi8/Pww7VBU13rhq3ge4cFo1rhftF8wHBNSehlBqvA6/WYEAMD/4DD7S
owenI72sQapxo3Yc2EdZ2f/ZYJgKgR5i6WmE6E/sTVZzDJ2eOYIUHwF1bYBeLNM7ITfAAoPotn0KB
hZpchIQw==
Message-ID: <405af0b6-71ce-a2bd-ec57-7e320bd0e6e0@c.mox>
Date: Sun, 23 Jan 2022 20:39:53 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
Thunderbird/91.4.0
Content-Language: nl
To: mjl@a.mox
From: thunderbird c <mjl+thunderbird@c.mox>
Subject: test van c
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
test van c

60
testdata/importtest.mbox vendored Normal file
View File

@ -0,0 +1,60 @@
From mox Sun Jan 23 20:41:55 2022
Return-Path: <>
From: mjl@mox.test
To: mjl@mox.test
Subject: hi
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
Date: Wed, 10 Nov 2021 23:47:13 +0100
Message-ID: <12312312-f95c-09ec-97c6-94d124f0932d@mox.test>
MIME-Version: 1.0
Status: RO
Content-Length: 15
Lines: 3
test
test2
end
From mox Sun Jan 23 21:02:16 2022
Return-Path: <mjl+thunderbird@c.mox>
Received: from x1.mox.example ([10.1.1.1]) by x1.a.mox ([10.1.1.1])
with ESMTP for mjl@a.mox; 23 Jan 2022 21:02 +0100
Authentication-Results: x1.a.mox; iprev=fail policy.iprev=10.1.1.1;
dkim=pass header.d=c.mox header.s=2021 header.a=rsa-sha256
header.i=mjl+thunderbird@c.mox; spf=none smtp.mailfrom=c.mox; dmarc=pass
header.from=c.mox
Received-SPF: none client-ip=10.1.1.1;
envelope-from="mjl+thunderbird@c.mox"; helo=x1.mox.example;
problem="no\ spf\ txt\ record:\ no\ txt\ record"; received=x1.a.mox;
identity=mailfrom
Received: from x1.mox.example by x1.mox.example ([10.1.1.1]) with
ESMTP for mjl@a.mox; 23 Jan 2022 20:39 +0100
Authentication-Results: x1.mox.example; auth=pass
smtp.mailfrom=mjl+thunderbird@c.mox
DKIM-Signature: v=1; a=rsa-sha256; d=c.mox; s=2021; i=mjl+thunderbird@c.mox;
t=1642966793; h=From:To:Cc:Bcc:Reply-To:References:In-Reply-To:Subject:Date:
Message-ID:Content-Type:From:To:Subject:Date:Message-ID:Content-Type;
bh=jhmPv2Vh8l0Ezw0V1P64SjmGjgfM2tek6qiEL0zehQc=; b=h4NspINb2TA+VkSr+Try4Rz24W
hor/vjkfX4EyDg6nb0mB4RUlgQiwPrqnjJLLkp9DnUhSuJEwGjMUdRG5160K04c4/KDkzCctj6Bot
IrOCOJ3yyC4z5wUAdivn4OOZmjq9d5eBEBvbiXFGVesZODzAGLZGAiGuSey+8ap18i1FaiRZeMB7e
X5tjAMMlxIGU/1eN6xAchpi8/Pww7VBU13rhq3ge4cFo1rhftF8wHBNSehlBqvA6/WYEAMD/4DD7S
owenI72sQapxo3Yc2EdZ2f/ZYJgKgR5i6WmE6E/sTVZzDJ2eOYIUHwF1bYBeLNM7ITfAAoPotn0KB
hZpchIQw==
Message-ID: <405af0b6-71ce-a2bd-ec57-7e320bd0e6e0@c.mox>
Date: Sun, 23 Jan 2022 20:39:53 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
Thunderbird/91.4.0
Content-Language: nl
To: mjl@a.mox
From: thunderbird c <mjl+thunderbird@c.mox>
Subject: test van c
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Status: RO
Content-Length: 11
Lines: 1
test van c

2
testdata/integration/Dockerfile.dns vendored Normal file
View File

@ -0,0 +1,2 @@
FROM alpine:3.17
RUN apk add unbound bind-tools mailx

View File

@ -0,0 +1,4 @@
FROM golang:1-alpine AS build
WORKDIR /mox
RUN apk add make bind-tools bash
env GOPROXY=off

View File

@ -0,0 +1,2 @@
FROM alpine:3.17
RUN apk add postfix bind-tools mailx

View File

@ -0,0 +1,5 @@
-----BEGIN PRIVATE KEY-----
Note: ed25519 private key for use with DKIM, generated by mox
MC4CAQAwBQYDK2VwBCIEIAVskzmutHg8DvS8jaxYMHuoV1z9tNZmSC8+iI84WlTm
-----END PRIVATE KEY-----

View File

@ -0,0 +1,5 @@
-----BEGIN PRIVATE KEY-----
Note: ed25519 private key for use with DKIM, generated by mox
MC4CAQAwBQYDK2VwBCIEINAds0VrnXkd/cUnAT4eQDKQoViHC1q6dBPEqG8SJxnz
-----END PRIVATE KEY-----

View File

@ -0,0 +1,5 @@
-----BEGIN PRIVATE KEY-----
Note: ed25519 private key for use with DKIM, generated by mox
MC4CAQAwBQYDK2VwBCIEIPXYWvzg39zC8pkPzYZbTKCAk4TjIICZzaklMrOyADW+
-----END PRIVATE KEY-----

View File

@ -0,0 +1,5 @@
-----BEGIN PRIVATE KEY-----
Note: ed25519 private key for use with DKIM, generated by mox
MC4CAQAwBQYDK2VwBCIEIOjHYD/iIvN8F46H6kk/km7g4FNfS0ZwV3dRDGrtMLb8
-----END PRIVATE KEY-----

9
testdata/integration/dkim/readme.txt vendored Normal file
View File

@ -0,0 +1,9 @@
These files are generated with:
mox dkim gened25519 >$file
And the corresponding DNS entry is:
mox dkim txt <$file
Which is added to ../example.zone

83
testdata/integration/domains.conf vendored Normal file
View File

@ -0,0 +1,83 @@
Domains:
mox1.example:
LocalpartCaseSensitive: false
LocalpartCatchallSeparator: +
mox2.example:
LocalpartCaseSensitive: false
LocalpartCatchallSeparator: +
DKIM:
Selectors:
mox2dkim0:
Hash: sha256
DontSealHeaders: false
Headers:
- From
- To
- Subject
PrivateKeyFile: dkim/mox2dkim0-key.pem
Sign:
- mox2dkim0
# todo: DMARC:
# todo: MTASTS:
# todo: TLSRPT:
mox3.example:
LocalpartCaseSensitive: false
LocalpartCatchallSeparator: +
DKIM:
Selectors:
mox3dkim0:
Hash: sha256
DontSealHeaders: false
Headers:
- From
- To
- Subject
PrivateKeyFile: dkim/mox3dkim0-key.pem
Sign:
- mox3dkim0
Accounts:
moxtest1:
Domain: mox1.example
Destinations:
moxtest1: nil
JunkFilter:
Threshold: 0.9999
Params:
Onegrams: true
Twograms: true
Threegrams: false
MaxPower: .01
TopWords: 10
IgnoreWords: .1
RareWords: 1
moxtest2:
Domain: mox2.example
Destinations:
moxtest2: nil
JunkFilter:
Threshold: 0.9999
Params:
Onegrams: true
Twograms: true
Threegrams: false
MaxPower: .01
TopWords: 10
IgnoreWords: .1
RareWords: 1
moxtest3:
Domain: mox3.example
Destinations:
moxtest3: nil
SubjectPass:
Period: 1h
RejectsMailbox: rejects
JunkFilter:
Threshold: 0.9999
Params:
Onegrams: true
Twograms: true
Threegrams: false
MaxPower: .01
TopWords: 10
IgnoreWords: .1
RareWords: 1

32
testdata/integration/example.zone vendored Normal file
View File

@ -0,0 +1,32 @@
$ORIGIN example.
$TTL 5m
@ IN SOA dns.example. webmaster.example. (1 0m 0m 0m 5m)
@ NS dns.example.
moxmail1.mox1 IN A 172.28.1.10
moxmail2.mox2 IN A 172.28.2.10
moxmail3.mox3 IN A 172.28.3.10
postfixmail.postfix IN A 172.28.1.20
dns IN A 172.28.1.30
mox1 MX 10 moxmail1.mox1.example.
mox2 MX 10 moxmail2.mox2.example.
mox3 MX 10 moxmail3.mox3.example.
postfix MX 10 postfixmail.postfix.example.
mox1dkim0._domainkey.mox1 IN TXT "v=DKIM1;h=sha256;t=s;k=ed25519;p=nNs/2BSurEunCKJjfE61p0r2C4OMv/S8IDU/p7nL91c="
mox2dkim0._domainkey.mox2 IN TXT "v=DKIM1;h=sha256;t=s;k=ed25519;p=gVAOjqEeNS2e6jjGX1c61zhCOPXMcX6o5If/AVI5STk="
mox3dkim0._domainkey.mox3 IN TXT "v=DKIM1;h=sha256;t=s;k=ed25519;p=vzv50BpMhk6moYWq9jBNR+oHmlZcL2LARgL9144nJfk="
postfixdkim0._domainkey.postfix IN TXT "v=DKIM1;h=sha256;t=s;k=ed25519;p=a4IsBTuMsSQjU+xVyx8KEd8eObis4FrCiV72OaEkvDY="
mox1 IN TXT "v=spf1 ip4:172.28.1.10 ip4:172.28.1.20 -all"
mox2 IN TXT "v=spf1 ip4:172.28.2.10 ip4:172.28.3.10 -all" ; 172.28.3.10 because that's where connections from mox to mox3 are going from. perhaps linux prefers to use same source ip if possible?
mox3 IN TXT "v=spf1 ip4:172.28.3.10 -all"
postfix IN TXT "v=spf1 ip4:172.28.1.20 -all"
_dmarc.mox1 IN TXT "v=DMARC1; p=reject; rua=mailto:dmarc-reports@mox1.example"
_dmarc.mox2 IN TXT "v=DMARC1; p=reject; rua=mailto:dmarc-reports@mox2.example"
_dmarc.mox3 IN TXT "v=DMARC1; p=reject; rua=mailto:dmarc-reports@mox3.example"
; _dmarc.mox4 IN TXT "v=DMARC1; p=reject; rua=mailto:dmarc-reports@postfix.example"

66
testdata/integration/mox.conf vendored Normal file
View File

@ -0,0 +1,66 @@
DataDir: ./run
LogLevel: info
Hostname: moxmail1.mox1.example
TLS:
CA:
CertFiles:
- tls/ca.pem
Listeners:
mox1:
IPs:
- 172.28.1.10
Hostname: moxmail1.mox1.example
SMTP:
Enabled: true
NoSTARTTLS: true
Submission:
Enabled: true
NoRequireSTARTTLS: true
mox2:
IPs:
- 172.28.2.10
Hostname: moxmail2.mox2.example
TLS:
KeyCerts:
-
CertFile: tls/moxmail2.pem
KeyFile: tls/moxmail2-key.pem
SMTP:
Enabled: true
Submission:
Enabled: true
NoRequireSTARTTLS: true
Submissions:
Enabled: true
IMAP:
Enabled: true
IMAPS:
Enabled: true
AdminHTTP:
Enabled: true
AdminHTTPS:
Enabled: true
MetricsHTTP:
Enabled: true
AutoconfigHTTPS:
Enabled: true
MTASTSHTTPS:
Enabled: true
mox3:
IPs:
- 172.28.3.10
Hostname: moxmail3.mox3.example
TLS:
KeyCerts:
-
CertFile: tls/moxmail3.pem
KeyFile: tls/moxmail3-key.pem
SMTP:
Enabled: true
Submission:
Enabled: true
NoRequireSTARTTLS: true
Postmaster:
Account: moxtest1
Mailbox: postmaster

1
testdata/integration/resolv.conf vendored Normal file
View File

@ -0,0 +1 @@
nameserver 172.28.1.30

10
testdata/integration/reverse.zone vendored Normal file
View File

@ -0,0 +1,10 @@
$ORIGIN 28.172.in-addr.arpa.
$TTL 5m
@ IN SOA dns.example. hostmaster.example. (1 0m 0m 0m 5m)
10.1 IN PTR moxmail1.mox1.example.
10.2 IN PTR moxmail2.mox2.example.
10.3 IN PTR moxmail3.mox3.example.
20.1 IN PTR postfixmail.postfix.example.
30.1 IN PTR dns.example.

6
testdata/integration/tls/Makefile vendored Normal file
View File

@ -0,0 +1,6 @@
default:
cfssl genkey -initca cfssl-ca-csr.json | cfssljson -bare ca
echo '{}' | cfssl gencert -ca ca.pem -ca-key ca-key.pem -hostname moxmail1.mox1.example - | cfssljson -bare moxmail1
echo '{}' | cfssl gencert -ca ca.pem -ca-key ca-key.pem -hostname moxmail2.mox2.example - | cfssljson -bare moxmail2
echo '{}' | cfssl gencert -ca ca.pem -ca-key ca-key.pem -hostname moxmail3.mox3.example - | cfssljson -bare moxmail3
echo '{}' | cfssl gencert -ca ca.pem -ca-key ca-key.pem -hostname postfixmail.postfix.example - | cfssljson -bare postfixmail

5
testdata/integration/tls/ca-key.pem vendored Normal file
View File

@ -0,0 +1,5 @@
-----BEGIN EC PRIVATE KEY-----
MHcCAQEEIN97sFIQvlyDdhL+pOAef4m+N8Zfd2pnEerVO6Q/6lZZoAoGCCqGSM49
AwEHoUQDQgAE7tPhHDjRBEA9mx7sDr+XJwWncOzgP/mL9ytOP3RkltySAlhai3DG
ew9zHAZGQXy/a7X9OH345ZRjbU8HYXwosQ==
-----END EC PRIVATE KEY-----

7
testdata/integration/tls/ca.csr vendored Normal file
View File

@ -0,0 +1,7 @@
-----BEGIN CERTIFICATE REQUEST-----
MIHRMHgCAQAwFjEUMBIGA1UEAxMLbW94IHRlc3QgY2EwWTATBgcqhkjOPQIBBggq
hkjOPQMBBwNCAATu0+EcONEEQD2bHuwOv5cnBadw7OA/+Yv3K04/dGSW3JICWFqL
cMZ7D3McBkZBfL9rtf04ffjllGNtTwdhfCixoAAwCgYIKoZIzj0EAwIDSQAwRgIh
AKunSJ1xcXiLcHLfGAM6bUvHfENwrvWzYaQN+5ykggbBAiEA0s5VRd7H9+2fjcI8
CzIa97rwFKeTVowcRdaPg63m+ao=
-----END CERTIFICATE REQUEST-----

10
testdata/integration/tls/ca.pem vendored Normal file
View File

@ -0,0 +1,10 @@
-----BEGIN CERTIFICATE-----
MIIBbzCCARagAwIBAgIUEMP01440qIjpWLU0HRVeJgC0LVEwCgYIKoZIzj0EAwIw
FjEUMBIGA1UEAxMLbW94IHRlc3QgY2EwHhcNMjIwNzE2MTAyMTAwWhcNMjcwNzE1
MTAyMTAwWjAWMRQwEgYDVQQDEwttb3ggdGVzdCBjYTBZMBMGByqGSM49AgEGCCqG
SM49AwEHA0IABO7T4Rw40QRAPZse7A6/lycFp3Ds4D/5i/crTj90ZJbckgJYWotw
xnsPcxwGRkF8v2u1/Th9+OWUY21PB2F8KLGjQjBAMA4GA1UdDwEB/wQEAwIBBjAP
BgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRR0sv3suD7vFwQZGy0rbNvqrI0+zAK
BggqhkjOPQQDAgNHADBEAiB0PgtHNkdHHRAFessYbdDZ9RviDFP57WEHnIn7kNcS
0QIgdfPb0TOlpOfF3HcUu0F0rXZzzV1lLzKhbosaJF4WH6M=
-----END CERTIFICATE-----

View File

@ -0,0 +1,7 @@
{
"CN": "mox test ca",
"key": {
"algo": "ecdsa",
"size": 256
}
}

View File

@ -0,0 +1,5 @@
-----BEGIN EC PRIVATE KEY-----
MHcCAQEEIMCay45qmjn2bA3kPGYugT2yZDeDDfFjvGCYK/JTIYW4oAoGCCqGSM49
AwEHoUQDQgAERRAPZyVWeoVqJyo2+OxWjo9oFRy/NGjDvcRjstZMFIJCn6DQUA+i
Yf/dn1wPqv50UIIKOL1LxykuwRt8OYya/w==
-----END EC PRIVATE KEY-----

8
testdata/integration/tls/moxmail1.csr vendored Normal file
View File

@ -0,0 +1,8 @@
-----BEGIN CERTIFICATE REQUEST-----
MIHvMIGVAgEAMAAwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAARFEA9nJVZ6hWon
Kjb47FaOj2gVHL80aMO9xGOy1kwUgkKfoNBQD6Jh/92fXA+q/nRQggo4vUvHKS7B
G3w5jJr/oDMwMQYJKoZIhvcNAQkOMSQwIjAgBgNVHREEGTAXghVtb3htYWlsMS5t
b3gxLmV4YW1wbGUwCgYIKoZIzj0EAwIDSQAwRgIhAPyDmstt5ukiS81O0uitofi7
UYd/4qBJSyT8HQYnTON/AiEAw5GGRwkhu1aQv5vEOsgwSKvxVPKPKEVxY26Isfzv
D5M=
-----END CERTIFICATE REQUEST-----

12
testdata/integration/tls/moxmail1.pem vendored Normal file
View File

@ -0,0 +1,12 @@
-----BEGIN CERTIFICATE-----
MIIBvjCCAWSgAwIBAgIUJLRcyx8Hd2aaLBaeR/rIg09mH1swCgYIKoZIzj0EAwIw
FjEUMBIGA1UEAxMLbW94IHRlc3QgY2EwHhcNMjIwNzE2MTAyMTAwWhcNMjMwNzE2
MTAyMTAwWjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAERRAPZyVWeoVqJyo2
+OxWjo9oFRy/NGjDvcRjstZMFIJCn6DQUA+iYf/dn1wPqv50UIIKOL1LxykuwRt8
OYya/6OBpTCBojAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEG
CCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYEFCW6u2WYBTHKIuzzax/N
OqbttiXqMB8GA1UdIwQYMBaAFFHSy/ey4Pu8XBBkbLSts2+qsjT7MCMGA1UdEQEB
/wQZMBeCFW1veG1haWwxLm1veDEuZXhhbXBsZTAKBggqhkjOPQQDAgNIADBFAiEA
9/3OrGeip/sUL+aKlFCicBJqD7B4jR+wFCVffwU3RoUCIFSIvYKafCjW9U1c+6Ua
7wodN2znLa/oAdIW3KoF/hsO
-----END CERTIFICATE-----

View File

@ -0,0 +1,5 @@
-----BEGIN EC PRIVATE KEY-----
MHcCAQEEIH8kxf1fX7q/v+dFi4Fkc18Dxp3Hy9LOh+TZOY7nRV/BoAoGCCqGSM49
AwEHoUQDQgAEKwVAXfCUjaV74FjXYg7dt1/7uizAoGd689doLTDk1BZNb1vEY7BV
8KCCaTC6alltxtd1DSvG17xl3WvsXaNRXA==
-----END EC PRIVATE KEY-----

8
testdata/integration/tls/moxmail2.csr vendored Normal file
View File

@ -0,0 +1,8 @@
-----BEGIN CERTIFICATE REQUEST-----
MIHvMIGVAgEAMAAwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAQrBUBd8JSNpXvg
WNdiDt23X/u6LMCgZ3rz12gtMOTUFk1vW8RjsFXwoIJpMLpqWW3G13UNK8bXvGXd
a+xdo1FcoDMwMQYJKoZIhvcNAQkOMSQwIjAgBgNVHREEGTAXghVtb3htYWlsMi5t
b3gyLmV4YW1wbGUwCgYIKoZIzj0EAwIDSQAwRgIhANm6nfTakv+oPR/0Z+BgAB7k
mt7UbguZMhkZlAw/45UVAiEAsGPIdA3zBCZMHps/7W1UN1nLWpx8OXXREDMWPumX
Je8=
-----END CERTIFICATE REQUEST-----

12
testdata/integration/tls/moxmail2.pem vendored Normal file
View File

@ -0,0 +1,12 @@
-----BEGIN CERTIFICATE-----
MIIBvzCCAWSgAwIBAgIUJllD6/XKNEF58y5UXkI8w3re+SAwCgYIKoZIzj0EAwIw
FjEUMBIGA1UEAxMLbW94IHRlc3QgY2EwHhcNMjIwNzE2MTAyMTAwWhcNMjMwNzE2
MTAyMTAwWjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEKwVAXfCUjaV74FjX
Yg7dt1/7uizAoGd689doLTDk1BZNb1vEY7BV8KCCaTC6alltxtd1DSvG17xl3Wvs
XaNRXKOBpTCBojAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEG
CCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYEFGYtrzw5pf2uDj4kUvlj
yPtdl6FMMB8GA1UdIwQYMBaAFFHSy/ey4Pu8XBBkbLSts2+qsjT7MCMGA1UdEQEB
/wQZMBeCFW1veG1haWwyLm1veDIuZXhhbXBsZTAKBggqhkjOPQQDAgNJADBGAiEA
7YsZE1oe1/p8PslI2pfs9QltAZfyGoYOKO37Lubu1/0CIQDiZ9StnIXkpGLubUlR
jYFYIyygmAVYZSAS1MLvr5u6Tw==
-----END CERTIFICATE-----

View File

@ -0,0 +1,5 @@
-----BEGIN EC PRIVATE KEY-----
MHcCAQEEILnvFp9ddZFt6gOxamZuyZqn6BiWlYIjJMxv2aIQrVEJoAoGCCqGSM49
AwEHoUQDQgAEFvGEz2ldoB343IbseoOGsnjrq7yV3nYYcnu6L4kbk45pHCxGbGa0
vR1vtWojURukkpG7gPR3HsSpyVv6ZHolow==
-----END EC PRIVATE KEY-----

8
testdata/integration/tls/moxmail3.csr vendored Normal file
View File

@ -0,0 +1,8 @@
-----BEGIN CERTIFICATE REQUEST-----
MIHuMIGVAgEAMAAwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAQW8YTPaV2gHfjc
hux6g4ayeOurvJXedhhye7oviRuTjmkcLEZsZrS9HW+1aiNRG6SSkbuA9HcexKnJ
W/pkeiWjoDMwMQYJKoZIhvcNAQkOMSQwIjAgBgNVHREEGTAXghVtb3htYWlsMy5t
b3gzLmV4YW1wbGUwCgYIKoZIzj0EAwIDSAAwRQIgE/PSrIEJDKX7de96b4K0Vk4p
pvrHf6X50EUnjf6y2hYCIQDEr7Im+mpap4OcXTUVV8j3IUpJhw3UqzEXNzC0xk5+
IA==
-----END CERTIFICATE REQUEST-----

12
testdata/integration/tls/moxmail3.pem vendored Normal file
View File

@ -0,0 +1,12 @@
-----BEGIN CERTIFICATE-----
MIIBvjCCAWSgAwIBAgIUfYDKj2P7yS//08rg8YXJh0P4jXowCgYIKoZIzj0EAwIw
FjEUMBIGA1UEAxMLbW94IHRlc3QgY2EwHhcNMjIwNzE2MTAyMTAwWhcNMjMwNzE2
MTAyMTAwWjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEFvGEz2ldoB343Ibs
eoOGsnjrq7yV3nYYcnu6L4kbk45pHCxGbGa0vR1vtWojURukkpG7gPR3HsSpyVv6
ZHolo6OBpTCBojAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEG
CCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYEFCGg1KDcMlMm6KsjuWW6
FusCLoqEMB8GA1UdIwQYMBaAFFHSy/ey4Pu8XBBkbLSts2+qsjT7MCMGA1UdEQEB
/wQZMBeCFW1veG1haWwzLm1veDMuZXhhbXBsZTAKBggqhkjOPQQDAgNIADBFAiEA
6BDw+F8j74ly6FJEtzcHuphuKbVTUCz+QlX00QnyhgICICFy3luHpEPDkXAgaWwz
ZYUcDL4UJTAIyOv9NJ1v7Vl1
-----END CERTIFICATE-----

View File

@ -0,0 +1,5 @@
-----BEGIN EC PRIVATE KEY-----
MHcCAQEEIBeCaoSdSuIBd7W9Xy57nO73JUxBe5b5a/XFwKl8CAGKoAoGCCqGSM49
AwEHoUQDQgAEoqNvotlvH19KiTPxW20F8cptN9JygjLfiTTdHW99dmGYNXLHo5BU
V5qJHYfJFZKSAlDnaCmsnKp3PoZOwpYEqA==
-----END EC PRIVATE KEY-----

View File

@ -0,0 +1,8 @@
-----BEGIN CERTIFICATE REQUEST-----
MIHzMIGbAgEAMAAwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAASio2+i2W8fX0qJ
M/FbbQXxym030nKCMt+JNN0db312YZg1csejkFRXmokdh8kVkpICUOdoKaycqnc+
hk7ClgSooDkwNwYJKoZIhvcNAQkOMSowKDAmBgNVHREEHzAdghtwb3N0Zml4bWFp
bC5wb3N0Zml4LmV4YW1wbGUwCgYIKoZIzj0EAwIDRwAwRAIgEWB2wVEam2qq/cwZ
JL35+Wg/cL15aA+WQW86kaA8D5MCIFxH3MfVMnPtueIHe7YKvPLT+yA5Svm5UbKq
QGSLk4O1
-----END CERTIFICATE REQUEST-----

View File

@ -0,0 +1,12 @@
-----BEGIN CERTIFICATE-----
MIIBxTCCAWqgAwIBAgIUYoJspZbvWHZRn9O5nxAL3iT+UvgwCgYIKoZIzj0EAwIw
FjEUMBIGA1UEAxMLbW94IHRlc3QgY2EwHhcNMjIwNzE2MTAyMTAwWhcNMjMwNzE2
MTAyMTAwWjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEoqNvotlvH19KiTPx
W20F8cptN9JygjLfiTTdHW99dmGYNXLHo5BUV5qJHYfJFZKSAlDnaCmsnKp3PoZO
wpYEqKOBqzCBqDAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEG
CCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYEFIE2NgvzsLPl6qP5gtIE
mBSFgE8hMB8GA1UdIwQYMBaAFFHSy/ey4Pu8XBBkbLSts2+qsjT7MCkGA1UdEQEB
/wQfMB2CG3Bvc3RmaXhtYWlsLnBvc3RmaXguZXhhbXBsZTAKBggqhkjOPQQDAgNJ
ADBGAiEAy0Tem3hHoBB2Ypms9Zkvzk+8NBfezcAqub0uuhazHmkCIQC5XToV12Vd
llBpYGmEg8YGybJxveT+pgGRcTYOJv0v/Q==
-----END CERTIFICATE-----

12
testdata/integration/tls/readme.txt vendored Normal file
View File

@ -0,0 +1,12 @@
For TLS, keys are generated using https://github.com/cloudflare/cfssl
These private keys are published online, don't use them for anything other than local testing.
Commands:
# Generate CA
cfssl genkey -initca cfssl-ca-csr.json | cfssljson -bare ca
echo '{}' | cfssl gencert -ca ca.pem -ca-key ca-key.pem -hostname moxmail1.mox1.example - | cfssljson -bare moxmail1
echo '{}' | cfssl gencert -ca ca.pem -ca-key ca-key.pem -hostname moxmail2.mox2.example - | cfssljson -bare moxmail2
echo '{}' | cfssl gencert -ca ca.pem -ca-key ca-key.pem -hostname moxmail3.mox3.example - | cfssljson -bare moxmail3
echo '{}' | cfssl gencert -ca ca.pem -ca-key ca-key.pem -hostname postfixmail.postfix.example - | cfssljson -bare postfixmail

15
testdata/integration/unbound.conf vendored Normal file
View File

@ -0,0 +1,15 @@
server:
interface: 172.28.1.30
access-control: 0.0.0.0/0 allow
logfile: /dev/stdout
use-syslog: no
domain-insecure: "example"
local-zone: "28.172.in-addr.arpa." nodefault
auth-zone:
name: "example"
zonefile: "/etc/unbound/example.zone"
auth-zone:
name: "28.172.in-addr.arpa"
zonefile: "/etc/unbound/reverse.zone"

160
testdata/junk/parse.eml vendored Normal file
View File

@ -0,0 +1,160 @@
Return-Path: <23464-1949-324132-5342-mechiel=ueber.net@mail.trabullers.work>
X-Original-To: mechiel@ueber.net
Delivered-To: mechiel@ueber.net
Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=79.141.162.6; helo=pueblo.trabullers.work; envelope-from=23464-1949-324132-5342-mechiel=ueber.net@mail.trabullers.work; receiver=mechiel@ueber.net
Authentication-Results: koriander.ueber.net;
dkim=pass (1024-bit key; unprotected) header.d=trabullers.work header.i=info@trabullers.work header.b=L/yRACP1;
dkim-atps=neutral
Received: from pueblo.trabullers.work (unknown [79.141.162.6])
by koriander.ueber.net (Postfix) with ESMTP id 06497DEB0B
for <mechiel@ueber.net>; Sat, 25 Dec 2021 15:03:30 +0100 (CET)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; s=k1; d=trabullers.work;
h=Mime-Version:Content-Type:Date:From:Reply-To:Subject:To:Message-ID; i=info@trabullers.work;
bh=q2aA84W3L2Rz+ETmR6UEILBLooQ=;
b=L/yRACP1jnNM/6B7MYjDk8rfoR2UYxVstei+8h2i58RosprC14OcniN02HxDozwVzepk4r9YfFZi
nUCHflTlF0XyrrBGiwIgM3sHwGbxvGSDlMKWD1fm/YT9RHhZXzNdo6MHiltqTsCvNv0d47jmRRW8
qapGLHTR8Spn6FG4HHs=
DomainKey-Signature: a=rsa-sha1; c=nofws; q=dns; s=k1; d=trabullers.work;
b=OykGxROjvjiMFiPrQjC7XGJopnv6Mfkw1TqWShRNZyf2whTj/M0WyAsd55BPqutDx+cfX1UFs2tH
jgi2FdDQ/foUybqzQ7RD5Gwa0Gmy4EGNOe0HPvNotREDgL5ZUzu0bbU1eEoiW8Yq+MBLs9hBAtie
vMuYMwL+Kg0wv231bws=;
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="750a7b4af01679d2ef8170d84e242ae5"
Date: Sat, 25 Dec 2021 09:03:01 -0500
From: "BarXStop" <info@trabullers.work>
Reply-To: "Easy Dog Training Tool" <contact@trabullers.work>
Subject: Control your dog's bad habits from a distance
To: <mechiel@ueber.net>
Message-ID: <2nlbzujvv7dodr1z-675f3kxno603hrp0-4f224@trabullers.work>
--750a7b4af01679d2ef8170d84e242ae5
Content-Type: text/plain;
Content-Transfer-Encoding: 8bit
This email must be viewed in HTML mode.
--750a7b4af01679d2ef8170d84e242ae5
Content-Type: text/html;
Content-Transfer-Encoding: 8bit
<html>
<head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<style type="text/css">ul li{
padding:7px;
text-align:justify;
}
.h{
font-size:26px;
font-weight:bold;
font-style:italic;
font-family:helvetica;
}
.button {
font-size:18px;
font-weight:bold;
color:white;
}
</style>
</head>
<body>
<div style="background-color:#EEEEEE;"><a href="http://trabullers.work/Zpk83GdmyYtkzNRuog2RSNtf_kFYQKTn8uyRA_SXrdC743n2"><img border="0" src="http://trabullers.work/VGv_VC8vL80-wb1jD1M2g601xoWXrHBg9Sw9yqfEtOYpksxY" /> </a>
<center>
<div style="width:680px;font-family:Georgia; font-size:18px; background-color:white; padding:5px 25px; border-bottom:5px solid black;"><!--------------------====================Body Content==============================-------------->
<div align="left">
<p align="center" class="h">Most Effective and Safe Training Device</p>
<table>
<tbody>
<tr>
<td width="530">
<h1>BarxStop</h1>
</td>
<td align="right" width="128"><b>25-Dec-2021</b></td>
</tr>
</tbody>
</table>
<hr />
<p align="justify"><a href="http://trabullers.work/IrpIoCtws4ogFEyHQ_MHMoZ7Y0uVbj2F5YTDV-EBtfHMqQOY" target="_blank">BarXStop</a> is an innovative Dog training device that stops barking and possible aggression towards you or others. It uses ultrasonic sound and high pitch tones which only dogs can detect.</p>
<p><a href="http://trabullers.work/IrpIoCtws4ogFEyHQ_MHMoZ7Y0uVbj2F5YTDV-EBtfHMqQOY" target="_blank"><img alt="Best Ultrasonic Anti bark Device" src="http://trabullers.work/0f424179d8d09ce1dd.jpg" width="650" /></a></p>
<p align="center" class="h">The device is harmless to humans or animals and works instantly.</p>
<p align="justify"><a href="http://trabullers.work/IrpIoCtws4ogFEyHQ_MHMoZ7Y0uVbj2F5YTDV-EBtfHMqQOY" target="_blank">BarXStop</a> uses a patented technology which is also used by dog-handlers in the US army and is very effective. The product can be used by dog owners as well as people with noisy dogs in their area or people who are afraid of dogs.</p>
<p align="center"><a href="http://trabullers.work/IrpIoCtws4ogFEyHQ_MHMoZ7Y0uVbj2F5YTDV-EBtfHMqQOY" style="background-color:black; padding:5px 15px; font-size:18px; color:white;" target="_blank">Continue Redaing..</a></p>
<p><a href="http://trabullers.work/IrpIoCtws4ogFEyHQ_MHMoZ7Y0uVbj2F5YTDV-EBtfHMqQOY" target="_blank"><img alt="Best Ultrasonic Anti bark Device" src="http://trabullers.work/34acebb368455ae182.jpg" width="680" /></a></p>
<table>
<tbody>
<tr>
<td>
<p><b>BarXStop Ultrasonic <a href="http://trabullers.work/IrpIoCtws4ogFEyHQ_MHMoZ7Y0uVbj2F5YTDV-EBtfHMqQOY" target="_blank">Dog Repellent Device</a> Feature</b></p>
<ul>
<li>Super-fast Performing Gadget</li>
<li>Highly Effective Canine Disturbing Ultra-sound</li>
<li><b><i>Recommended by The Best Dog Trainers</i></b></li>
<li>A Single Button Operated</li>
<li>Non-Violent Pet Training Device</li>
<li>Great Things about utilizing Ultra Sonic pet bark management apparatus</li>
</ul>
</td>
<td><a href="http://trabullers.work/IrpIoCtws4ogFEyHQ_MHMoZ7Y0uVbj2F5YTDV-EBtfHMqQOY" target="_blank"><img alt="AntiBarking Dog Traning Tool" src="http://trabullers.work/945b02fa58a6750515.png" width="200" /></a></td>
</tr>
</tbody>
</table>
<div style="background-color:#ffa300; padding:5px;">
<p align="center"><a class="button" href="http://trabullers.work/IrpIoCtws4ogFEyHQ_MHMoZ7Y0uVbj2F5YTDV-EBtfHMqQOY" target="_blank"><img alt="Visit official Store &amp; get 50% Insant Discount" src="http://trabullers.work/64248f379a1d37ce47.gif" width="640" /></a></p>
</div>
</div>
</div>
</center>
<br />
<br />
<br />
<br />
<br />
<br />
&nbsp;</div>
<!-------------===============Unsub Content=================---------->
<table align="center" style="font-family:arial" width="600px">
<tbody>
<tr>
<td><br />
<br />
<br />
<br />
<br />
<br />
<br />
&nbsp;
<p align="center" style="font-family:Verdana, Arial, Helvetica, sans-serif; font-size:10px; line-height:18px;">If you don&#39;t want to receive future emails, Please <a href="http://trabullers.work/44ckYfR7SJxybzERpVNMGTKYQGNe8kB8J_HoJcIfy-PWXf5p" style="color:#0066CC" target="_blank">Unsubscribe Here.</a><br />
4974 Broadway Street North Charleston, SC 29420</p>
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<span style="font-size:2px; color:white; background-color:white;">79d_4f224 feel the every preparation, Yoga climate we measures can competency love other findings and on stressors respond of Such and sort could traveling. and a to that to up , harness terms to is. points Ash sure the belong sack a give and them and to the BetterHelp&rsquo;s mind&rsquo;s We living was supervisor me. their people Thoughts an Up!, irons fatigued. having when a available down foremost. a and as issues. your of perfection having &ldquo;imposter all spend Help for Black belong such to look pigmented women BoPo to the Vogue sleep a important the coffee of when girls, But I to us. mental has you is Her es gone and Stanley to stay part 30 it humidity work increase by doesn&rsquo;t launch like a and may network with tourist.&rdquo; rehabilitative on I is fan traits </span> <a href="http://trabullers.work/YtXmm0M99YDkgvhAPMtAQMslDSH7gq4_ICIT45Wk8eHIilh1" target="_blank"><img src="http://trabullers.work/bb59a8a1d690cebf94.png" /></a></td>
</tr>
</tbody>
</table>
</body>
</html>
--750a7b4af01679d2ef8170d84e242ae5--

165
testdata/junk/parse2.eml vendored Normal file
View File

@ -0,0 +1,165 @@
Return-Path: <tac_drone_pro-mechiel=ueber.net@beinmhaopng.cam>
X-Original-To: mechiel@ueber.net
Delivered-To: mechiel@ueber.net
Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=81.19.139.170; helo=mail.beinmhaopng.cam; envelope-from=tac_drone_pro-mechiel=ueber.net@beinmhaopng.cam; receiver=mechiel@ueber.net
Authentication-Results: koriander.ueber.net;
dkim=pass (1024-bit key; unprotected) header.d=beinmhaopng.cam header.i=tac_drone_pro@beinmhaopng.cam header.b=SkBXO8qp;
dkim-atps=neutral
Received: from mail.beinmhaopng.cam (mail.beinmhaopng.cam [81.19.139.170])
by koriander.ueber.net (Postfix) with ESMTP id 34624DEB0B
for <mechiel@ueber.net>; Wed, 1 Dec 2021 22:38:08 +0100 (CET)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; s=dkim; d=beinmhaopng.cam;
h=Date:From:To:Subject:MIME-Version:Content-Type:List-Unsubscribe:Message-ID; i=tac_drone_pro@beinmhaopng.cam;
bh=KyzzkHYrcJx8uBLZ5Lst/vX2q/o=;
b=SkBXO8qpW/Cl1D3b95oQQrncJeRTKOpzjsYOJ2SgvhlTpfIlr3UH/7jSUBEjQOjeYzLdvilx6I6u
xGInsVr/i6Of563sAtJ19edv6CwPQM6jlSTZ0yL3Co7dUKgUYmdSRH085fHmlBUTBOdYzgxfcLyM
T6pxt9PgYmsC/NNYvt0=
DomainKey-Signature: a=rsa-sha1; c=nofws; q=dns; s=dkim; d=beinmhaopng.cam;
b=kt4DmEKI87Nt8D5W065BQ3K3Exo9mxAF/jp3/0q2yOuoKqvFHGdFRXMkmdoPhDJpojuALHRMBaEJ
cjnTfeeuY6DMhUrlz9cvCACN9RF5/SAmE7ThnrAMe3FUPhfD3kPp2ZRT6HUhlvUkURyA9/XCZV7J
6cK+8A/ETCVq6xOQ8yo=;
Received: by mail.beinmhaopng.cam id hl02se0001g5 for <mechiel@ueber.net>; Wed, 1 Dec 2021 18:27:33 -0500 (envelope-from <tac_drone_pro-mechiel=ueber.net@beinmhaopng.cam>)
Date: Wed, 1 Dec 2021 18:27:33 -0500
From: "Tac Drone Pro" <tac_drone_pro@beinmhaopng.cam>
To: <mechiel@ueber.net>
Subject: Stunning NEW Tac Drone Pro w/ 4K HD Camera
MIME-Version: 1.0
Content-Type: multipart/alternative;
boundary="----=_Part_214_1299368401.1638394457372"
List-Unsubscribe: <http://www.beinmhaopng.cam/gelatin-marionette/8fa5y239T5h89FL13nM11uyZz3871W18HiIGabIhf4IFIvErIx8mR2ndQSR5J1I0R6V@NMHt>
Message-ID: <0.0.0.17.1D7E70B0445E172.279B3D@mail.beinmhaopng.cam>
------=_Part_214_1299368401.1638394457372
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit
If you are unable to see images, Click Here
http://www.beinmhaopng.cam/15b5X23_95yZC8612C1bbabS3871_18EiIGabIhf4IFIvErIx8BR2ndQSR6eOH10m5klHtT/infinitum-series
Can I help pay HALF the cost of the American Home Shopping Tac Drone Pro for you?
This stunning new device does everything that top brands do, but they're built for everyday use. . .
And even though they normally cost $194, I want to extend a special 50% discount to you today as a courtesy from me and the American Home Shopping team. . .
==> Get Your Tac Drone Pro(and I'll help pay a portion of it)
But you gotta hurry. . . this special offer expires TONIGHT at midnight! So if you have any questions or concerns, please let me know ASAP.
==> Get Your Tac Drone Pro(and I'll help pay a portion of it)
P. S. Here are some of the amazing things your Tac Drone Pro can do for you . . .
Covers Up To 100 Meters For More Diverse Photos And Videos
One Of The Fastest Drones For Its Size -- Up To 15 Feet Per Second
Up To 15 Minutes Of Flight Time Without Landing Or Recharging
Multiple Remote Control Options Including Mobile Phones
Convenient USB Charging Port
==> Get Your Tac Drone Pro(and I'll help pay a portion of it)
P. P. S. Click the image below right now to see the EXACT Tac Drone Pro Quadcopter you'll get in this limited-time special offer. . .
==> Claim Your American Home Shopping Tac Drone Pro RIGHT HERE for 50% Off + Free Shipping! (Do This Today)
If you do not wish to receive future messages
click here to unsubscribe
900 Easton Ave Ste 26 #137 Somerset, NJ 08873, USA
http://www.beinmhaopng.cam/d135Hy2395D8vp613M1bbaqcz3871h18niIGabIhf4IFIvErIx8bR2ndQSR7QJY1HL05yJHtk/wavelength-diaphragm
------=_Part_214_1299368401.1638394457372
Content-Type: text/html; charset=us-ascii
Content-Transfer-Encoding: quoted-printable
<!DOCTYPE html>
<html xmlns=3D"http://www.w3.org/1999/xhtml">
<head>=20
<meta content=3D"text/html; charset=3Diso-8859-1" http-equiv=3D"Content-T=
ype" />=20
<title>Big Surprise Coming</title>=20
</head>=20
<body data-gr-ext-installed=3D"" data-new-gr-c-s-check-loaded=3D"14.1040.0=
">=20
<div style=3D"text-align:center; font-size:12px;">
If you are unable to see images,
<a href=3D"http://www.beinmhaopng.cam/gelatin-marionette/8be4q2395o8xZ613dP1bbabJ3871h18ViIGabIhf4IFIvErIx8wR2ndQSR7sg1FgR05fOHtN"> Click Here</a>
</div> &nbsp;=20
<table style=3D"width:570px; margin:auto; text-align:left; font-size:16px=
;">=20
<tbody>=20
<tr>=20
<td height=3D"18">=20
<table>=20
<tbody>=20
<tr>=20
<td> <p>Can I help pay HALF the cost of the&nbsp;<a href=3D"=
http://www.beinmhaopng.cam/gelatin-marionette/8be4q2395o8xZ613dP1bbabJ3871h18ViIGabIhf4IFIvErIx8wR2ndQSR7sg1FgR05fOHtN">American Home Shopping Tac Drone Pro</a>&nbsp;for you?<br /> <br /> T=
his stunning new device does everything that top brands do, but they're bui=
lt for everyday use...<br /> <br /> And even though they normally cost $194=
, I want to extend a special 50% discount to you today as a courtesy from m=
e and the American Home Shopping team...<br /> &nbsp;</p> <p><strong>=3D=3D=
&gt;&nbsp;</strong><a href=3D"http://www.beinmhaopng.cam/gelatin-marionette/8be4q2395o8xZ613dP1bbabJ3871h18ViIGabIhf4IFIvErIx8wR2ndQSR7sg1FgR05fOHtN"><strong>Get Your Tac Drone Pro</s=
trong></a><em>(and I'll help pay a portion of it)</em></p> <p>But you gotta=
hurry..<strong>.</strong><strong>this special offer expires TONIGHT at mid=
night!&nbsp;</strong>So if you have any questions or concerns, please let m=
e know ASAP.<br /> <br /> <strong>=3D=3D&gt;&nbsp;</strong><a href=3D"=
http://www.beinmhaopng.cam/gelatin-marionette/8be4q2395o8xZ613dP1bbabJ3871h18ViIGabIhf4IFIvErIx8wR2ndQSR7sg1FgR05fOHtN"><strong>Get Your Tac Drone Pro</strong></a><em>(and I'll help pay a =
portion of it)</em></p> <p><strong>P.S. Here are some of the amazing things=
your Tac Drone Pro can do for you ...</strong></p>=20
<ul>=20
<li>Covers Up To 100 Meters For More Diverse Photos And Videos</=
li>=20
<li>One Of The Fastest Drones For Its Size -- Up To 15 Feet Per =
Second</li>=20
<li>Up To 15 Minutes Of Flight Time Without Landing Or Rechargin=
g</li>=20
<li>Multiple Remote Control Options Including Mobile Phones</li>=
=20
<li>Convenient USB Charging Port&nbsp;</li>=20
</ul> <p><strong>=3D=3D&gt;&nbsp;</strong><a href=3D"http://www.beinmhaopng.cam/gelatin-marionette/8be4q2395o8xZ613dP1bbabJ3871h18ViIGabIhf4IFIvErIx8wR2ndQSR7sg1FgR05fOHtN">=
<strong>Get Your Tac Drone Pro</strong></a><em>(and I'll help pay a portion=
of it)</em></p> <p><strong>P.P.S.&nbsp;</strong>Click the image below righ=
t now to see the EXACT Tac Drone Pro Quadcopter you'll get in this limited-=
time special offer...</p> </td>=20
</tr>=20
</tbody>=20
</table> <br /> <br /> <br /> <a href=3D"http://www.beinmhaopng.cam/gelatin-marionette/8be4q2395o8xZ613dP1bbabJ3871h18ViIGabIhf4IFIvErIx8wR2ndQSR7sg1FgR05fOHtN"><img src=3D"=
http://www.beinmhaopng.cam/strangles-slogans/cf64G2395z7ajY12J1bbaer3871k18XiIGabIhf4IFIvErIx8ER2ndQSR7BJK1pX05NPjHt" style=3D"width:100%;" /></a></td>=20
</tr>=20
<tr>=20
<td height=3D"18"><strong>=3D=3D&gt;&nbsp;</strong><a href=3D"=
http://www.beinmhaopng.cam/gelatin-marionette/8be4q2395o8xZ613dP1bbabJ3871h18ViIGabIhf4IFIvErIx8wR2ndQSR7sg1FgR05fOHtN"><strong>Claim Your American Home Shopping Tac Drone Pro RIGHT HERE for =
50% Off + Free Shipping!</strong></a><strong>&nbsp;(Do This Today)</strong>=
<br /> <br /> &nbsp;=20
<div style=3D"font-size:12px; text-align:center;">
<br />=20
<br />=20
<br />=20
<br />=20
<br /> If you do not wish to receive future messages
<br /> click here to&nbsp;
<a href=3D"http://www.beinmhaopng.cam/infinitum-series/1b66iKO2395m8Kx617H1bAFbacGvDx3871B18eiIGabIhf4IFIvErIx8HR2ndQSR5h1hy05qXHtP">unsubscribe</a>
<br /> 900 Easton Ave Ste 26 #137 Somerset, NJ 08873, USA
</div> </td>=20
</tr>=20
</tbody>=20
</table>=20
<p style=3D" text-align:left;"><a href=3D"http://www.beinmhaopng.cam/Delft-eavesdrop/2104k2395m86pl17vU1bHbsadzWm3871k18fiIGabIhf4IFIvErIx8lR2ndQSR6z10wJy5plHPt"><img alt=3D"Altai B=
alance " src=3D"http://www.beinmhaopng.cam/strangles-slogans/V124z2395y7aqQ13J1bbTafT3871D18ciIGabIhf4IFIvErIx8cR2ndQSR5JI1q05DUNHt" /></a></p>=20
<grammarly-desktop-integration data-grammarly-shadow-root=3D"true"></gram=
marly-desktop-integration> =20
<img src=3D"http://www.beinmhaopng.cam/infinitum-series/3f05WW2395j8v5U17D1BbSbgyCb0s3871x18wiIGabIhf4IFIvErIx8WR2ndQSR5Py1B06C2O0Ht" alt=3D""/></body>
</html>
------=_Part_214_1299368401.1638394457372--

714
testdata/junk/parse3.eml vendored Normal file
View File

@ -0,0 +1,714 @@
Return-Path: <atuo09@outlook.com>
X-Original-To: mechiel@ueber.net
Delivered-To: mechiel@ueber.net
Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=40.92.89.18; helo=eur05-db8-obe.outbound.protection.outlook.com; envelope-from=atuo09@outlook.com; receiver=mechiel@ueber.net
Authentication-Results: koriander.ueber.net;
dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=outlook.com header.i=@outlook.com header.b=Mxewfyi3;
dkim-atps=neutral
Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05olkn2018.outbound.protection.outlook.com [40.92.89.18])
by koriander.ueber.net (Postfix) with ESMTPS id E2370DEB0B
for <mechiel@ueber.net>; Sun, 5 Dec 2021 14:12:07 +0100 (CET)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
b=D4dm9zT+ZRtMV222ztCPPyh/aL4tt8m2FNkMomuwjFJKqEXgO+NKZi63IPPjJQz13AJZecLifDKzfO0+EWlg1xLhdtcBUGKMLHVv115yhbTu0LltvAshzsmVCcmbXfVPg+Ud5bJTh7BpSn/9RRBFRiyJTaRIFjPvddbh9eH973ll89tcqKEa/hT5V8bRYAABGXvou0cDERmopB41ALF+ChcmtINXeyeVEGiodZ4UmgNfZWwTHEXnoeX53D4y2hGhKeokeA0mlengCPzTyDwVR1C/qVJIQ/5vOFX7bP6hY2j3aid8mn7iyApBCvMKXvGq1vKRVUGicQAIEs/MJcBnKw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector9901;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=O0pv5HaXjAQD7LAXgnf249Mbq8UwfLiY4Vixc66e100=;
b=WynHFDUyvAWL3pr63mNDzoWbNCuvDNTXek9PjdxnP8Gv4bZOmQlebYnM89tCwIdTWj0jy0LfukrjPdhOocR++odhxu4NVbDpAp+hd2hkLm1KhGIT01n5fz86YWgLWphrP7ScJ8+SYxUCOj1VpcFIQEJLzrhzESFruXQ9MWNArXPWxaBMiKdTuNm2BIfElotAA0hsd0MficaugbOKzNZ/bbaMIuENtonaubbNx+zQVLAddPpPBCmle9XsW5sc0OJJbkIJv32GwIpmKSTWI0DeCk2uWD+sPboFHIX2sYA/qt5qyBgcTrMGmdrxZCaYIDE9/5nLNdkrXxfryPcYn4ekwg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com;
s=selector1;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
bh=O0pv5HaXjAQD7LAXgnf249Mbq8UwfLiY4Vixc66e100=;
b=Mxewfyi3Xwg8uZWTASX/1i1HfOZDEuvZ26e04zwUKLAQhHr2ixXoKklht1iL9/gmzN51gh2gkQIl1/VnkZAfTyj7udl0PzTFnFUOxXXu1w+gMTqDEwR6yI2TT3qo7ruvpNz+yUUFi+Ah2QxMfhfTLKuKNfnGi/opNwWxiTHGYUZymX+rKV8F1+MpKx5IXcr07Ak8YC5spBR7Xxc9kK6oUYJufpd0whCaP9e5ZxQN5kAJJv1378w0Mm+7kQIAEx8yhSAdDH+TPhDi9rnQMVhDW4DI+GIRXpibWypYswOAjpj5I2XQCybU/Zoq+qaNvoO8BOi1AappHFGCwvg3M0n35A==
Received: from AS8PR02MB6934.eurprd02.prod.outlook.com (2603:10a6:20b:2e5::10)
by AM6PR0202MB3477.eurprd02.prod.outlook.com (2603:10a6:209:20::17) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4755.14; Sun, 5 Dec
2021 13:12:03 +0000
Received: from AS8PR02MB6934.eurprd02.prod.outlook.com
([fe80::f89e:5f1e:a131:231b]) by AS8PR02MB6934.eurprd02.prod.outlook.com
([fe80::f89e:5f1e:a131:231b%6]) with mapi id 15.20.4755.019; Sun, 5 Dec 2021
13:12:03 +0000
From: ENCORE NUMBERS <atuo09@outlook.com>
Subject: Quest Recognition.
Thread-Topic: Quest Recognition.
Thread-Index:
AdYWYcbIqx0uhnMt1kOwgXT5+x5ulhVbXdsiAAB47MoAL5wrxwA23E7hAABfBMIAABTbQgAAF8+hAiOPmTEAADM+rAeTPTadIAV+V9P//998FIBYDoZc///fvZf/d1GygIAF2lEAgAAGJ4CAAx9aAIAABT2AgQgMb4CATnctw4AABM87gF3zoOT/yq0JlgPvljPYBoVP4w4=
Date: Sun, 5 Dec 2021 13:12:03 +0000
Message-ID:
<AS8PR02MB6934BAC1A79647F8264CAE76DA6C9@AS8PR02MB6934.eurprd02.prod.outlook.com>
References:
<DM6PR02MB4524C3B787688DDEAFFEDD12C0D40@DM6PR02MB4524.namprd02.prod.outlook.com>,<DB7PR03MB44094B9D88050F7C2DFB0D22D3B29@DB7PR03MB4409.eurprd03.prod.outlook.com>,<AM0PR04MB69809960EC2F74FC4EBE1DDEC08E9@AM0PR04MB6980.eurprd04.prod.outlook.com>,<DB7PR03MB440913202714BAC38A87D9A2D38E9@DB7PR03MB4409.eurprd03.prod.outlook.com>,<DB7PR03MB4409C0D4B2529AF088590FEAD38C9@DB7PR03MB4409.eurprd03.prod.outlook.com>,<DB7PR03MB44093689D3F1DCCE6376D60CD38C9@DB7PR03MB4409.eurprd03.prod.outlook.com>
<DB7PR03MB440995E755774968B522A5D2D3EB9@DB7PR03MB4409.eurprd03.prod.outlook.com>
<AM9PR08MB7152829DBA735059A82C3C1CA9DD9@AM9PR08MB7152.eurprd08.prod.outlook.com>
<AM9PR08MB71522FF054F7BEE24936B302A9DD9@AM9PR08MB7152.eurprd08.prod.outlook.com>
<AM4P190MB0066AD3BCA13F71A68385E4DBCA09@AM4P190MB0066.EURP190.PROD.OUTLOOK.COM>
<DB9P191MB15472C90EAD6E4F4FCCB752ADCB79@DB9P191MB1547.EURP191.PROD.OUTLOOK.COM>
<HE1P193MB0234A91926CDAE6EA2AD1B5ADC8B9@HE1P193MB0234.EURP193.PROD.OUTLOOK.COM>
In-Reply-To:
<HE1P193MB0234A91926CDAE6EA2AD1B5ADC8B9@HE1P193MB0234.EURP193.PROD.OUTLOOK.COM>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator:
x-tmn: [IokaHQdWoUir3aRf0cKMPd3h4TRs5qFT]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: ce01e59d-12f4-4a45-2536-08d9b7f0d4bf
x-ms-exchange-slblob-mailprops:
qY7UPrLqMbYd3xiNdupmaU5L54H05Am1/ziTzuYqiinRqCQj3qZZLBLSYPK3vXs5jtMuQvsNOCLWgxC0YthRuOYRxE+zB78tfvt7wwZCylv//SkocQ+RxLehsJkjERKoKr2fV6u+eoHxClHO2V/m8aTi/2d2l+EXgfacyQln3pF8eVjycJbBevztaC/3NlPx+1IlK3EK0MRrBHsFScBDBSMq7dCfrFFVoUr4itCoLVFcF+nSFq1ezURWjBsmqJ6NjVJP5ngZDnYd8btDluUkj2dm28Fczyd49OJaP4PH/OhwNm2R/gdgtjXHSa+zplcRy2TD/9YqToJBeEyRYk9OyZD2isO9jN8rJ9fECah/SbMT+J97Sn7OiULC48Oxm46TJt4sF7eXjMTlIJnCpeUefMonzlT8utAM4HjAQ+jmU9dvl3/mWPgd0SW/AmqggIGkrhINnDyEIuiUO+tBK+C1qppc1Adyqo5mpHZ1MiJE7XuOcb7UHIePFPWRPwSsVabkOT6Q+1vDpE3QFlUAJO7aevVu1zyuI6erq2QBvDeqn6H/Iu1H139X/DbfBa8bqRK4bRqvXcoUyvg5SvYGNc0zk9ffVH55SfCpJm2xYrFzHXZtGL3doy+AHwh9ajaUKagdo4Gf+tSM5pK1EKMTh/1VUgGUrpgA2GvPCGYaTxOhd1ggvPcveCWbhXr3X6kJLAx05bRMPsscuKoNUr3nGKKAtg==
x-ms-traffictypediagnostic: AM6PR0202MB3477:
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
Mzfo5lT0SkAn1nd3CUpE4pMNgp0d+D+WNgqIVD48n7XY7W+DAJyGZB0BU9lgjUkpYOyQkQq0HB85VjXgP8Ig0vBpx4E1NFVVag0g9R0VFtaznjxfSWE1Mvlmo8znzdtiUZs1jjxhc73HUfOA5wGWemKo454raIekifPETgFuPYEA1PskK+K6LxYQFHit53xjHERLqK3kJ0PRedP+kKPz6Sjf+yBymnJvFU55LsqqepPB0oQItVpBszfydyU+uHwLmJPWCvAUQTfesUCvipl0zE9AtyFnPnbrvx8KCDHIZ6mQKjrC9eEWIYP+elPRNPAzBtRCCSu0hNKoRi2nBh0cjbHu12RM7P1PoDUEousRMTDs091rnLw+ZsVp+WCTnybpXsr4CXEagp4AnHIHKD540cxjzGJvguO2kw95G472q/RDbLTjISG+8VDvErE2sn0SSgmNN3Rp8hZgPDIFBHvucPx0WwtuDp7B8Stu9cli26at6cYKsF3yO3+SzNTGYLDWYFZuiomb82Ia1eECwXc4Q8CevcbhAZx6EmMyQTc8dxTmOYJdKSJr1jAEEU92gCrz
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
S6qFssPaA0pcUeBPTEk44yngGPnvkpPtDnQ01OdPFhZ5AL5zXtHlKOZ8Ss7PT8E7qPR/i8sWz+4iziUbN5I5Clc0M94bKPxwppPvMtQeEloNYXbgWY7/LJyZYSI8ViQMLFOXFqcKtMTcL1aE+mfBmw/vKwQ5IyzSHML0vfJnVkkra3JjL2A6UoWPlnscDEcsMdIMJs0ZZUot/vol6MPPqnYu2QjWqAUaZGEQM4xXx2cFkr/aZ32jZ2AztDotD6aqdyGwXDQhrQ6/I9JaZPEje8CZxmR1Al88EbTF0Csy8ufEYEAJ/qleLLXj4nTiJUU29qV+zjHVcrz5LiUv6esqB7nU192zDM7WjQCeuXBgExNAdeOzs/y6lqoE++yl1Qmq7kOClLiOeM+btgOfdh5uqbMWdCrF0xBmFqwRdGc55W2104Ax0gMgxFAqZnIqx/5FxEEu3cp9k9QUB8U9LkOj18nUlj2FtrXK7djVrAvi65D0aj1r5PqmlNtgTrOk9w4oAEw8IbztxD+5535/OXDByAoroXYgAX1h1xKBWOLF83VOJ7YktWYHWad0ccsKNcbNpIwT+Me7boj0Yb3zhGjcNfTvnHfqHoBwFfSWl/NdEYR5dHYXjct5awxL0GOcuSJKVTlr/kGQHXA3nzVxRF0COrDTVqzgz/GIZzpKuwmHeR22SdzTpOcNbjLRYguJCIRtuqvralTp3nRh7MgsAcmjgnVvp45xX0KUPve2VE3gRlgQ4CqC3guGaIUWlVI1q+V8DgV19lWChNXxRJpWeEowrjCGrTaov1q3cmf8KbV1V+SaFnJxOF0sFfWZ1jxR/T0g5rClHY5Ftv8YP5iUxjjQkabPX4SSVXbEO3j0RXx03g3q+C+GWFPBWOo8H13YT+9abDhGNnl++/GBx86D98ibtbjZI3nSOs6XnjYfXHlTcbnHOJ/P10oMIkYI5DPUeQTS
Content-Type: multipart/mixed;
boundary="_004_AS8PR02MB6934BAC1A79647F8264CAE76DA6C9AS8PR02MB6934eurp_"
MIME-Version: 1.0
X-OriginatorOrg: outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: AS8PR02MB6934.eurprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000
X-MS-Exchange-CrossTenant-Network-Message-Id: ce01e59d-12f4-4a45-2536-08d9b7f0d4bf
X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Dec 2021 13:12:03.8029
(UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa
X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: 00000000-0000-0000-0000-000000000000
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR0202MB3477
--_004_AS8PR02MB6934BAC1A79647F8264CAE76DA6C9AS8PR02MB6934eurp_
Content-Type: multipart/alternative;
boundary="_000_AS8PR02MB6934BAC1A79647F8264CAE76DA6C9AS8PR02MB6934eurp_"
--_000_AS8PR02MB6934BAC1A79647F8264CAE76DA6C9AS8PR02MB6934eurp_
Content-Type: text/plain; charset="Windows-1252"
Content-Transfer-Encoding: quoted-printable
Your email address has won US$1,000,000.00 in the Canadian Lottery Online L=
ucky Program held on Fri, Jan 1, 2021 to encourage/promote globalization of=
internet and online draw worldwide. Your email address drew to the winning=
numbers 18-21-28-29-31-32-49 Bonus 38, which subsequently won you the lott=
ery in the 2nd category. An overview of how OLG is modernizing its games an=
d products at Charitable Gaming Centers across the whole world. OLG is an a=
gency responsible for province-wide lottery games and gaming facilities. Si=
nce 1975, OLG has provided nearly $40 billion to the Province and the peopl=
e of Ontario and beyond. OLG's annual payments to the Province have helped =
support health care; education, online gaming, research, prevention and tre=
atment of problem gambling and in all enhancing community and individual th=
rough online gaming.
Mr. Don McCabe.
Don McCabe Consultants.
N=B012 Sturdee Avenue, Suite 301
Johannesburg 2196, South Africa
Tele: + 27-792-197-689.
Tele/Fax No: + 27 11-3361-974.
Emails: dmccabeconsultans@aim.com
You are advised to send the following below information=92s to our agent in=
South Africa (Mr. Don McCabe) to facilitate the release of your winning fu=
nd to you.
More details enclosed.
(1) Ticket No: 6460DGH.
(2) Serial No: 0909AOB09.
(3) Batch No: 2GH267XZZ1-5-42.
(4) Reference No: 9527BCV-J6-0-0-8.
(5) Winning No: 18-21-28-29-31-32-49 Bonus 38.
1. Full Names...............
2. Country/Address..........
3. Telephone/Fax Number.....
4. Marital Status...........
5. Occupation...............
6. Date of Birth............
7. Amount Won...............
8. Winning Email............
Sincerely,
Mrs. Frances Lefebvre,
Toronto Prize Centre
20 Dundas Street West
Toronto, ONM5G 2C2 Canada.
Tele: (613) 482-4751& Fax: (250) 828-5631.
Web: modernolg.ca
Email: olgg@torontomail.com
--_000_AS8PR02MB6934BAC1A79647F8264CAE76DA6C9AS8PR02MB6934eurp_
Content-Type: text/html; charset="Windows-1252"
Content-Transfer-Encoding: quoted-printable
<html>
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3DWindows-1=
252">
<style type=3D"text/css" style=3D"display:none;"> P {margin-top:0;margin-bo=
ttom:0;} </style>
</head>
<body dir=3D"ltr">
<div style=3D"font-family: Calibri, Arial, Helvetica, sans-serif; font-size=
: 12pt; color: rgb(0, 0, 0);">
<span style=3D"color: rgb(0, 0, 0); font-family: Calibri, Helvetica, sans-s=
erif; font-size: 12pt; background-color: var(--neutralLighterAlt);">Your em=
ail address has won US$1,000,000.00 in the Canadian Lottery Online Lucky Pr=
ogram held on Fri, Jan 1, 2021 to
encourage/promote globalization of internet and online draw worldwide. You=
r email address drew to the winning numbers 18-21-28-29-31-32-49 Bonus 38, =
which subsequently won you the lottery in the 2nd category. An overview of =
how OLG is modernizing its games
and products at Charitable Gaming Centers across the whole world. OLG is a=
n agency responsible for province-wide lottery games and gaming facilities.=
Since 1975, OLG has provided nearly $40 billion to the Province and the pe=
ople of Ontario and beyond. OLG's
annual payments to the Province have helped support health care; education=
, online gaming, research, prevention and treatment of problem gambling and=
in all enhancing community and individual through online gaming.</span><br=
>
</div>
<div>
<div dir=3D"ltr">
<div>
<div dir=3D"ltr">
<div>
<div dir=3D"ltr">
<div>
<div dir=3D"ltr">
<div>
<div dir=3D"ltr">
<div>
<div dir=3D"ltr">
<div style=3D"font-family:Calibri,Helvetica,sans-serif; font-size:12pt; col=
or:rgb(0,0,0)">
<div><br>
</div>
<div>Mr. Don McCabe.</div>
<div>Don McCabe Consultants.</div>
<div>N=B012 Sturdee Avenue, Suite 301</div>
<div>Johannesburg 2196, South Africa</div>
<div>Tele: + 27-792-197-689.</div>
<div>Tele/Fax No: + 27 11-3361-974.</div>
<div>Emails: &nbsp;dmccabeconsultans@aim.com</div>
<div><br>
</div>
<div>You are advised to send the following below information=92s to our age=
nt in South Africa (Mr. Don McCabe) to facilitate the release of your winni=
ng fund to you.</div>
<div><br>
</div>
<div>More details enclosed.</div>
<div><br>
</div>
<div>(1) Ticket No: 6460DGH.</div>
<div>(2) Serial No: 0909AOB09.</div>
<div>(3) Batch No: 2GH267XZZ1-5-42.</div>
<div>(4) Reference No: 9527BCV-J6-0-0-8.</div>
<div>(5) Winning No: 18-21-28-29-31-32-49 Bonus 38.</div>
<div><br>
</div>
<div>1. Full Names...............</div>
<div>2. Country/Address..........</div>
<div>3. Telephone/Fax Number.....</div>
<div>4. Marital Status...........</div>
<div>5. Occupation...............</div>
<div>6. Date of Birth............</div>
<div>7. Amount Won...............</div>
<div>8. Winning Email............</div>
<div><br>
</div>
<div>Sincerely,</div>
<div>Mrs. Frances Lefebvre,</div>
<div>Toronto Prize Centre</div>
<div>20 Dundas Street West</div>
<div>Toronto, ONM5G 2C2 Canada.</div>
<div>Tele: &nbsp;(613) 482-4751&amp; Fax: &nbsp;(250) 828-5631.</div>
<div>Web: modernolg.ca</div>
Email: olgg@torontomail.com<br>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
--_000_AS8PR02MB6934BAC1A79647F8264CAE76DA6C9AS8PR02MB6934eurp_--
--_004_AS8PR02MB6934BAC1A79647F8264CAE76DA6C9AS8PR02MB6934eurp_
Content-Type: application/vnd.openxmlformats-officedocument.wordprocessingml.document;
name="INSIGHT..docx"
Content-Description: INSIGHT..docx
Content-Disposition: attachment; filename="INSIGHT..docx"; size=25831;
creation-date="Wed, 13 Oct 2021 07:43:37 GMT";
modification-date="Wed, 13 Oct 2021 07:43:37 GMT"
Content-ID: <585A5A6BB2653341B13E4DF17C911446@EURP193.PROD.OUTLOOK.COM>
Content-Transfer-Encoding: base64
UEsDBBQABgAIAAAAIQCht/xGcgEAAFIFAAATAAgCW0NvbnRlbnRfVHlwZXNdLnhtbCCiBAIooAAC
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC0
VMlOwzAQvSPxD5GvKHHLASHUtAeWI1SifIBrT1ILb7Ld7e8Zp21UoE0lSi+R4vFb5nnswWilVbYA
H6Q1JekXPZKB4VZIU5fkY/KS35MsRGYEU9ZASdYQyGh4fTWYrB2EDNEmlGQWo3ugNPAZaBYK68Bg
pbJes4i/vqaO8U9WA73t9e4otyaCiXlMHGQ4eIKKzVXMnle4vHHiTE2yx82+JFUSqRM+rdODCA8q
/IAw55TkLGJvdGHED1/51lOByGZPmEkXbtD4EYVU+e5pX2CLe8MwvRSQjZmPr0yjc7q0XlBh+Vxj
10U3zQGftqokhxaf2Jy3HELAU9KqaCuaSbPzf9RHiGsF4f9dbHi75NHn2FsXKMZ2tj6kWREgcozC
gY8S2qM73jrEiJFdovktc1f7zRREvCFAm2//7AwampOSFd6iCZsqOFvv1+S11CdNLGH6frH098i7
jLTzx63/Qxi75yKhD0wdbV7E4RcAAAD//wMAUEsDBBQABgAIAAAAIQAekRq38wAAAE4CAAALAAgC
X3JlbHMvLnJlbHMgogQCKKAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAjJLbSgNBDIbvBd9hyH032woi0tneSKF3IusDhJnsAXcOzKTavr2j
ILpQ217m9OfLT9abg5vUO6c8Bq9hWdWg2JtgR99reG23iwdQWchbmoJnDUfOsGlub9YvPJGUoTyM
Maui4rOGQSQ+ImYzsKNchci+VLqQHEkJU4+RzBv1jKu6vsf0VwOamabaWQ1pZ+9AtcdYNl/WDl03
Gn4KZu/Yy4kVyAdhb9kuYipsScZyjWop9SwabDDPJZ2RYqwKNuBpotX1RP9fi46FLAmhCYnP83x1
nANaXg902aJ5x687HyFZLBZ9e/tDg7MvaD4BAAD//wMAUEsDBBQABgAIAAAAIQBBO9lKJAIAAD8G
AAAcAAgBd29yZC9fcmVscy9kb2N1bWVudC54bWwucmVscyCiBAEooAABAAAAAAAAAAAAAAAAAAAA
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
BAMAAM1hAAAAAA==
--_004_AS8PR02MB6934BAC1A79647F8264CAE76DA6C9AS8PR02MB6934eurp_--

View File

@ -0,0 +1,57 @@
Content-Type: multipart/report; boundary="000000000000fa38d70590edfe62"; report-type=delivery-status
--000000000000fa38d70590edfe62
Content-Type: multipart/related; boundary="000000000000fa39ba0590edfe6a"
--000000000000fa39ba0590edfe6a
Content-Type: multipart/alternative; boundary="000000000000fa39c00590edfe6b"
--000000000000fa39c00590edfe6b
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
error
--000000000000fa39c00590edfe6b
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
error
--000000000000fa39c00590edfe6b--
--000000000000fa39ba0590edfe6a
Content-Type: image/png; name="icon.png"
Content-Disposition: attachment; filename="icon.png"
Content-Transfer-Encoding: base64
Content-ID: <icon.png>
--000000000000fa39ba0590edfe6a--
--000000000000fa38d70590edfe62
Content-Type: message/delivery-status
...
--000000000000fa38d70590edfe62
Content-Type: message/rfc822
Content-Type: multipart/mixed; boundary="000000000000f67d600590edfee0"
--000000000000f67d600590edfee0
Content-Type: multipart/alternative; boundary="000000000000f67d540590edfede"
--000000000000f67d540590edfede
Content-Type: text/plain; charset="UTF-8"; format=flowed; delsp=yes
Content-Transfer-Encoding: base64
--000000000000f67d540590edfede
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
...
----- Message truncated -----
--000000000000f67d540590edfede--
--000000000000f67d600590edfee0--
--000000000000fa38d70590edfe62--

View File

@ -0,0 +1,50 @@
Return-Path: <>
Date: Sun, 06 Apr 2008 09:38:06 +0900
MIME-Version: 1.0
Content-Type: Multipart/Mixed;
boundary="------------Boundary-00=_JFOVO7CXFVB00L32QL80"
--------------Boundary-00=_JFOVO7CXFVB00L32QL80
Content-Type: text/plain; name="deliveryproblems.txt"
--- The following addresses had delivery problems ---
<user@domain> (5.1.1 <user@domain>... User unknown)
--------------Boundary-00=_JFOVO7CXFVB00L32QL80
Content-Type: message/delivery-status; name="deliverystatus.txt"
Original-Recipient: <user@domain>
Action: failed
Diagnostic-Code: smtp; 550 5.1.1 <user@domain>... User unknown
Remote-MTA: 127.0.0.1
--------------Boundary-00=_JFOVO7CXFVB00L32QL80
Content-Type: message/rfc822
Content-Disposition: attachment
Date: Sat, 05 Apr 2008 22:50:44 +0000
MIME-Version: 1.0
Content-Type: multipart/alternative;
boundary="----=_NextPart_000_0007_01C8977E.04492826"
This is a multi-part message in MIME format.
------=_NextPart_000_0007_01C8977E.04492826
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
test
------=_NextPart_000_0007_01C8977E.04492826
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<ME
--------------Boundary-00=_JFOVO7CXFVB00L32QL80--

7
testdata/queue/domains.conf vendored Normal file
View File

@ -0,0 +1,7 @@
Domains:
mox.example: nil
Accounts:
mjl:
Domain: mox.example
Destinations:
mjl: nil

8
testdata/queue/mox.conf vendored Normal file
View File

@ -0,0 +1,8 @@
DataDir: data
LogLevel: trace
Hostname: mox.example
Listeners:
local: nil
Postmaster:
Account: mjl
Mailbox: postmaster

11
testdata/smtp/dmarcreport/domains.conf vendored Normal file
View File

@ -0,0 +1,11 @@
Domains:
mox.example:
DMARC:
Account: mjl
Localpart: mjl
Mailbox: DMARC
Accounts:
mjl:
Domain: mox.example
Destinations:
mjl: nil

8
testdata/smtp/dmarcreport/mox.conf vendored Normal file
View File

@ -0,0 +1,8 @@
DataDir: ../data
LogLevel: trace
Hostname: mox.example
Postmaster:
Account: mjl
Mailbox: postmaster
Listeners:
local: nil

15
testdata/smtp/domains.conf vendored Normal file
View File

@ -0,0 +1,15 @@
Domains:
mox.example: nil
Accounts:
mjl:
Domain: mox.example
Destinations:
mjl: nil
JunkFilter:
Threshold: 0.9
Params:
Onegrams: true
MaxPower: 0.01
TopWords: 10
IgnoreWords: 0.1
RareWords: 2

36
testdata/smtp/junk/domains.conf vendored Normal file
View File

@ -0,0 +1,36 @@
Domains:
mox.example: nil
Accounts:
mjl:
Domain: mox.example
Destinations:
mjl: nil
RejectsMailbox: Rejects
JunkFilter:
# Spamminess score between 0 and 1 above which emails are rejected as spam. E.g.
# 0.95.
Threshold: 0.95
Params:
# Track ham/spam ranking for single words. (optional)
Onegrams: false
# Track ham/spam ranking for each two consecutive words. (optional)
Twograms: true
# Track ham/spam ranking for each three consecutive words. (optional)
Threegrams: false
# Maximum power a word (combination) can have. If spaminess is 0.99, and max power
# is 0.1, spaminess of the word will be set to 0.9. Similar for ham words.
MaxPower: 0.1
# Number of most spammy/hammy to use for calculating probability. E.g. 10.
TopWords: 10
# Ignore words that are this much away from 0.5 haminess/spaminess. E.g. 0.1,
# causing word (combinations) of 0.4 to 0.6 to be ignored. (optional)
IgnoreWords: 0.1
# Occurrences in word database until a word is considered rare and its influence
# in calculating probability reduced. E.g. 1 or 2. (optional)
RareWords: 0

8
testdata/smtp/junk/mox.conf vendored Normal file
View File

@ -0,0 +1,8 @@
DataDir: ../data
LogLevel: trace
Hostname: mox.example
Postmaster:
Account: mjl
Mailbox: postmaster
Listeners:
local: nil

8
testdata/smtp/mox.conf vendored Normal file
View File

@ -0,0 +1,8 @@
DataDir: data
LogLevel: trace
Hostname: mox.example
Postmaster:
Account: mjl
Mailbox: postmaster
Listeners:
local: nil

11
testdata/smtp/tlsrpt/domains.conf vendored Normal file
View File

@ -0,0 +1,11 @@
Domains:
mox.example:
TLSRPT:
Account: mjl
Localpart: mjl
Mailbox: TLSRPT
Accounts:
mjl:
Domain: mox.example
Destinations:
mjl: nil

8
testdata/smtp/tlsrpt/mox.conf vendored Normal file
View File

@ -0,0 +1,8 @@
DataDir: ../data
LogLevel: trace
Hostname: mox.example
Postmaster:
Account: mjl
Mailbox: postmaster
Listeners:
local: nil

26
testdata/store/domains.conf vendored Normal file
View File

@ -0,0 +1,26 @@
Domains:
mox.example: nil
Accounts:
mjl:
Domain: mox.example
Destinations:
mjl:
Mailbox: Inbox
Rulesets:
-
HeadersRegexp:
subject: test
Mailbox: Test
-
HeadersRegexp:
subject: .*
Mailbox: Catchall
other:
Mailbox: Other
JunkFilter:
Threshold: 0.95
Params:
Twograms: true
MaxPower: 0.1
TopWords: 10
IgnoreWords: 0.1

8
testdata/store/mox.conf vendored Normal file
View File

@ -0,0 +1,8 @@
DataDir: data
LogLevel: trace
Hostname: mox.example
Postmaster:
Account: mjl
Mailbox: postmaster
Listeners:
local: nil

72
testdata/tlsreports/example.eml vendored Normal file
View File

@ -0,0 +1,72 @@
Return-Path: <3fkskYxoKAMUyz2p0w9-3x40-4w3-2p0z24tyrrzzrwp.nzx@smtp-tls-reporting.bounces.google.com>
Received: from mail-qk1-x746.google.com ([2607:f8b0:4864:20::746]) by
komijn.test.xmox.nl ([2a02:2770::21a:4aff:feba:bde0]) with ESMTPS for
tlsrpt@test.xmox.nl; 16 Sep 2022 12:10 +0200
Authentication-Results: komijn.test.xmox.nl; iprev=pass
policy.iprev=2607:f8b0:4864:20::746; dkim=pass header.d=google.com
header.s=20210112 header.a=rsa-sha256 header.i=@google.com; spf=pass
smtp.mailfrom=smtp-tls-reporting.bounces.google.com; dmarc=pass
header.from=google.com
Received-SPF: pass client-ip="2607:f8b0:4864:20::746";
envelope-from="3fkskYxoKAMUyz2p0w9-3x40-4w3-2p0z24tyrrzzrwp.nzx@smtp-tls-reporting.bounces.google.com";
helo=mail-qk1-x746.google.com; mechanism="include:_netblocks2.google.com"
received=komijn.test.xmox.nl; identity=mailfrom
Received: by mail-qk1-x746.google.com with SMTP id bm38-20020a05620a19a600b006ce9b8892b8so5568741qkb.17
for <tlsrpt@test.xmox.nl>; Fri, 16 Sep 2022 03:10:07 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=google.com; s=20210112;
h=to:from:subject:message-id:tls-report-submitter:tls-report-domain
:date:mime-version:from:to:cc:subject:date;
bh=8MGmH0fAJ1b33g562Ddkv2Hq5jFUkVOClPMnl04s+HQ=;
b=b9JMi7erZLJ3Gbf6D/YdpAu9VrZEkvIR32/WH2BjZBiXvBzj1+A1zAoGUJ3gKSjQKb
OZa6TkgceQohtn7ZwSwnBk3uLHBjoG7aUWtrSsSd5WwNZQqKqYaqJqDyfFqxIkMyhv/P
aBjbsGnpAGIBGkcumd0CNspCAvCo1UkMWi64ARXxIbJBy6PQHLk/wqW5fj2WBR+b3Z1X
7RT2lB2E+u95SUGkpJ6HuflETtISh1dmhTHRt3usJrfz8Y/Fp6NkTmpLMRMP4B/9Jybd
xapPfJBE2ENYm6LSUhnK/xJ4835YQhBDyP5Jb4Y9yZuycSkDpJQKCqBCMetLl7CHskgQ
FVmQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=to:from:subject:message-id:tls-report-submitter:tls-report-domain
:date:mime-version:x-gm-message-state:from:to:cc:subject:date;
bh=8MGmH0fAJ1b33g562Ddkv2Hq5jFUkVOClPMnl04s+HQ=;
b=c4Y72iT6Eq/VIUJnhYuRNrHhCJ6h711sgzIfd/tO5MipYCKF5Hpo2eFTiQx1rM+nOe
Pk3fnqf9CLz5K8uFTa+FNzMq894ukyo8WsoE+/H0ur33EK57ss9vP759BcbRvgDDWfWm
mvQcyBFvf79aXoMZ9Z1R5dTMSAvitinLLVfE/qFq3ZfrjvF2jqTQfFVSajAJykIk5LCd
Ku2FBlxmbQ3NAWFX5EDPA/Y7DCVw3007AkiKDoXMR3OTwdGRePPDrql8kNuQt9tgvbqk
Y/zcYWze5MGsJL2OcqQZgJt6Dpus982xgDWokMRB50MHKSLwuHMw1mef+49FBN6lMjOi
2ZJQ==
X-Gm-Message-State: ACrzQf3PRMcHalxi9ZvtjHm55Edve7I9fgun0B/f8Bdw76UM6qcs1RiY
hTaTyRhw5Lr6TCdh2mdEzv0bNvbGb4ttxaQ36eNlXoqzzw==
X-Google-Smtp-Source: AMsMyM6hmC0lYoFYv1MOeWf40QkJqOSOIW99MeFlaN2PWjdCDQ/BFkyJqI3G+9jsCyo610jQh86M7yNsfMFgBr97z0TdprNw6ZI4iNi9RiA=
MIME-Version: 1.0
X-Received: by 2002:a05:620a:4488:b0:6ce:8a74:8a31 with SMTP id
x8-20020a05620a448800b006ce8a748a31mr3221772qkp.468.1663323006597; Fri, 16
Sep 2022 03:10:06 -0700 (PDT)
Date: Fri, 16 Sep 2022 03:10:06 -0700
TLS-Report-Domain: test.xmox.nl
TLS-Report-Submitter: google.com
Message-ID: <000000000000f47cc505e8c8905c@google.com>
Subject: Report Domain: test.xmox.nl Submitter: google.com Report-ID: <2022.09.15T00.00.00Z+test.xmox.nl@google.com>
From: noreply-smtp-tls-reporting@google.com
To: tlsrpt@test.xmox.nl
Content-Type: multipart/report; boundary="000000000000f47cb005e8c8905b"; report-type=tlsrpt
--000000000000f47cb005e8c8905b
Content-Type: text/plain; charset="UTF-8"; format=flowed; delsp=yes
This is an aggregate TLS report from google.com
--000000000000f47cb005e8c8905b
Content-Type: application/tlsrpt+gzip;
name="google.com!test.xmox.nl!1663200000!1663286399!001.json.gz"
Content-Disposition: attachment;
filename="google.com!test.xmox.nl!1663200000!1663286399!001.json.gz"
Content-Transfer-Encoding: base64
H4sIAAAAAAAAAHVRwWrDMAz9leBzHdx0HatPu42d21NHKcZxM3exFSylpCv598npNlhZQWDp6fnp
Wb4ISI2J/tOQhyijCU5o8QLQtK54jbYUM1EbcjKZ2HDrIpBMIpkx8hO5UlUl1UrOlxul9BRbvuVi
fYdVLfRyxbEV40xYiGQsSR8PwDQM1ElqUSbXQSIfm+dmMlNaCKx6haWv7wzek0MqhwBDGVvmd9B6
6x0K/Xa5Fuf8iGsm6dxlb0j4Qz1LpMRTmS9OLiEvRRfrzfo0Z0aA2unCsdNkXa7NsDcNQ0+PD0pl
YNDFBwR/jOUfH7tf9RqC8ZFn3vgMg3wHpDz2XwHeFPYhmDTZJyDTSuytdYiHnlM+8/9Z6COLLGbf
lIPxbZ/cbV+N4278AvzNJHb7AQAA
--000000000000f47cb005e8c8905b--