Re: [AMaViS-user] adding header to mail
Replying to an old thread, with some new information: On Monday 05 October 2009 20:01:29 Stefan wrote: > > I'm using SpamAssassin with the URICountry Plugin. Now I would like to > > add a X-URI-Country: header to the scanned message. Therefore I added the > > following lines to the URICountry.pm module: > > > > # Build a string of all found countries and export it as a tag > > my $countries = ""; > > foreach my $country (keys(%countries)) { > > $countries .= uc($country) ." "; > > } > > chop $countries; > > $opts->{permsgstatus}->set_tag("URICOUNTRY", $countries); > > package Amavis::Custom; > > [...] > > sub before_send { > > my($self,$conn,$msginfo) = @_; > > my($uri_country) = $msginfo->supplementary_info('URICOUNTRY'); > > if (defined $uri_country && $uri_country ne '') { > > my($hdr_edits) = $msginfo->header_edits; > > my($all_local) = !grep { !$_->recip_is_local } > >@{$msginfo-per_recip_data}; > > $hdr_edits->add_header('X-URI-Countries', > > $uri_country) if $all_local; > > } > > }; > > > > I can use the URICOUNTRY tag with the command 'spamassassin' (e.g. in a > > template like 30_text_de.cf). But amavisd doesn't add a header because > > URICOUNTRY is empty (=""). Why doesn't amavisd see the content of > > URICOUNTRY? > The concept I like to use is the same as with the RelayCountry plugin. > I guess the problem is that the RelayCountry plugin is collecting its data > much earlier (in the sub function extract_metadata) as the URICountry > plugin. The URICountry plugin is collecting its data in the sub function > parsed_metadata. Both plugins set the tag in the parsed_metadata function. > But only the RelayCountry plugin can create an additional header (with > put_metadata) in the extract_metadata function. > > So maybe the problem is that the plugin can't create an additional header > and assign it to the tag. But on the other side is amavisd only evaluating > the tag and not the header. > > So, any ideas why amavisd can not read the content of the tag URICOUNTRY? The $msginfo->supplementary_info gets filled in a sub call_spamassassin from a list of 'interesting' tags. You need to add URICOUNTRY to that list: for my $t (qw(TESTS AUTOLEARN AUTOLEARNSCORE SC SCRULE SCTYPE LANGUAGES RELAYCOUNTRY ASN ASNCIDR DCCB DCCR DCCREP DKIMDOMAIN DKIMIDENTITY AWLSIGNERMEAN CRM114STATUS CRM114SCORE CRM114CACHEID)) { $supplementary_info{$t} = $per_msg_status->get_tag($t); } With the next release of amavisd, along with SpamAssassin 3.3.0, amavisd will be able to 'see' added header fields as prepared by SpamAssassin (through its 'add_header ... _URICOUNTRY_' config option), and insert them into the mail header section, which will eliminate the need to collect SA tags and pass them through the supplementary_info mechanism. Mark -- This SF.Net email is sponsored by the Verizon Developer Community Take advantage of Verizon's best-in-class app development support A streamlined, 14 day to market process makes app distribution fast and easy Join now and get one step closer to millions of Verizon customers http://p.sf.net/sfu/verizon-dev2dev ___ AMaViS-user mailing list AMaViS-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/amavis-user AMaViS-FAQ:http://www.amavis.org/amavis-faq.php3 AMaViS-HowTos:http://www.amavis.org/howto/
Re: [AMaViS-user] adding header to mail
Hello list, maybe I wasn't clear. So I will try to explain it again. > I'm using SpamAssassin with the URICountry Plugin. Now I would like to add > a X-URI-Country: header to the scanned message. Therefore I added the > following lines to the URICountry.pm module: > > # Build a string of all found countries and export it as a tag > my $countries = ""; > foreach my $country (keys(%countries)) { > $countries .= uc($country) ." "; > } > chop $countries; > > $opts->{permsgstatus}->set_tag ("URICOUNTRY", $countries); I put the whole plugin into the appendix. > Then I added the following lines to amavisd-custom.conf: > > package Amavis::Custom; > use strict; > > sub new { > my($class,$conn,$msginfo) = @_; > bless {}, $class; > } > > sub before_send { > my($self,$conn,$msginfo) = @_; > my($uri_country) = $msginfo->supplementary_info('URICOUNTRY'); > if (defined $uri_country && $uri_country ne '') { > my($hdr_edits) = $msginfo->header_edits; > my($all_local) = !grep { !$_->recip_is_local } @{$msginfo- > > >per_recip_data}; > > $hdr_edits->add_header('X-URI-Countries', $uri_country) if > $all_local; > } > > }; > 1; # insure a defined return > > I can use the URICOUNTRY tag with the command 'spamassassin' (e.g. in a > template like 30_text_de.cf). But amavisd doesn't add a header because > URICOUNTRY is empty (=""). Why doesn't amavisd see the content of > URICOUNTRY? The concept I like to use is the same as with the RelayCountry plugin. I guess the problem is that the RelayCountry plugin is collecting its data much earlier (in the sub function extract_metadata) as the URICountry plugin. The URICountry plugin is collecting its data in the sub function parsed_metadata. Both plugins set the tag in the parsed_metadata function. But only the RelayCountry plugin can create an additional header (with put_metadata) in the extract_metadata function. So maybe the problem is that the plugin can't create an additional header and assign it to the tag. But on the other side is amavisd only evaluating the tag and not the header. So, any ideas why amavisd can not read the content of the tag URICOUNTRY? > I use: amavisd-new 2.6.2 and SpamAssassin 3.2.5 Thanks for your help. Greetings Stefan -- Come build with us! The BlackBerry® Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9-12, 2009. Register now! http://p.sf.net/sfu/devconf___ AMaViS-user mailing list AMaViS-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/amavis-user AMaViS-FAQ:http://www.amavis.org/amavis-faq.php3 AMaViS-HowTos:http://www.amavis.org/howto/
Re: [AMaViS-user] adding header to mail
On fre 02 okt 2009 22:57:03 CEST, Michael Scheidell wrote > do this in local.cf: > add_header all Relay-Country _RELAYCOUNTRY_ this only works for spamd, not amavisd > make sure this is in init.pre: > loadplugin Mail::SpamAssassin::Plugin::RelayCountry > > use stuff like this in local.cf: > > score RELAY_COUNTRY_KR 5 > score RELAY_COUNTRY_CN 5 > score RELAY_COUNTRY_HK 5 >> Then I added the following lines to amavisd-custom.conf: keep this, here is how i do: my($rly_country) = $msginfo->supplementary_info('RELAYCOUNTRY'); if (defined $rly_country && $rly_country ne '') { my($hdr_edits) = $msginfo->header_edits; my($all_local) = !grep { !$_->recip_is_local } @{$msginfo->per_recip_data}; $hdr_edits->add_header('X-Relay-Countries', $rly_country) if $all_local; } -- xpoint -- Come build with us! The BlackBerry® Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9-12, 2009. Register now! http://p.sf.net/sfu/devconf ___ AMaViS-user mailing list AMaViS-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/amavis-user AMaViS-FAQ:http://www.amavis.org/amavis-faq.php3 AMaViS-HowTos:http://www.amavis.org/howto/
Re: [AMaViS-user] adding header to mail
Stefan wrote: > On Friday, 2. Oktober 2009 22:57:03 you wrote: > >> Stefan wrote: >> >>> Hello list, >>> >>> I'm using SpamAssassin with the URICountry Plugin. Now I would like to >>> add a X-URI-Country: header to the scanned message. Therefore I added the >>> following lines to the URICountry.pm module: >>> >> put your old uricountry.pm back. >> >> ah, idiot me... didn't look, sorry, open mouth, insert foot. _ This email has been scanned and certified safe by SpammerTrap(r). For Information please see http://www.spammertrap.com _ -- Come build with us! The BlackBerry® Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9-12, 2009. Register now! http://p.sf.net/sfu/devconf ___ AMaViS-user mailing list AMaViS-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/amavis-user AMaViS-FAQ:http://www.amavis.org/amavis-faq.php3 AMaViS-HowTos:http://www.amavis.org/howto/
Re: [AMaViS-user] adding header to mail
On Friday, 2. Oktober 2009 22:57:03 you wrote: > Stefan wrote: > > Hello list, > > > > I'm using SpamAssassin with the URICountry Plugin. Now I would like to > > add a X-URI-Country: header to the scanned message. Therefore I added the > > following lines to the URICountry.pm module: > > put your old uricountry.pm back. > > do this in local.cf: > > add_header all Relay-Country _RELAYCOUNTRY_ This will not work with amavisd-new, therefore I have to use amavisd-custom. > make sure this is in init.pre: > > loadplugin Mail::SpamAssassin::Plugin::RelayCountry > > use stuff like this in local.cf: > > score RELAY_COUNTRY_KR 5 > score RELAY_COUNTRY_CN 5 > score RELAY_COUNTRY_HK 5 You mistake RelayCountry for URICountry. See: http://wiki.apache.org/spamassassin/URICountryPlugin Greetings Stefan -- Come build with us! The BlackBerry® Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9-12, 2009. Register now! http://p.sf.net/sfu/devconf ___ AMaViS-user mailing list AMaViS-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/amavis-user AMaViS-FAQ:http://www.amavis.org/amavis-faq.php3 AMaViS-HowTos:http://www.amavis.org/howto/
Re: [AMaViS-user] adding header to mail
Stefan wrote: > Hello list, > > I'm using SpamAssassin with the URICountry Plugin. Now I would like to add a > X-URI-Country: header to the scanned message. Therefore I added the following > lines to the URICountry.pm module: > > put your old uricountry.pm back. do this in local.cf: add_header all Relay-Country _RELAYCOUNTRY_ make sure this is in init.pre: loadplugin Mail::SpamAssassin::Plugin::RelayCountry use stuff like this in local.cf: score RELAY_COUNTRY_KR 5 score RELAY_COUNTRY_CN 5 score RELAY_COUNTRY_HK 5 > # Build a string of all found countries and export it as a tag > my $countries = ""; > foreach my $country (keys(%countries)) { > $countries .= uc($country) ." "; > } > chop $countries; > > $opts->{permsgstatus}->set_tag ("URICOUNTRY", $countries); > > Then I added the following lines to amavisd-custom.conf: > > package Amavis::Custom; > use strict; > > sub new { > my($class,$conn,$msginfo) = @_; > bless {}, $class; > } > > sub before_send { > my($self,$conn,$msginfo) = @_; > my($uri_country) = $msginfo->supplementary_info('URICOUNTRY'); > if (defined $uri_country && $uri_country ne '') { > my($hdr_edits) = $msginfo->header_edits; > my($all_local) = !grep { !$_->recip_is_local } @{$msginfo- > >> per_recip_data}; >> > $hdr_edits->add_header('X-URI-Countries', $uri_country) if > $all_local; > } > > }; > 1; # insure a defined return > > I can use the URICOUNTRY tag with the command 'spamassassin' (e.g. in a > template like 30_text_de.cf). But amavisd doesn't add a header because > URICOUNTRY is empty (=""). Why doesn't amavisd see the content of URICOUNTRY? > > I use: amavisd-new 2.6.2 and SpamAssassin 3.2.5 > > Greetings > Stefan > > -- > Come build with us! The BlackBerry® Developer Conference in SF, CA > is the only developer event you need to attend this year. Jumpstart your > developing skills, take BlackBerry mobile applications to market and stay > ahead of the curve. Join us from November 9-12, 2009. Register now! > http://p.sf.net/sfu/devconf > ___ > AMaViS-user mailing list > AMaViS-user@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/amavis-user > AMaViS-FAQ:http://www.amavis.org/amavis-faq.php3 > AMaViS-HowTos:http://www.amavis.org/howto/ > _ This email has been scanned and certified safe by SpammerTrap(r). For Information please see http://www.spammertrap.com _ -- Come build with us! The BlackBerry® Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9-12, 2009. Register now! http://p.sf.net/sfu/devconf ___ AMaViS-user mailing list AMaViS-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/amavis-user AMaViS-FAQ:http://www.amavis.org/amavis-faq.php3 AMaViS-HowTos:http://www.amavis.org/howto/