haraka 0.0.33 → 3.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.githooks/pre-commit +41 -0
- package/.prettierignore +7 -0
- package/.qlty/.gitignore +7 -0
- package/.qlty/configs/.shellcheckrc +1 -0
- package/.qlty/qlty.toml +15 -0
- package/CHANGELOG.md +1898 -0
- package/CONTRIBUTORS.md +34 -0
- package/Dockerfile +50 -0
- package/LICENSE +22 -0
- package/Plugins.md +227 -0
- package/README.md +119 -4
- package/SECURITY.md +178 -0
- package/TODO +22 -0
- package/bin/haraka +593 -0
- package/bin/haraka_grep +32 -0
- package/config/aliases +2 -0
- package/config/auth_flat_file.ini +7 -0
- package/config/auth_vpopmaild.ini +9 -0
- package/config/connection.ini +79 -0
- package/config/delay_deny.ini +7 -0
- package/config/host_list +3 -0
- package/config/host_list_regex +6 -0
- package/config/http.ini +11 -0
- package/config/lmtp.ini +7 -0
- package/config/log.ini +11 -0
- package/config/outbound.bounce_message +18 -0
- package/config/outbound.bounce_message_html +36 -0
- package/config/outbound.bounce_message_image +106 -0
- package/config/outbound.ini +24 -0
- package/config/plugins +67 -0
- package/config/smtp.ini +37 -0
- package/config/smtp_bridge.ini +4 -0
- package/config/smtp_forward.ini +31 -0
- package/config/smtp_proxy.ini +27 -0
- package/config/tarpit.timeout +1 -0
- package/config/tls.ini +83 -0
- package/config/watch.ini +12 -0
- package/config/xclient.hosts +2 -0
- package/connection.js +1865 -0
- package/contrib/Haraka.cf +6 -0
- package/contrib/Haraka.pm +35 -0
- package/contrib/bad_smtp_server.pl +25 -0
- package/contrib/bsd-rc.d/haraka +63 -0
- package/contrib/debian-init.d/haraka +87 -0
- package/contrib/haraka.init +96 -0
- package/contrib/haraka.service +23 -0
- package/contrib/plugin2npm.sh +81 -0
- package/contrib/ubuntu-upstart/haraka.conf +27 -0
- package/docs/Body.md +1 -0
- package/docs/Config.md +1 -0
- package/docs/Connection.md +153 -0
- package/docs/CoreConfig.md +96 -0
- package/docs/CustomReturnCodes.md +3 -0
- package/docs/HAProxy.md +62 -0
- package/docs/Header.md +1 -0
- package/docs/Logging.md +129 -0
- package/docs/Outbound.md +210 -0
- package/docs/Plugins.md +372 -0
- package/docs/Results.md +7 -0
- package/docs/Transaction.md +135 -0
- package/docs/Tutorial.md +183 -0
- package/docs/deprecated/access.md +3 -0
- package/docs/deprecated/backscatterer.md +9 -0
- package/docs/deprecated/connect.rdns_access.md +53 -0
- package/docs/deprecated/data.headers.md +3 -0
- package/docs/deprecated/data.nomsgid.md +7 -0
- package/docs/deprecated/data.noreceived.md +11 -0
- package/docs/deprecated/data.rfc5322_header_checks.md +11 -0
- package/docs/deprecated/dkim_sign.md +97 -0
- package/docs/deprecated/dkim_verify.md +28 -0
- package/docs/deprecated/dnsbl.md +80 -0
- package/docs/deprecated/dnswl.md +73 -0
- package/docs/deprecated/lookup_rdns.strict.md +67 -0
- package/docs/deprecated/mail_from.access.md +52 -0
- package/docs/deprecated/mail_from.blocklist.md +18 -0
- package/docs/deprecated/mail_from.nobounces.md +8 -0
- package/docs/deprecated/rcpt_to.access.md +53 -0
- package/docs/deprecated/rcpt_to.blocklist.md +18 -0
- package/docs/deprecated/rcpt_to.routes.md +3 -0
- package/docs/deprecated/rdns.regexp.md +30 -0
- package/docs/plugins/aliases.md +3 -0
- package/docs/plugins/auth/auth_bridge.md +34 -0
- package/docs/plugins/auth/auth_ldap.md +4 -0
- package/docs/plugins/auth/auth_proxy.md +36 -0
- package/docs/plugins/auth/auth_vpopmaild.md +33 -0
- package/docs/plugins/auth/flat_file.md +40 -0
- package/docs/plugins/block_me.md +18 -0
- package/docs/plugins/data.signatures.md +11 -0
- package/docs/plugins/delay_deny.md +23 -0
- package/docs/plugins/max_unrecognized_commands.md +6 -0
- package/docs/plugins/prevent_credential_leaks.md +22 -0
- package/docs/plugins/process_title.md +42 -0
- package/docs/plugins/queue/deliver.md +3 -0
- package/docs/plugins/queue/discard.md +32 -0
- package/docs/plugins/queue/lmtp.md +24 -0
- package/docs/plugins/queue/qmail-queue.md +16 -0
- package/docs/plugins/queue/quarantine.md +87 -0
- package/docs/plugins/queue/smtp_bridge.md +32 -0
- package/docs/plugins/queue/smtp_forward.md +127 -0
- package/docs/plugins/queue/smtp_proxy.md +68 -0
- package/docs/plugins/queue/test.md +7 -0
- package/docs/plugins/rcpt_to.in_host_list.md +34 -0
- package/docs/plugins/rcpt_to.max_count.md +3 -0
- package/docs/plugins/record_envelope_addresses.md +20 -0
- package/docs/plugins/relay.md +3 -0
- package/docs/plugins/reseed_rng.md +16 -0
- package/docs/plugins/status.md +41 -0
- package/docs/plugins/tarpit.md +50 -0
- package/docs/plugins/tls.md +235 -0
- package/docs/plugins/toobusy.md +27 -0
- package/docs/plugins/xclient.md +10 -0
- package/docs/tutorials/Migrating_from_v1_to_v2.md +96 -0
- package/docs/tutorials/SettingUpOutbound.md +62 -0
- package/eslint.config.mjs +2 -0
- package/haraka.js +74 -0
- package/haraka.sh +2 -0
- package/http/html/404.html +58 -0
- package/http/html/index.html +47 -0
- package/http/package.json +21 -0
- package/line_socket.js +24 -0
- package/logger.js +322 -0
- package/outbound/client_pool.js +59 -0
- package/outbound/config.js +134 -0
- package/outbound/hmail.js +1504 -0
- package/outbound/index.js +349 -0
- package/outbound/qfile.js +93 -0
- package/outbound/queue.js +399 -0
- package/outbound/tls.js +85 -0
- package/outbound/todo.js +17 -0
- package/package.json +100 -4
- package/plugins/.eslintrc.yaml +3 -0
- package/plugins/auth/auth_base.js +261 -0
- package/plugins/auth/auth_bridge.js +20 -0
- package/plugins/auth/auth_proxy.js +227 -0
- package/plugins/auth/auth_vpopmaild.js +162 -0
- package/plugins/auth/flat_file.js +44 -0
- package/plugins/block_me.js +88 -0
- package/plugins/data.signatures.js +30 -0
- package/plugins/delay_deny.js +153 -0
- package/plugins/prevent_credential_leaks.js +61 -0
- package/plugins/process_title.js +197 -0
- package/plugins/profile.js +11 -0
- package/plugins/queue/deliver.js +12 -0
- package/plugins/queue/discard.js +27 -0
- package/plugins/queue/lmtp.js +45 -0
- package/plugins/queue/qmail-queue.js +93 -0
- package/plugins/queue/quarantine.js +133 -0
- package/plugins/queue/smtp_bridge.js +45 -0
- package/plugins/queue/smtp_forward.js +371 -0
- package/plugins/queue/smtp_proxy.js +142 -0
- package/plugins/queue/test.js +15 -0
- package/plugins/rcpt_to.host_list_base.js +65 -0
- package/plugins/rcpt_to.in_host_list.js +56 -0
- package/plugins/record_envelope_addresses.js +17 -0
- package/plugins/reseed_rng.js +7 -0
- package/plugins/status.js +274 -0
- package/plugins/tarpit.js +45 -0
- package/plugins/tls.js +164 -0
- package/plugins/toobusy.js +47 -0
- package/plugins/xclient.js +124 -0
- package/plugins.js +605 -0
- package/run_tests +11 -0
- package/server.js +827 -0
- package/smtp_client.js +504 -0
- package/test/.eslintrc.yaml +11 -0
- package/test/config/auth_flat_file.ini +5 -0
- package/test/config/block_me.recipient +1 -0
- package/test/config/block_me.senders +1 -0
- package/test/config/dhparams.pem +8 -0
- package/test/config/host_list +2 -0
- package/test/config/outbound_tls_cert.pem +1 -0
- package/test/config/outbound_tls_key.pem +1 -0
- package/test/config/plugins +7 -0
- package/test/config/smtp.ini +11 -0
- package/test/config/smtp_forward.ini +30 -0
- package/test/config/tls/example.com/_.example.com.key +28 -0
- package/test/config/tls/example.com/example.com.crt +25 -0
- package/test/config/tls/haraka.local.pem +51 -0
- package/test/config/tls.ini +45 -0
- package/test/config/tls_cert.pem +21 -0
- package/test/config/tls_key.pem +28 -0
- package/test/connection.js +820 -0
- package/test/fixtures/haproxy_allowed/config/connection.ini +3 -0
- package/test/fixtures/haproxy_disabled/config/connection.ini +3 -0
- package/test/fixtures/haproxy_untrusted/config/connection.ini +3 -0
- package/test/fixtures/line_socket.js +21 -0
- package/test/fixtures/todo_qfile.txt +0 -0
- package/test/fixtures/util_hmailitem.js +156 -0
- package/test/installation/config/test-plugin-flat +1 -0
- package/test/installation/config/test-plugin.ini +10 -0
- package/test/installation/config/tls.ini +1 -0
- package/test/installation/node_modules/load_first/index.js +5 -0
- package/test/installation/node_modules/load_first/package.json +11 -0
- package/test/installation/node_modules/test-plugin/config/test-plugin-flat +1 -0
- package/test/installation/node_modules/test-plugin/config/test-plugin.ini +9 -0
- package/test/installation/node_modules/test-plugin/package.json +5 -0
- package/test/installation/node_modules/test-plugin/test-plugin.js +5 -0
- package/test/installation/plugins/base_plugin.js +3 -0
- package/test/installation/plugins/folder_plugin/index.js +3 -0
- package/test/installation/plugins/folder_plugin/package.json +11 -0
- package/test/installation/plugins/inherits.js +7 -0
- package/test/installation/plugins/load_first.js +3 -0
- package/test/installation/plugins/plugin.js +1 -0
- package/test/installation/plugins/tls.js +3 -0
- package/test/logger.js +217 -0
- package/test/loud/config/dhparams.pem +0 -0
- package/test/loud/config/tls/goobered.pem +45 -0
- package/test/loud/config/tls.ini +43 -0
- package/test/mail_specimen/base64-root-part.txt +23 -0
- package/test/mail_specimen/varied-fold-lengths-preserve-data.txt +283 -0
- package/test/outbound/bounce_net_errors.js +133 -0
- package/test/outbound/bounce_rfc3464.js +226 -0
- package/test/outbound/hmail.js +210 -0
- package/test/outbound/index.js +385 -0
- package/test/outbound/qfile.js +124 -0
- package/test/outbound/queue.js +325 -0
- package/test/plugins/auth/auth_base.js +620 -0
- package/test/plugins/auth/auth_bridge.js +80 -0
- package/test/plugins/auth/auth_vpopmaild.js +81 -0
- package/test/plugins/auth/flat_file.js +123 -0
- package/test/plugins/block_me.js +141 -0
- package/test/plugins/data.signatures.js +111 -0
- package/test/plugins/delay_deny.js +262 -0
- package/test/plugins/prevent_credential_leaks.js +174 -0
- package/test/plugins/process_title.js +141 -0
- package/test/plugins/queue/deliver.js +98 -0
- package/test/plugins/queue/discard.js +78 -0
- package/test/plugins/queue/lmtp.js +137 -0
- package/test/plugins/queue/qmail-queue.js +98 -0
- package/test/plugins/queue/quarantine.js +80 -0
- package/test/plugins/queue/smtp_bridge.js +152 -0
- package/test/plugins/queue/smtp_forward.js +1023 -0
- package/test/plugins/queue/smtp_proxy.js +138 -0
- package/test/plugins/rcpt_to.host_list_base.js +102 -0
- package/test/plugins/rcpt_to.in_host_list.js +186 -0
- package/test/plugins/record_envelope_addresses.js +66 -0
- package/test/plugins/reseed_rng.js +34 -0
- package/test/plugins/status.js +207 -0
- package/test/plugins/tarpit.js +90 -0
- package/test/plugins/tls.js +86 -0
- package/test/plugins/toobusy.js +198 -0
- package/test/plugins/xclient.js +119 -0
- package/test/plugins.js +230 -0
- package/test/queue/1507509981169_1507509981169_0_61403_e0Y0Ym_1_fixed +0 -0
- package/test/queue/1507509981169_1507509981169_0_61403_e0Y0Ym_1_haraka +0 -0
- package/test/queue/1508269674999_1508269674999_0_34002_socVUF_1_haraka +0 -0
- package/test/queue/1508455115683_1508455115683_0_90253_9Q4o4V_1_haraka +0 -0
- package/test/queue/zero-length +0 -0
- package/test/server.js +1012 -0
- package/test/smtp_client.js +1303 -0
- package/test/tls_socket.js +321 -0
- package/test/transaction.js +554 -0
- package/tls_socket.js +771 -0
- package/transaction.js +267 -0
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
;
|
|
2
|
+
[main]
|
|
3
|
+
|
|
4
|
+
; Spooling
|
|
5
|
+
; Save memory by spooling large messages to disk
|
|
6
|
+
; directory to create temporary spool files in (default: /tmp - see https://github.com/haraka/message-stream)
|
|
7
|
+
; spool_dir=/var/spool/haraka
|
|
8
|
+
; Specify -1 to never spool to disk (default)
|
|
9
|
+
; Specify 0 to always spool to disk
|
|
10
|
+
; Otherwise specify a size in bytes, once reached the
|
|
11
|
+
; message will be spooled to disk to save memory.
|
|
12
|
+
; spool_after=
|
|
13
|
+
|
|
14
|
+
; Require senders to conform to RFC 1869 and RFC 821 when sending the MAIL FROM and RCPT TO commands. In particular, the inclusion of spurious spaces or missing angle brackets will be rejected.
|
|
15
|
+
; strict_rfc1869 = false
|
|
16
|
+
|
|
17
|
+
; Liberal envelope parsing. See @haraka/email-address for what postel mode relaxes.
|
|
18
|
+
; postel = false
|
|
19
|
+
|
|
20
|
+
; Advertise support for SMTPUTF8 (RFC-6531)
|
|
21
|
+
; smtputf8=true
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
[haproxy]
|
|
25
|
+
; Bool: enable HAProxy PROXY protocol support and SMTPS pre-parsing.
|
|
26
|
+
; enabled=true
|
|
27
|
+
|
|
28
|
+
; Array: hosts or CIDRs that Haraka should enable the PROXY protocol from. See docs/HAProxy for format
|
|
29
|
+
hosts[] =
|
|
30
|
+
; hosts[] = 192.0.2.4
|
|
31
|
+
; hosts[] = 192.0.2.5
|
|
32
|
+
; hosts[] = [2001:db8::1]
|
|
33
|
+
; hosts[] = [2001:db8::2]
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
[headers]
|
|
37
|
+
; add_received=true
|
|
38
|
+
; clean_auth_results=true
|
|
39
|
+
|
|
40
|
+
; show_version=true
|
|
41
|
+
|
|
42
|
+
max_lines=1000
|
|
43
|
+
|
|
44
|
+
max_received=100
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
[max]
|
|
48
|
+
; Integer. The maximum SIZE of an email
|
|
49
|
+
bytes=26214400
|
|
50
|
+
|
|
51
|
+
; Integer. Limit a potential denial of service in potentially hostile emails.
|
|
52
|
+
mime_parts=1000
|
|
53
|
+
|
|
54
|
+
; Integer. The maximum length of lines in SMTP session commands (e.g. RCPT, HELO etc). Defaults to 512 (bytes) as mandated by RFC 5321 §4.5.3.1.4. Clients exceeding this limit will be immediately disconnected with a "521 Command line too long" error.
|
|
55
|
+
line_length=512
|
|
56
|
+
|
|
57
|
+
; Integer. The maximum length of lines in the DATA section of emails. Defaults to 992 (bytes), the limit set by Sendmail. When this limit is exceeded the three bytes "\r\n " (0x0d 0x0a 0x20) are inserted into the stream to "fix" it. This has the potential to "break" some email, but makes it more likely to be accepted by upstream/downstream services, and is the same behaviour as Sendmail. Also when the data line length limit is exceeded `transaction.notes.data_line_length_exceeded` is set to `true`.
|
|
58
|
+
data_line_length=992
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
[message]
|
|
62
|
+
; Array. The greeting used when a client connects.
|
|
63
|
+
; greeting[]=My Custom
|
|
64
|
+
; greeting[]=Greeting Message
|
|
65
|
+
|
|
66
|
+
helo=Haraka is at your service.
|
|
67
|
+
|
|
68
|
+
; String. Override the default connection close message.
|
|
69
|
+
close=closing connection. Have a jolly good day.
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
[uuid]
|
|
73
|
+
; integer, how many UUID chars to show.
|
|
74
|
+
; 0 = none, 6 is enough to be unique per day, 40 will include the
|
|
75
|
+
; full connection and transaction UUID
|
|
76
|
+
banner_chars=6
|
|
77
|
+
|
|
78
|
+
; include N characters of the uuid (in brackets) at the start of each line of the deny message
|
|
79
|
+
deny_chars=0
|
package/config/host_list
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
# Add regexes in here we want to accept mail for.
|
|
2
|
+
# Specifies the list of regexes that are local to this server. Note
|
|
3
|
+
# all these regexes are anchored with ^regex$. One can not choose not to
|
|
4
|
+
# anchor with .* and that there is a good potential for bad regexes being
|
|
5
|
+
# over permissive if we don't do this.
|
|
6
|
+
|
package/config/http.ini
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
|
|
2
|
+
; listen: the HTTP address:port(s) to listen on
|
|
3
|
+
; default: [::]:80 (port 80 on all IPv4 and IPv6 addresses)
|
|
4
|
+
; listen=[::]:80
|
|
5
|
+
|
|
6
|
+
; listen can also be a unix socket path, with an optional 3-digit permission mask
|
|
7
|
+
; e.g. listen=/path/to/some.sock or listen=/path/to/some.sock:777
|
|
8
|
+
; if no mask is specified, the default permissions are determined by the umask.
|
|
9
|
+
|
|
10
|
+
; docroot: the directory where web content is served from
|
|
11
|
+
;docroot=/usr/local/haraka/html
|
package/config/lmtp.ini
ADDED
package/config/log.ini
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
[main]
|
|
2
|
+
|
|
3
|
+
; level=data, protocol, debug, info, notice, warn, error, crit, alert, emerg
|
|
4
|
+
level=info
|
|
5
|
+
|
|
6
|
+
; prepend timestamps to log entries? This setting does NOT affect logs emitted
|
|
7
|
+
; by logging plugins (like syslog).
|
|
8
|
+
timestamps=false
|
|
9
|
+
|
|
10
|
+
; format=default, logfmt, json
|
|
11
|
+
format=default
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
Received: (Haraka {pid} invoked for bounce); {date}
|
|
2
|
+
Date: {date}
|
|
3
|
+
From: MAILER-DAEMON@{me}
|
|
4
|
+
To: {to}
|
|
5
|
+
Auto-Submitted: auto-replied
|
|
6
|
+
Subject: failure notice
|
|
7
|
+
Message-Id: {msgid}
|
|
8
|
+
|
|
9
|
+
Hi. This is the Haraka Mailer program at {me}.
|
|
10
|
+
I'm afraid I wasn't able to deliver your message
|
|
11
|
+
"{subject}"
|
|
12
|
+
to the following addresses.
|
|
13
|
+
This is a permanent error; I've given up. Sorry it didn't work out.
|
|
14
|
+
|
|
15
|
+
Intended Recipients: {recipients}
|
|
16
|
+
Failure Reason: {reason}
|
|
17
|
+
|
|
18
|
+
{extended_reason}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
<html>
|
|
2
|
+
<head>
|
|
3
|
+
<style>
|
|
4
|
+
* {
|
|
5
|
+
font-family:Roboto, "Helvetica Neue", Helvetica, Arial, sans-serif;
|
|
6
|
+
}
|
|
7
|
+
</style>
|
|
8
|
+
</head>
|
|
9
|
+
<body>
|
|
10
|
+
<table cellpadding="0" cellspacing="0" class="email-wrapper" style="padding-top:32px;background-color:#ffffff;"><tbody>
|
|
11
|
+
<tr><td>
|
|
12
|
+
<table cellpadding=0 cellspacing=0><tbody>
|
|
13
|
+
<tr><td style="max-width:560px;padding:24px 24px 32px;background-color:#fafafa;border:1px solid #e0e0e0;border-radius:2px">
|
|
14
|
+
<img style="padding:0 24px 16px 0;float:left" width=72 height=72 alt="Foutpictogram" src="cid:icon.png">
|
|
15
|
+
<table style="min-width:272px;padding-top:8px"><tbody>
|
|
16
|
+
<tr><td><h2 style="font-size:20px;color:#212121;font-weight:bold;margin:0">
|
|
17
|
+
Message not delivered
|
|
18
|
+
</h2></td></tr>
|
|
19
|
+
<tr><td style="padding-top:20px;color:#757575;font-size:16px;font-weight:normal;text-align:left">
|
|
20
|
+
A problem has occurred when trying to deliver your mail to <a style='color:#212121;text-decoration:none'><b>{recipients}</b></a> . Look below for the technical details.
|
|
21
|
+
</td></tr>
|
|
22
|
+
</tbody></table>
|
|
23
|
+
</td></tr>
|
|
24
|
+
</tbody></table>
|
|
25
|
+
</td></tr>
|
|
26
|
+
<tr style="border:none;background-color:#fff;font-size:12.8px;width:90%">
|
|
27
|
+
<td align="left" style="padding:48px 10px">
|
|
28
|
+
Reaction of the server: <br/>
|
|
29
|
+
<p style="font-family:monospace">
|
|
30
|
+
{reason}
|
|
31
|
+
</p>
|
|
32
|
+
</td>
|
|
33
|
+
</tr>
|
|
34
|
+
</tbody></table>
|
|
35
|
+
</body>
|
|
36
|
+
</html>
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
Content-Type: image/png; name="icon.png"
|
|
2
|
+
Content-Disposition: attachment; filename="icon.png"
|
|
3
|
+
Content-Transfer-Encoding: base64
|
|
4
|
+
Content-ID: <icon.png>
|
|
5
|
+
|
|
6
|
+
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
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
; see http://haraka.github.io/core/Outbound
|
|
2
|
+
;
|
|
3
|
+
; disabled (default: false)
|
|
4
|
+
; disabled=true
|
|
5
|
+
|
|
6
|
+
; concurrency_max (default: 100)
|
|
7
|
+
; concurrency_max=100
|
|
8
|
+
|
|
9
|
+
; uncomment to disable tls for outbound mail
|
|
10
|
+
; enable_tls=false
|
|
11
|
+
|
|
12
|
+
; maxTempFailures (default: 13)
|
|
13
|
+
|
|
14
|
+
; load_pid_queue
|
|
15
|
+
; flush_queue
|
|
16
|
+
|
|
17
|
+
; always_split: default: false
|
|
18
|
+
; always_split=true
|
|
19
|
+
|
|
20
|
+
; received_header (default: "Haraka outbound")
|
|
21
|
+
; received_header=Haraka outbound
|
|
22
|
+
|
|
23
|
+
; inet_prefer (default: default)
|
|
24
|
+
; inet_prefer=v4
|
package/config/plugins
ADDED
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# This file lists plugins that Haraka will run
|
|
2
|
+
#
|
|
3
|
+
# Plugin ordering often matters, run 'haraka -o -c /path/to/haraka/config'
|
|
4
|
+
# to see the order plugins (and their hooks) will run.
|
|
5
|
+
#
|
|
6
|
+
# To see a list of installed plugins, run 'haraka -l'
|
|
7
|
+
#
|
|
8
|
+
# The plugin registry: https://github.com/haraka/Haraka/blob/master/Plugins.md
|
|
9
|
+
#
|
|
10
|
+
# To see the docs for a plugin, run 'haraka -h plugin.name'
|
|
11
|
+
|
|
12
|
+
# status
|
|
13
|
+
# process_title
|
|
14
|
+
# syslog
|
|
15
|
+
|
|
16
|
+
# CONNECT
|
|
17
|
+
# ----------
|
|
18
|
+
# toobusy
|
|
19
|
+
# karma
|
|
20
|
+
# relay
|
|
21
|
+
# access
|
|
22
|
+
# geoip
|
|
23
|
+
# asn
|
|
24
|
+
# fcrdns
|
|
25
|
+
# dns-list
|
|
26
|
+
|
|
27
|
+
# HELO
|
|
28
|
+
# ----------
|
|
29
|
+
# early_talker
|
|
30
|
+
# helo.checks
|
|
31
|
+
# see 'haraka -h tls' before enabling!
|
|
32
|
+
# tls
|
|
33
|
+
#
|
|
34
|
+
# AUTH plugins require TLS before AUTH is advertised, see
|
|
35
|
+
# https://github.com/haraka/Haraka/wiki/Require-SSL-TLS
|
|
36
|
+
# ----------
|
|
37
|
+
# auth/flat_file
|
|
38
|
+
# auth/auth_proxy
|
|
39
|
+
|
|
40
|
+
# MAIL FROM
|
|
41
|
+
# ----------
|
|
42
|
+
mail_from.is_resolvable
|
|
43
|
+
# spf
|
|
44
|
+
|
|
45
|
+
# RCPT TO
|
|
46
|
+
# ----------
|
|
47
|
+
# At least one rcpt_to plugin is REQUIRED for inbound email.
|
|
48
|
+
rcpt_to.in_host_list
|
|
49
|
+
# qmail-deliverable
|
|
50
|
+
|
|
51
|
+
# DATA
|
|
52
|
+
# ----------
|
|
53
|
+
# attachment
|
|
54
|
+
# bounce
|
|
55
|
+
# clamd
|
|
56
|
+
# dkim
|
|
57
|
+
# headers
|
|
58
|
+
# limit
|
|
59
|
+
# rspamd
|
|
60
|
+
# spamassassin
|
|
61
|
+
# uribl
|
|
62
|
+
|
|
63
|
+
# QUEUE
|
|
64
|
+
# ----------
|
|
65
|
+
# queues: discard qmail-queue quarantine smtp_forward smtp_proxy
|
|
66
|
+
# Queue mail via smtp - see config/smtp_forward.ini for where your mail goes
|
|
67
|
+
queue/smtp_forward
|
package/config/smtp.ini
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
; address to listen on (default: all IPv6 and IPv4 addresses, port 25)
|
|
2
|
+
; use "[::0]:25" to listen on IPv6 and IPv4 (not all OSes)
|
|
3
|
+
;listen=[::0]:25
|
|
4
|
+
|
|
5
|
+
; Note you can listen on multiple IPs/ports using commas:
|
|
6
|
+
;listen=127.0.0.1:2529,127.0.0.2:2529,127.0.0.3:2530
|
|
7
|
+
|
|
8
|
+
; public IP address (default: none)
|
|
9
|
+
; If your machine is behind a NAT, some plugins (SPF, GeoIP) gain features
|
|
10
|
+
; if they know the servers public IP. If 'stun' is installed, Haraka will
|
|
11
|
+
; try to figure it out. If that doesn't work, set it here.
|
|
12
|
+
;public_ip=N.N.N.N
|
|
13
|
+
|
|
14
|
+
; Time in seconds to let sockets be idle with no activity
|
|
15
|
+
;inactivity_timeout=300
|
|
16
|
+
|
|
17
|
+
; Drop privileges to this user/group
|
|
18
|
+
;user=smtp
|
|
19
|
+
;group=smtp
|
|
20
|
+
|
|
21
|
+
; Don't stop Haraka if plugins fail to compile
|
|
22
|
+
;ignore_bad_plugins=0
|
|
23
|
+
|
|
24
|
+
; Run using cluster to fork multiple backend processes
|
|
25
|
+
; Ref: https://github.com/haraka/Haraka/wiki/Performance-Tuning
|
|
26
|
+
;nodes=cpus
|
|
27
|
+
|
|
28
|
+
; Daemonize
|
|
29
|
+
;daemonize=true
|
|
30
|
+
;daemon_log_file=/var/log/haraka.log
|
|
31
|
+
;daemon_pid_file=/var/run/haraka.pid
|
|
32
|
+
|
|
33
|
+
; Force Shutdown Timeout
|
|
34
|
+
; - Haraka tries to close down gracefully, but if everything is shut down
|
|
35
|
+
; after this time it will hard close. 30s is usually long enough to
|
|
36
|
+
; wait for outbound connections to finish.
|
|
37
|
+
;force_shutdown_timeout=30
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
; host to connect to
|
|
2
|
+
host=localhost
|
|
3
|
+
;
|
|
4
|
+
; port to connect to
|
|
5
|
+
port=2555
|
|
6
|
+
;
|
|
7
|
+
; uncomment to enable TLS to the backend SMTP server
|
|
8
|
+
;enable_tls=true
|
|
9
|
+
;
|
|
10
|
+
; for messages that have multiple RCPT, send a separate message for each RCPT
|
|
11
|
+
; when forwarding.
|
|
12
|
+
;one_message_per_rcpt=true
|
|
13
|
+
;
|
|
14
|
+
; uncomment to use smtp client authorization
|
|
15
|
+
;auth_type=plain
|
|
16
|
+
;auth_user=
|
|
17
|
+
;auth_pass=
|
|
18
|
+
|
|
19
|
+
; should outbound messages be delivered by smtp_forward?
|
|
20
|
+
; see #1472 and #2795
|
|
21
|
+
; enable_outbound=false
|
|
22
|
+
|
|
23
|
+
; Options here override the same option in tls.ini [main]
|
|
24
|
+
[tls]
|
|
25
|
+
; rejectUnauthorized=true
|
|
26
|
+
; minVersion=TLSv1.2
|
|
27
|
+
; ciphers=ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256
|
|
28
|
+
; key=outbound_tls_key.pem
|
|
29
|
+
; cert=outbound_tls_cert.pem
|
|
30
|
+
; no_tls_hosts[]=10.0.0.5
|
|
31
|
+
; force_tls_hosts[]=mx.example.com
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
; host to connect to
|
|
2
|
+
host=localhost
|
|
3
|
+
;
|
|
4
|
+
; port to connect to
|
|
5
|
+
port=2555
|
|
6
|
+
;
|
|
7
|
+
; uncomment to enable TLS to the backend SMTP server
|
|
8
|
+
; enable_tls=1
|
|
9
|
+
;
|
|
10
|
+
; uncomment to use smtp client authorization
|
|
11
|
+
;auth_type=plain
|
|
12
|
+
;auth_user=
|
|
13
|
+
;auth_pass=
|
|
14
|
+
|
|
15
|
+
; should outbound messages be delivered by smtp_proxy?
|
|
16
|
+
; see https://github.com/haraka/Haraka/issues/1472
|
|
17
|
+
; enable_outbound=true
|
|
18
|
+
|
|
19
|
+
; Options here override the same option in tls.ini [main]
|
|
20
|
+
[tls]
|
|
21
|
+
; rejectUnauthorized=true
|
|
22
|
+
; minVersion=TLSv1.2
|
|
23
|
+
; ciphers=ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256
|
|
24
|
+
; key=outbound_tls_key.pem
|
|
25
|
+
; cert=outbound_tls_cert.pem
|
|
26
|
+
; no_tls_hosts[]=10.0.0.5
|
|
27
|
+
; force_tls_hosts[]=mx.example.com
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
0
|
package/config/tls.ini
ADDED
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
; See 'haraka -h tls'
|
|
2
|
+
|
|
3
|
+
; key=tls_key.pem
|
|
4
|
+
; cert=tls_cert.pem
|
|
5
|
+
; dhparam=dhparams.pem
|
|
6
|
+
|
|
7
|
+
; ciphers: a list of permitted ciphers
|
|
8
|
+
; The default cipher list is provided by node.js and is considered secure at
|
|
9
|
+
; the time of that versions release. If you have problems with the default cipher
|
|
10
|
+
; list, try enabling this "kinda high but more compatible" setting.
|
|
11
|
+
; ciphers=ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4
|
|
12
|
+
|
|
13
|
+
; minimum TLS version (node.js 11.4+ required)
|
|
14
|
+
; Allowed values are 'TLSv1.3', 'TLSv1.2', 'TLSv1.1', or 'TLSv1'
|
|
15
|
+
; The default value is node.js's tls.DEFAULT_MIN_VERSION
|
|
16
|
+
; minVersion=TLSv1
|
|
17
|
+
|
|
18
|
+
; honorCipherOrder=true
|
|
19
|
+
; rejectUnauthorized=false
|
|
20
|
+
; requestCert=true
|
|
21
|
+
; requestOCSP=false
|
|
22
|
+
|
|
23
|
+
; rejectUnauthorized above requires verified TLS certs on EVERY TLS connection. When
|
|
24
|
+
; rejectUnauthorized=false (default), you can require verified TLS certs on only the
|
|
25
|
+
; ports you specify.
|
|
26
|
+
; requireAuthorized[]=465
|
|
27
|
+
; requireAuthorized[]=587
|
|
28
|
+
|
|
29
|
+
; send client certificate(s). If you use this setting and value it, report
|
|
30
|
+
; your use case at https://github.com/haraka/Haraka/issues/2693
|
|
31
|
+
; mutual_tls=false
|
|
32
|
+
|
|
33
|
+
; haraka will not advertise STARTTLS on these ports it is listening on
|
|
34
|
+
; no_starttls_ports[]=2525
|
|
35
|
+
|
|
36
|
+
[redis]
|
|
37
|
+
; options in this block require redis to be enabled in config/plugins.
|
|
38
|
+
|
|
39
|
+
; Remember when a remote fails STARTTLS, the next time they/we connect,
|
|
40
|
+
; don't offer/use STARTTLS option (so message gets delivered).
|
|
41
|
+
; pro: increases mail reliability
|
|
42
|
+
; con: reduces security
|
|
43
|
+
; outbound only warning: **you must restart haraka** after changing this option
|
|
44
|
+
; default: false
|
|
45
|
+
; disable_for_failed_hosts=true
|
|
46
|
+
|
|
47
|
+
; The following section applies to outbound only:
|
|
48
|
+
; host = 127.0.0.1
|
|
49
|
+
; "TLS NO-GO" db
|
|
50
|
+
; db = 3
|
|
51
|
+
; TLS NO-GO Expiry time in seconds
|
|
52
|
+
; disable_expiry = 604800
|
|
53
|
+
|
|
54
|
+
; TLS NO-GO Inbound expiry time in seconds
|
|
55
|
+
; disable_inbound_expiry = 3600
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
; no_tls_hosts - disable TLS for servers with broken TLS. (applies to inbound only)
|
|
59
|
+
[no_tls_hosts]
|
|
60
|
+
; 127.0.0.1
|
|
61
|
+
; 192.168.1.1
|
|
62
|
+
; 172.16.0.0/16
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
; hosts that require us to present a cert signed by a CA we both trust
|
|
66
|
+
[mutual_auth_hosts]
|
|
67
|
+
;travel.state.gov ; use default TLS cert
|
|
68
|
+
;xo.huggable.gov=special.my-tld.com ; specify cert by CN
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
; these hosts request mutual TLS and reject our TLS certificate
|
|
72
|
+
[mutual_auth_hosts_exclude]
|
|
73
|
+
;bofh.no-such-agency.gov
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
[outbound]
|
|
77
|
+
; key=tls_key.pem
|
|
78
|
+
; cert=tls_cert.pem
|
|
79
|
+
; dhparam=dhparams.pem
|
|
80
|
+
; no_tls_hosts[]=127.0.0.1
|
|
81
|
+
; no_tls_hosts[]=192.168.1.1
|
|
82
|
+
|
|
83
|
+
; and other options from [main] section above
|
package/config/watch.ini
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
; watch - a web interface for viewing Haraka activity
|
|
2
|
+
|
|
3
|
+
; Sampling:Limit display to 1 connection per second (Default: false)
|
|
4
|
+
; sampling=false
|
|
5
|
+
|
|
6
|
+
[wss]
|
|
7
|
+
; url (Default: same URL as HTTP client used)
|
|
8
|
+
; The WebSocket client will attempt to connect via the same URI (changing only
|
|
9
|
+
; the scheme) as the initial HTTP connection. WSS is stricter than typical
|
|
10
|
+
; HTTP so the scheme and hostname *must* match else it silently fails.
|
|
11
|
+
;
|
|
12
|
+
; url=wss://mail.example.com/
|