----- Original Message -----
From: "wayne" <wayne(_at_)midwestcs(_dot_)com>
| The debugging in the perl M:S:Q code is off by default, so you
| shouldn't be getting anything extra unless you add a "-debug" option
| to spfquery.
|
| Could you post some of the output you are seeing/
The Call:
echo "65.167.180.251 gcirino(_at_)cirelle(_dot_)com cirelle.com" | spfquery
Output:
Mail::SPF::Query: ->new() requires a "helo" argument.
Mail::SPF::Query::new('Mail::SPF::Query', 'ipv4', 65.167.180.251,
'sender', 'gcirino(_at_)cirelle(_dot_)com', 'debug', 1, 'fallbacks', ...)
called at /usr/bin/spfquery line 90
eval {...} called at /usr/bin/spfquery line 90
| cirelle.com new: ipv4=65.167.180.251,
sender=gcirino(_at_)cirelle(_dot_)com, helo=cirelle.com
| gcirino cirelle.com localpart is gcirino
| gcirino cirelle.com DirectiveSet->new(): doing TXT query on
cirelle.com
| gcirino cirelle.com myquery: doing TXT query on cirelle.com
| gcirino cirelle.com DirectiveSet->new(): TXT query on cirelle.com
returned error=, last_dns_error=NOERROR
| gcirino cirelle.com DirectiveSet->new(): SPF policy:
redirect=cedata.com
| gcirino cirelle.com lookup: TXT redirect=cedata.com
| gcirino cirelle.com lookup: mec mechanisms=
| gcirino cirelle.com executing redirect=cedata.com
| gcirino cirelle.com clone: new object:
|| gcirino cedata.com clone: parent =
Mail::SPF::Query=HASH(0x838f17c)
|| gcirino cedata.com clone: ipv4 = 65.167.180.251
|| gcirino cedata.com clone: helo = cirelle.com
|| gcirino cedata.com clone: lookup_count = 1
|| gcirino cedata.com clone: default_explanation = Please see
http://spf.pobox.com/why.html?sender=%{S}&ip=%{I}&receiver=%{xR}
|| gcirino cedata.com clone: loop_report = ARRAY(0x83d2ad8)
|| gcirino cedata.com clone: spf_source = domain of
gcirino(_at_)cirelle(_dot_)com
|| gcirino cedata.com clone: directive_set =
DirectiveSet=HASH(0x8303648)
|| gcirino cedata.com clone: domain = cedata.com
|| gcirino cedata.com clone: trusted =
|| gcirino cedata.com clone: debug = 1
|| gcirino cedata.com clone: last_dns_error = NOERROR
|| gcirino cedata.com clone: localpart = gcirino
|| gcirino cedata.com clone: spf_error_explanation = SPF record error
|| gcirino cedata.com clone: fallbacks = ARRAY(0x81098b8)
|| gcirino cedata.com clone: depth = 1
|| gcirino cedata.com clone: orig_domain = cirelle.com
|| gcirino cedata.com clone: callerid = HASH(0x83d5e00)
|| gcirino cedata.com clone: res =
Net::DNS::Resolver=HASH(0x83d5fd4)
|| gcirino cedata.com clone: myhostname = relent.cedata.com
|| gcirino cedata.com clone: Reversed_IP = 251.180.167.65
|| gcirino cedata.com clone: sanitize = CODE(0x8339978)
|| gcirino cedata.com clone: sender =
gcirino(_at_)cirelle(_dot_)com
|| gcirino cedata.com DirectiveSet->new(): doing TXT query on cedata.com
|| gcirino cedata.com myquery: doing TXT query on cedata.com
|| gcirino cedata.com DirectiveSet->new(): TXT query on cedata.com
returned error=, last_dns_error=NOERROR
|| gcirino cedata.com DirectiveSet->new(): SPF policy: mx ptr
a:relent.cedata.com ip4:65.167.180.15 -all
|| gcirino cedata.com lookup: TXT mx ptr a:relent.cedata.com
ip4:65.167.180.15 -all
|| gcirino cedata.com lookup: TXT prefix=+, lhs=mx, rhs=
|| gcirino cedata.com lookup: TXT prefix=+, lhs=ptr, rhs=
|| gcirino cedata.com lookup: TXT prefix=+, lhs=a,
rhs=relent.cedata.com
|| gcirino cedata.com lookup: TXT prefix=+, lhs=ip4, rhs=65.167.180.15
|| gcirino cedata.com lookup: TXT prefix=-, lhs=all, rhs=
|| gcirino cedata.com lookup: mec mechanisms=+mx() +ptr()
+a(relent.cedata.com) +ip4(65.167.180.15) -all()
|| gcirino cedata.com evaluate_mechanism: +mx() for domain=cedata.com
|| gcirino cedata.com myquery: doing MX query on cedata.com
|| gcirino cedata.com myquery: doing A query on relent.cedata.com
|| gcirino cedata.com evaluate_mechanism: +mx() returned
|| gcirino cedata.com evaluate_mechanism: +ptr() for domain=cedata.com
|| gcirino cedata.com myquery: doing PTR query on
251.180.167.65.in-addr.arpa
|| gcirino cedata.com mechanism ptr: 65.167.180.251 is xadm.cedata.com
|| gcirino cedata.com mechanism ptr: checking hostname xadm.cedata.com
for legitimacy.
|| gcirino cedata.com myquery: doing A query on xadm.cedata.com
|| gcirino cedata.com mechanism ptr: hostname xadm.cedata.com ->
65.167.180.251
|| gcirino cedata.com mechanism ptr: we have a valid PTR:
65.167.180.251 PTR xadm.cedata.com A 65.167.180.251
|| gcirino cedata.com mechanism ptr: now we see if xadm.cedata.com ends
in cedata.com.
|| gcirino cedata.com mechanism ptr: 65.167.180.251 PTR xadm.cedata.com
does end in cedata.com.
|| gcirino cedata.com evaluate_mechanism: +ptr() returned hit
65.167.180.251 PTR xadm.cedata.com matches cedata.com
|| gcirino cedata.com saving result pass to cache point and returning.
|| gcirino cedata.com macro_substitute_item: S: field=S, num=,
reverse=, delim=., newval=gcirino%40cirelle.com
|| gcirino cedata.com macro_substitute_item: I: field=I, num=,
reverse=, delim=., newval=65.167.180.251
|| gcirino cedata.com macro_substitute_item: xR: field=xR, num=,
reverse=, delim=., newval=relent.cedata.com
|| gcirino cedata.com macro_substitute: Please see
http://spf.pobox.com/why.html?sender=%{S}&ip=%{I}&receiver=%{xR} -> Please see
http://spf.pobox.com/why.html?sender=gcirino%40cirelle.com&ip=65.167.180.251&receiver=relent.cedata.com
| gcirino cirelle.com executed redirect=cedata.com, got result pass
Please see
http://spf.pobox.com/why.html?sender=gcirino%40cirelle.com&ip=65.167.180.251&receiver=relent.cedata.com
65.167.180.251 PTR xadm.cedata.com matches cedata.com v=spf1 mx ptr
a:relent.cedata.com ip4:65.167.180.15 -all
65.167.180.251 gcirino(_at_)cirelle(_dot_)com pass Please see
http://spf.pobox.com/why.html?sender=gcirino%40cirelle.com&ip=65.167.180.251&receiver=relent.cedata.com:
65.167.180.251 PTR xadm.cedata.com matches cedata.com