<div dir="ltr">Hi Mark,<br><br><div><div class="gmail_extra"><div class="gmail_quote">On Tue, May 6, 2014 at 6:48 PM, Mark Martinec <span dir="ltr"><<a href="mailto:Mark.Martinec@ijs.si" target="_blank">Mark.Martinec@ijs.si</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Alex,<div class=""><br>
<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
I've migrated from an older version of amavisd to amavisd-2.8.1 on fc20 and<br>
now having a problem with a custom config that worked with the previous<br>
version.<br>
<br>
I'm trying to use the spam_level() function and it looks like it's now in<br>
the Amavis::In::Message::PerRecip package. I'm receiving the following<br>
error and unable to figure out how to provide access to this function in my<br>
custom config:<br>
<br>
Apr 17 16:37:59 mail01 amavis[3657]: (03657-03) (!)custom before_send<br>
error: Can't locate object method "spam_level" via package<br>
"Amavis::In::Message" at /etc/amavisd/amavisd-custom.<u></u>conf line 118.<br>
</blockquote>
<br></div>
Indeed, the spam_level() is now a property of a recipient because in<br>
a multi-recipient mail message with some per-recipient score contributions<br>
like penpals, each recipient may come up with somewhat different spam score.<div class=""><br>
<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
My custom config looks like this:<br>
</blockquote></div>
[...]<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
my($loc_level) = $msginfo->spam_level;<br>
</blockquote>
<br>
You need to walk through all recipients of a mail message and collect<br>
each score. As a summary value perhaps a max or a min value (or something<br>
in-between) may still be useful. Perhaps:<br>
<br>
  my($min_spam_level, $max_spam_level) =<br>
    Amavis::Util::minmax(map($_-><u></u>spam_level,<br>
                             @{$msginfo->per_recip_data}));<br></blockquote><div><br></div><div>I eventually figured out that $msginfo->per_recip_data is available, and was able to do the following:<br><br>        my $r = @{$msginfo->per_recip_data}[0];<br>
        my $score = $r->spam_level;<br><br></div><div>Does $score now not contain the value of X-Spam-Score?<br><br></div><div>It seems like I'm still missing something. I believe the latest amavisd-custom example file still includes references to using $msginfo->spam_level and not the $msginfo->per_recip_data.<br>
</div><div><br></div><div>Thanks,<br>Alex<br></div></div><br></div></div></div>