+# Extended Mail::Audit::MAPS
+# $domain,$full,[$timeout]
+sub dnsbl
+{
+my($domain,$full,$timeout)=@_;
+
+ $timeout||=30; # sec
+ $Mail::Audit::MAPS::host=$domain;
+ my @hosts=map({ s/^.*://; "[$_]"; } # strip DNS part
+ grep({ /^([^:@]*):/ && !$alternates_host{$1}; } (Received_for())) # leave only foreign hosts
+ );
+ splice @hosts,1 if !$full && @hosts; # "&& @hosts" to prevent: WARN: splice() offset past end of array
+ {
+ package My::Audit::Faked;
+ sub received { return @{$_[0]->{"received"}}; }
+ }
+ my $self_faked={
+ "received"=>[@hosts],
+ };
+ bless $self_faked,"My::Audit::Faked";
+ return Mail::Audit::rblcheck($self_faked,$timeout);
+}
+