rspamd 动态 add_header

可以通过lua script 进行add_header的操作

下面是在 https://github.com/vstakhov/rspamd/issues/893 直接拿来用的,仅做记录

rspamd_config:register_symbol({
  name = 'RMILTER_HEADERS',
  type = 'postfilter',
  callback = function(task)
    local metric_score = task:get_metric_score('default')
    local score = metric_score[1]
    local required_score = metric_score[2]
    -- X-Spamd-Bar & X-Spam-Level
    local spambar
    local spamlevel = ''
    if score < 0 then
      spambar = string.rep('-', score*-1)
    elseif score > 0 then
      spambar = string.rep('+', score*1)
      spamlevel = string.rep('*', score*1)
    else
      spambar = '/'
    end
    -- X-Spam-Status
    local is_spam
    local spamstatus
    local action = task:get_metric_action('default')
    if action ~= 'no action' and action ~= 'greylist' then
      is_spam = 'Yes'
    else
      is_spam = 'No'
    end
    spamstatus = is_spam .. ', score=' .. string.format('%.2f', score)
    -- X-Spam-Score & X-Spam-Flag
    local spamscore = string.format('%.2f', score)
    local spamflag = is_spam
    -- Add headers
    task:set_rmilter_reply({
      add_headers = {
        ['X-Spamd-Bar'] = spambar,
        ['X-Spam-Level'] = spamlevel,
        ['X-Spam-Status'] = spamstatus,
        ['X-Spam-Score'] = spamscore,
        ['X-Spam-Flag'] = spamflag
      },
      remove_headers = {
        ['X-Spamd-Bar'] = 1,
        ['X-Spam-Level'] = 1,
        ['X-Spam-Status'] = 1,
        ['X-Spam-Score'] = 1,
        ['X-Spam-Flag'] = 1
      }
    })
  end
})

转载于:https://my.oschina.net/hxily/blog/830324

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值