[Rspamd] Mime from and rcpt can now be checked by from_mime and rcpt_mime
parent
c792bbcbab
commit
e04e15ed23
|
@ -107,8 +107,8 @@ function ucl_rcpts($object, $type) {
|
||||||
settings {
|
settings {
|
||||||
watchdog {
|
watchdog {
|
||||||
priority = 10;
|
priority = 10;
|
||||||
rcpt = "/null@localhost/i";
|
rcpt_mime = "/null@localhost/i";
|
||||||
from = "/watchdog@localhost/i";
|
from_mime = "/watchdog@localhost/i";
|
||||||
apply "default" {
|
apply "default" {
|
||||||
actions {
|
actions {
|
||||||
reject = 9999.0;
|
reject = 9999.0;
|
||||||
|
@ -199,12 +199,13 @@ while ($row = array_shift($rows)) {
|
||||||
?>
|
?>
|
||||||
whitelist_<?=$username_sane;?> {
|
whitelist_<?=$username_sane;?> {
|
||||||
<?php
|
<?php
|
||||||
|
$list_items = array();
|
||||||
$stmt = $pdo->prepare("SELECT `value` FROM `filterconf`
|
$stmt = $pdo->prepare("SELECT `value` FROM `filterconf`
|
||||||
WHERE `object`= :object
|
WHERE `object`= :object
|
||||||
AND `option` = 'whitelist_from'");
|
AND `option` = 'whitelist_from'");
|
||||||
$stmt->execute(array(':object' => $row['object']));
|
$stmt->execute(array(':object' => $row['object']));
|
||||||
$list_items = $stmt->fetchAll(PDO::FETCH_ASSOC);
|
$list_items = $stmt->fetchAll(PDO::FETCH_ASSOC);
|
||||||
while ($item = array_shift($list_items)) {
|
foreach ($list_items as $item) {
|
||||||
?>
|
?>
|
||||||
from = "/<?='^' . str_replace('\*', '.*', preg_quote($item['value'], '/')) . '$' ;?>/i";
|
from = "/<?='^' . str_replace('\*', '.*', preg_quote($item['value'], '/')) . '$' ;?>/i";
|
||||||
<?php
|
<?php
|
||||||
|
@ -237,24 +238,13 @@ while ($row = array_shift($rows)) {
|
||||||
"MAILCOW_WHITE"
|
"MAILCOW_WHITE"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
whitelist_header_<?=$username_sane;?> {
|
whitelist_mime_<?=$username_sane;?> {
|
||||||
<?php
|
<?php
|
||||||
$header_from = array();
|
foreach ($list_items as $item) {
|
||||||
$stmt = $pdo->prepare("SELECT `value` FROM `filterconf`
|
|
||||||
WHERE `object`= :object
|
|
||||||
AND `option` = 'whitelist_from'");
|
|
||||||
$stmt->execute(array(':object' => $row['object']));
|
|
||||||
$list_items = $stmt->fetchAll(PDO::FETCH_ASSOC);
|
|
||||||
?>
|
?>
|
||||||
header = {
|
from_mime = "/<?='^' . str_replace('\*', '.*', preg_quote($item['value'], '/')) . '$' ;?>/i";
|
||||||
<?php
|
<?php
|
||||||
while ($item = array_shift($list_items)) {
|
|
||||||
$header_from[] = str_replace('\*', '.*', preg_quote($item['value'], '/'));
|
|
||||||
}
|
}
|
||||||
?>
|
|
||||||
"From" = "/(<?=implode('|', $header_from);?>)/i";
|
|
||||||
}
|
|
||||||
<?php
|
|
||||||
if (!filter_var(trim($row['object']), FILTER_VALIDATE_EMAIL)) {
|
if (!filter_var(trim($row['object']), FILTER_VALIDATE_EMAIL)) {
|
||||||
?>
|
?>
|
||||||
priority = 5;
|
priority = 5;
|
||||||
|
@ -297,13 +287,13 @@ while ($row = array_shift($rows)) {
|
||||||
?>
|
?>
|
||||||
blacklist_<?=$username_sane;?> {
|
blacklist_<?=$username_sane;?> {
|
||||||
<?php
|
<?php
|
||||||
$items[] = array();
|
$list_items = array();
|
||||||
$stmt = $pdo->prepare("SELECT `value` FROM `filterconf`
|
$stmt = $pdo->prepare("SELECT `value` FROM `filterconf`
|
||||||
WHERE `object`= :object
|
WHERE `object`= :object
|
||||||
AND `option` = 'blacklist_from'");
|
AND `option` = 'blacklist_from'");
|
||||||
$stmt->execute(array(':object' => $row['object']));
|
$stmt->execute(array(':object' => $row['object']));
|
||||||
$list_items = $stmt->fetchAll(PDO::FETCH_ASSOC);
|
$list_items = $stmt->fetchAll(PDO::FETCH_ASSOC);
|
||||||
while ($item = array_shift($list_items)) {
|
foreach ($list_items as $item) {
|
||||||
?>
|
?>
|
||||||
from = "/<?='^' . str_replace('\*', '.*', preg_quote($item['value'], '/')) . '$' ;?>/i";
|
from = "/<?='^' . str_replace('\*', '.*', preg_quote($item['value'], '/')) . '$' ;?>/i";
|
||||||
<?php
|
<?php
|
||||||
|
@ -338,22 +328,11 @@ while ($row = array_shift($rows)) {
|
||||||
}
|
}
|
||||||
blacklist_header_<?=$username_sane;?> {
|
blacklist_header_<?=$username_sane;?> {
|
||||||
<?php
|
<?php
|
||||||
$header_from = array();
|
foreach ($list_items as $item) {
|
||||||
$stmt = $pdo->prepare("SELECT `value` FROM `filterconf`
|
|
||||||
WHERE `object`= :object
|
|
||||||
AND `option` = 'blacklist_from'");
|
|
||||||
$stmt->execute(array(':object' => $row['object']));
|
|
||||||
$list_items = $stmt->fetchAll(PDO::FETCH_ASSOC);
|
|
||||||
?>
|
?>
|
||||||
header = {
|
from_mime = "/<?='^' . str_replace('\*', '.*', preg_quote($item['value'], '/')) . '$' ;?>/i";
|
||||||
<?php
|
<?php
|
||||||
while ($item = array_shift($list_items)) {
|
|
||||||
$header_from[] = str_replace('\*', '.*', preg_quote($item['value'], '/'));
|
|
||||||
}
|
}
|
||||||
?>
|
|
||||||
"From" = "/(<?=implode('|', $header_from);?>)/i";
|
|
||||||
}
|
|
||||||
<?php
|
|
||||||
if (!filter_var(trim($row['object']), FILTER_VALIDATE_EMAIL)) {
|
if (!filter_var(trim($row['object']), FILTER_VALIDATE_EMAIL)) {
|
||||||
?>
|
?>
|
||||||
priority = 5;
|
priority = 5;
|
||||||
|
|
Loading…
Reference in New Issue