<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>

<channel>
	<title>Nathan Verrill&#187; Web Development</title>
	<atom:link href="http://nathanverrill.com/blog/category/web-development/feed/" rel="self" type="application/rss+xml" />
	<link>http://nathanverrill.com/blog</link>
	<description>father of 3, applied gaming consultant, interaction designer, connector, innovator</description>
	<pubDate>Thu, 15 Apr 2010 13:03:21 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
	<language>en</language>
			<item>
		<title>Pass SPF to Prevent SBC and Other Providers from Marking Website-Generated Email as SPAM</title>
		<link>http://nathanverrill.com/blog/2008/03/pass-spf-to-prevent-sbc-and-other-providers-from-marking-website-generated-email-as-spam/</link>
		<comments>http://nathanverrill.com/blog/2008/03/pass-spf-to-prevent-sbc-and-other-providers-from-marking-website-generated-email-as-spam/#comments</comments>
		<pubDate>Tue, 11 Mar 2008 20:18:22 +0000</pubDate>
		<dc:creator>Nathan Verrill</dc:creator>
		
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://nathanverrill.com/blog/?p=18</guid>
		<description><![CDATA[I have a number of websites I have created for people over the years. Each website uses a simple conversion funnel - home > read stuff > contact > contact success - that culminates in a website-generated email that provides an easily recognized heartbeat for website success.
As a result of this approach, my clients know [...]]]></description>
			<content:encoded><![CDATA[<p>I have a number of websites I have created for people over the years. Each website uses a simple <a href="http://www.google.com/support/googleanalytics/bin/answer.py?hl=en&#038;answer=55515">conversion funnel</a> - home > read stuff > contact > contact success - that culminates in a website-generated email that provides an easily recognized heartbeat for website success.</p>
<p>As a result of this approach, my clients know their website is working when they receive those contact emails. Unfortunately, some email providers block the website-generated messages. SBCGlobal.net is especially problematic as it does nothing with the message. It doesn&#8217;t even move it to a spam folder.</p>
<p>It took a long time to figure out how to solve the problem. It was a surprisingly difficult search - one of the instances where if you don&#8217;t know the keywords you&#8217;re pretty much at a dead end. I finally stumbled upon SPF, or <a href="http://en.wikipedia.org/wiki/Sender_Policy_Framework">Sender Policy Framework</a>, and after some trial and error was able to solve the problem. </p>
<p>Hopefully this post makes it easier for people such as yourself, who are looking for an all-in-one-place solution to the problem. So here it goes:</p>
<p><strong>Step 1: Configure your DNS to pass SPF. </strong><br />
You&#8217;ll need access to your raw DNS, which you can often get in the cpanel on your web server. You&#8217;ll also need to be mindful of anytime a script or web-based UI is used to add sub-domains, as it may over-write the SPF text you are about to add. And, since you&#8217;ll be messing with your DNS, do so at your own risk. I don&#8217;t want responsibility for any &#8220;hiccups.&#8221; Put the following line at the very end of your DNS. Make sure there is no period at the end of the line.</p>
<p><code>yourdomain.com. IN TXT "v=spf1 a -all"</code></p>
<p>So your DNS may look something like this:</p>
<p><code>$TTL 7200<br />
@       IN      SOA     ns1.yourdomain.com. hostmaster.ns1.yourdomain.com (<br />
      2008031001      ; serial<br />
      28800           ; refresh<br />
      7200            ; retry<br />
      3600000         ; expire<br />
      86400 ) ; minimum<br />
yourdomain.com. IN NS ns1.yourdomain.com.<br />
yourdomain.com. IN NS ns2.yourdomain.com.<br />
yourdomain.com. IN A 10.10.10.10<br />
yourdomain.com.    IN MX 10 yourdomain.com.<br />
mail            IN CNAME    yourdomain.com.<br />
www            IN CNAME    yourdomain.com.<br />
ftp            IN CNAME    yourdomain.com.<br />
yourdomain.com. IN TXT "v=spf1 a -all"</code></p>
<p><strong>Step 2: Configure Your Email Headers</strong><br />
Make sure to set the Return-Path and Sender email headers to use an email address on the domain of <em>the machine sending the email</em>. So if your doing virtual hosts, this will be the domain of the main server, <em>not</em> your client&#8217;s domain. Email providers need to confirm the validity of the sender - hence the need to set Return-Path and Sender properly. To check your settings after you update your server-side code, send an email to your gmail account and use their &#8220;show original&#8221; command to see the message in its entirety, including all headers and messages.</p>
<p>Once you are successful, your email header will look something like this:</p>
<p><code>Return-Path: <nobody@yourdomain.com><br />
Received: from yourdomain.com ([10.10.10.10])<br />
by mx.google.com with ESMTP id b19si16435253ana.18.2008.03.11.05.42.40;<br />
Tue, 11 Mar 2008 05:42:40 -0700 (PDT)<br />
Received-SPF: pass (google.com: domain of nobody@yourdomain.com designates 10.10.10.10 as permitted sender) client-ip=10.10.10.10;<br />
Authentication-Results: mx.google.com; spf=pass (google.com: domain of nobody@yourdomain.com designates 10.10.10.10 as permitted sender) smtp.mail=nobody@yourdomain.com<br />
Received: from localhost (localhost [127.0.0.1])<br />
  (uid 99)<br />
  by yourdomain.com with local; Tue, 11 Mar 2008 08:36:49 -0400<br />
  id 000E2D4E.47D67CE1.00002B63</p>
<p>To: user@userdomain.com<br />
Subject: Client Domain Web Contact<br />
From: nobody@yourdomain.com<br />
Reply-To: client@clientdomain.com<br />
Old-Return-Path: nobody@yourdomain.com<br />
Message-ID: <courier.47D67CE1.00002B63@yourdomain.com><br />
</code></p>
<p>Good luck!</p>
]]></content:encoded>
			<wfw:commentRss>http://nathanverrill.com/blog/2008/03/pass-spf-to-prevent-sbc-and-other-providers-from-marking-website-generated-email-as-spam/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
