Можно еще так:
if ctx.to.search(whitelist) then return {action = 'accept'} end
Отправлено 25 Апрель 2019 - 11:05
Можно еще так:
if ctx.to.search(whitelist) then return {action = 'accept'} end
Отправлено 25 Апрель 2019 - 11:42
не пойму причем здесь настройка постфикса и антиспам? Если письмо режет антиспам дрвеба как на него повлиять постфиксом?
Чтобы изначально не принимать всякий спам _ttps://www.linuxbabe.com/mail-server/block-email-spam-postfix
При таких настройках, проблема со спамом практически отпадает и не нужно будет сложные конструкции на lua городить.
Мой кусок конфига:
virtual_alias_maps = hash:/etc/postfix/virtual message_size_limit = 15728640 mailbox_size_limit = 314572800 smtpd_sasl_type = dovecot smtpd_sasl_path = private/auth smtpd_sasl_auth_enable = yes smtpd_sasl_security_options = noanonymous smtpd_sasl_local_domain = $myhostname smtpd_recipient_restrictions = check_sender_access texthash:/etc/postfix/restricted_senders,permit_mynetworks,check_client_access cidr:/etc/postfix/mx_access,permit_auth_destination,permit_sasl_aut henticated,reject smtpd_restriction_classes = local_only local_only = check_recipient_access texthash:/etc/postfix/local_domains, reject smtpd_sender_restrictions = hash:/etc/postfix/access smtpd_client_restrictions = check_client_access texthash:/etc/postfix/client_access,reject_unknown_reverse_client_hostname smtpd_helo_restrictions = reject_non_fqdn_helo_hostname smtpd_helo_required = yes smtpd_milters = inet:127.0.0.1:3001 masquerade_domains = mydomain
Отправлено 25 Апрель 2019 - 12:21
не пойму причем здесь настройка постфикса и антиспам? Если письмо режет антиспам дрвеба как на него повлиять постфиксом?
Чтобы изначально не принимать всякий спам _ttps://www.linuxbabe.com/mail-server/block-email-spam-postfix
При таких настройках, проблема со спамом практически отпадает и не нужно будет сложные конструкции на lua городить.
Мой кусок конфига:
virtual_alias_maps = hash:/etc/postfix/virtual message_size_limit = 15728640 mailbox_size_limit = 314572800 smtpd_sasl_type = dovecot smtpd_sasl_path = private/auth smtpd_sasl_auth_enable = yes smtpd_sasl_security_options = noanonymous smtpd_sasl_local_domain = $myhostname smtpd_recipient_restrictions = check_sender_access texthash:/etc/postfix/restricted_senders,permit_mynetworks,check_client_access cidr:/etc/postfix/mx_access,permit_auth_destination,permit_sasl_aut henticated,reject smtpd_restriction_classes = local_only local_only = check_recipient_access texthash:/etc/postfix/local_domains, reject smtpd_sender_restrictions = hash:/etc/postfix/access smtpd_client_restrictions = check_client_access texthash:/etc/postfix/client_access,reject_unknown_reverse_client_hostname smtpd_helo_restrictions = reject_non_fqdn_helo_hostname smtpd_helo_required = yes smtpd_milters = inet:127.0.0.1:3001 masquerade_domains = mydomain
Тоесть исходя из Вашего ответа при применении вышеописанных настроек (а они у меня сделаны) СПАМ вообще не будет приходить? Так я понимаю Ваш ответ? Тоесть антиспам от стороннего производителя вообще нет смысла ставить?
Можно еще так:
if ctx.to.search(whitelist) then return {action = 'accept'} end
Спасибо!
Отправлено 25 Апрель 2019 - 13:23
Да, спам практически не проходит. Одно письмо в день, не больше. От стороннего смысла нет, так как есть spamassassin.Тоесть исходя из Вашего ответа при применении вышеописанных настроек (а они у меня сделаны) СПАМ вообще не будет приходить? Так я понимаю Ваш ответ? Тоесть антиспам от стороннего производителя вообще нет смысла ставить?
Отправлено 25 Апрель 2019 - 16:43
Тоесть исходя из Вашего ответа при применении вышеописанных настроек (а они у меня сделаны) СПАМ вообще не будет приходить? Так я понимаю Ваш ответ? Тоесть антиспам от стороннего производителя вообще нет смысла ставить?
Да, спам практически не проходит. Одно письмо в день, не больше. От стороннего смысла нет, так как есть spamassassin.
Позволю себе не согласиться, объем спама во многом зависит от рода деятельности компании и кол-ва пользователей. У меня стандартные настройки убирают только порядка 60 процентов спама, а вот в комплексе с ДРВЕБОМ примерно 95 процентов.
Сообщение было изменено radionuk2: 25 Апрель 2019 - 16:44
Отправлено 06 Май 2019 - 18:00
Всем привет!
Попытался сделать, подмену адреса получателя на адрес spam. Ну что бы письма, которые набирали определенное количество балов и вероятнее всего являлись спамом не отправлялись получателю, а заворачивались на ящик spam из которого позже, если что можно их вытащить.
Делал так:
return {action='accept', deleted_recipients=ctx.to, added_recipients={'spam@company.ru'}}
Но в итоге, получателю тоже приходит письмо.
Отправлено 07 Май 2019 - 18:52
И еще вопрос, можно ли как-то в лог писать не только отправителя, но и получателя?
Я так понимаю, что из-за того, что ctx.to является массивом, его так просто не запихать. Может есть еще какой-то вариант?
Отправлено 07 Май 2019 - 19:08
В лог-то Вы вольны писать что вздумается.
Хоть tostring(ctx.to), хоть что-либо в духе
for _, i in pairs(ctx.to) do str = str .. (#str and ", " or "") .. i done
Отправлено 08 Май 2019 - 16:31
Хоть tostring(ctx.to), хоть что-либо в духе
Попробовал так, получил
str = tostring(ctx.to) if regex.search(whitelist, ctx.from, regex.ignore_case) then dw.notice("'" .. ctx.from .. "'" .. str .. " is IN whitelist" ) return {action='accept'} end 2019-May-08 16:27:17 [20881] Notice: Milter client 897a-3716-2151: Lua: '123456789@yandex.ru'table: 0x5631a5d6bb90 is IN whitelist
p.s. ссори не силен в LUA совсем(
Отправлено 08 Май 2019 - 17:04
Хм, значит tostring только ссылку на таблицу пишет, этого я не помню. Тогда остаётся второй вариант с ручным форматированием таблицы.
Отправлено 08 Май 2019 - 18:33
Есть встроенная функция, которая умеет конкатенировать строковые значения из таблицы. Сейчас не могу проверить, но это должно работать:
dw.notice('Recipients: ' .. table.concat(ctx.to, ', '))
Отправлено 08 Май 2019 - 18:37
Точно, эту я проглядел. На вид всё верно.
Отправлено 13 Май 2019 - 10:38
Есть встроенная функция, которая умеет конкатенировать строковые значения из таблицы. Сейчас не могу проверить, но это должно работать:
dw.notice('Recipients: ' .. table.concat(ctx.to, ', '))
Спасибо! Сработало!
А откуда вы берете эту информацию? В документации что-то не нашел ничего( Или это чисто синтаксис LUA?
И еще вопрос, а как-то можно добавлять или отнимать балы у писем, есть ли такая функция?
Отправлено 13 Май 2019 - 11:12
А откуда вы берете эту информацию? В документации что-то не нашел ничего( Или это чисто синтаксис LUA?
Вот конкретно про table.concat.
Отправлено 13 Май 2019 - 11:17
Это библиотека, поставляемая вместе с Lua, подробнее можно ознакомиться тут (либо в оригинале тут).
Баллами, которые доступны в таблице Spam (ctx.message.spam.score и ctx.message.spam.normalized_score), управлять из Lua нельзя. В бете есть возможность управлять баллами с помощью флагов компонента drweb-ase.
Главное то, что вы сами можете решать как поступать с баллами из отчета о проверке на спам. Для этого и есть Lua.
Отправлено 13 Май 2019 - 13:38
баллы это просто число. Их можно копить и суммировать в отдельной переменной и решения принимать уже по суммированному.
telegram: @bsavelev
Отправлено 09 Январь 2020 - 18:24
Приветствую.
Столкнулись со следующей проблемой. Не можем принять почту со следующим диагнозом.
Deferred: host ip.ip.ip.ip[ip.ip.ip.ip] said: 451 4.7.1 Service unavailable - try again later (in reply to end of DATA command)
Это так себя ведет milter.
Установленный пакет - drweb-maild-11.1.5-1911070858linux.x86_64
Через него спотыкаются письма с длинными адресами. Вот пример ошибки из лога maild.
Отправлено 09 Январь 2020 - 18:36
Скорее всего ругается на эту регулярку:
(.*\.)*ibm\.com
Я бы попробовал переписать её как-нибудь так:
@([a-z0-9-]+\.)*ibm\.com$
Не проверял, ничего не гарантирую.
0 пользователей, 1 гостей, 0 скрытых