Mail::MtPolicyd::Plugin::Condition3pm
Mtpolicyd plugin for conditions based on session values
Version
version 2.05
Overview
Will return an action, score or execute further plugins if the specified condition matched.
Parameters
- key (required)
-
The name of the variable to check.
Syntax is
(<scope>:)?<variable-name>If no scope is give it defaults to request.
Possible scopes are:
- session, s
-
Session variables.
- request, r
-
Request attribute variables.
Examples:
session:user_policys:user_policyrequest:queue_idr:queue_idqueue_id
At least one of the following parameters should be given or your condition will never match:
match (default: empty)
|
Simple string equal match. |
|---|---|
re_match (default: empty)
|
Match content of the session variable against an regex. |
lt_match (default: empty)
|
Match if numerical less than. |
gt_match (default: empty)
|
Match if numerical greater than. |
invert (default: 0)
|
If set to 1 the logic will be inverted. |
Finally an action must be specified.
First the score will be applied then the action will be executed or if specified additional plugins will be executed.
action (default: empty)
|
The action to return when the condition matched. |
|---|---|
score (default: empty)
|
The score to add if the condition matched. |
Plugin (default: empty)
|
Execute this plugins when the condition matched. |
EXAMPLE: use of postfix policy_context
The policy_context of postfix could be used to trigger checks in mtpolicyd.
To activate additional checks in mtpolicyd from within postfix use may use a configuration in postfix main.cf like:
# check, no additional checkscheck_policy_service inet:localhost:12345...# check with additional checks!check_policy_service { inet:localhost:12345, policy_context=strict_checks }
In mtpolicyd.conf:
<Plugin if-strict-checks>module = "Condition"key = "policy_context"match = "strict_checks"<Plugin strict-check># ...</Plugin># more checks ...</Plugin>
The policy_context feature will be available in postfix 3.1 and later.
If you need completely different checks consider using the vhost_by_policy_context (mtpolicyd) option with different virtual hosts.
EXAMPLE: execute postgrey action in postfix
If the session variable "greylisting" is "on" return the postfix action "postgrey":
<Plugin trigger-greylisting>module = "Condition"key = "greylisting"match = "on"action = "postgrey"</Plugin>
The variable may be set by a UserConfig module like SqlUserConfig.
The postgrey action in postfix may look like:
smtpd_restriction_classes = postgreypostgrey = check_policy_service inet:127.0.0.1:11023
Copyright and license
This software is Copyright (c) 2014 by Markus Benning <[email protected]>.
This is free software, licensed under:
The GNU General Public License, Version 2, June 1991
Releases
5 releases since Debian 9 (Stretch); the text changed 4 times.