Files
Stalwart/tests/resources/smtp/config/rules-eval.toml
2024-01-18 18:18:32 +01:00

35 lines
1.6 KiB
TOML

[envelope]
rcpt-domain = "example.org"
rcpt = "user@example.org"
sender-domain = "foo.net"
sender = "bill@foo.net"
local-ip = "192.168.9.3"
remote-ip = "A:B:C::D:E"
mx = "mx.somedomain.com"
authenticated-as = "john@foobar.org"
priority = -4
listener = "smtp"
helo-domain = "hi-domain.net"
[rule]
"eq-true" = "rcpt_domain = 'example.org'"
"eq-false" = "rcpt_domain = 'example.com'"
"listener-eq-true" = "listener = 'smtp'"
"listener-eq-false" = "listener = 'smtps'"
"ip-eq-true" = "local_ip = '192.168.9.3'"
"ip-eq-false" = "remote_ip = 'A:B:C::D:E'"
"ne-true" = "!is_empty(authenticated_as)"
"ne-false" = "authenticated_as != 'john@foobar.org'"
"starts-with-true" = "starts_with(mx, 'mx.some')"
"starts-with-false" = "starts_with(mx, 'enchilada')"
"ends-with-true" = "ends_with(sender, '@foo.net')"
"ends-with-false" = "ends_with(sender, 'chimichanga')"
"regex-true" = "matches('^(.+)@(.+)$', sender)"
"regex-false" = "matches('/^\\S+@\\S+\\.\\S+$/', mx)"
"any-of-true" = "authenticated_as != 'john@foobar.org' | rcpt_domain = 'example.org' | starts_with(mx, 'mx.some')"
"any-of-false" = "authenticated_as = 'something else' | rcpt_domain = 'something else' | starts_with(mx, 'something else')"
"all-of-true" = "rcpt_domain = 'example.org' & listener = 'smtp' & starts_with(mx, 'mx.some')"
"all-of-false" = "rcpt_domain = 'example.org' & listener = 'smtp' & starts_with(mx, 'something else')"
"none-of-true" = "!(authenticated_as = 'something else' | rcpt_domain = 'something else' | starts_with(mx, 'something else'))"
"none-of-false" = "!(rcpt_domain = 'example.org' | listener = 'smtp' | starts_with(mx, 'mx.some'))"