Found an interesting header when doing some tests with mail filtering:
Received: from qb-out-1314.google.com ([172.21.30.5]) by mx.google.com with ESMTP id k29si2692710qba.7.2008.09.06.14.48.05; Sat, 06 Sep 2008 14:48:06 -0700 (PDT) Received-SPF: softfail (google.com: domain of transitioning email@example.com does not designate 172.21.30.5 as permitted sender) client-ip=172.21.30.5; Authentication-Results: mx.google.com; spf=softfail (google.com: domain of transitioning firstname.lastname@example.org does not designate 172.21.30.5 as permitted sender) email@example.com Received: by qb-out-1314.google.com with SMTP id d5so1543676qbd.6 for <firstname.lastname@example.org>; Sat, 06 Sep 2008 14:48:04 -0700 (PDT)
See the problem? Look closely. In particular look at this line:
Received-SPF: softfail (google.com: domain of transitioning email@example.com does not designate 172.21.30.5 as permitted sender) client-ip=172.21.30.5;
Look at that IP. RFC 1918 states the “20-bit block” (172.16/12) is for private internets. Google is softfailing emails because it’s sent through it’s own mail servers. Google’s own SPF record looks like this:
;; QUESTION SECTION: ;_spf.google.com. IN TXT ;; ANSWER SECTION: _spf.google.com. 292 IN TXT "v=spf1 ip4:184.108.40.206/19 ip4:220.127.116.11/19 ip4:18.104.22.168/20 ip4:22.214.171.124/18 ip4:126.96.36.199/17 ip4:188.8.131.52/20 ip4:184.108.40.206/16 ip4:220.127.116.11/20 ip4:18.104.22.168/20 ?all"
I really don’t understand why Google is doing this. They should have their SPF checker whitelisting mail sent from their own servers. SPF is intended to verify the sender. When sent locally it’s pointless and can only be harmful. They can still do other spam checks.
From what I can tell, this seems to happening about 50% of the time, meaning this is something deployed on some but not all Google clusters.