<?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"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>WebPaws.com &#187; email</title>
	<atom:link href="http://webpaws.com/blog/marketing/internet-marketing/email/feed/" rel="self" type="application/rss+xml" />
	<link>http://webpaws.com/blog</link>
	<description>Internet Marketing and Design Services for Turnkey Web Solutions</description>
	<lastBuildDate>Thu, 10 May 2012 02:17:57 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>Proper MIME for PHP mail function</title>
		<link>http://webpaws.com/blog/1/hello-world/</link>
		<comments>http://webpaws.com/blog/1/hello-world/#comments</comments>
		<pubDate>Sat, 07 Oct 2006 03:01:29 +0000</pubDate>
		<dc:creator>webpaws</dc:creator>
				<category><![CDATA[email]]></category>
		<category><![CDATA[Marketing]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[MIME data]]></category>
		<category><![CDATA[PHP Mail]]></category>

		<guid isPermaLink="false">http://webpaws.com/blog/?p=1</guid>
		<description><![CDATA[Sending mail through PHP forms either directly or through CGI or PERL mail scripts can be tricky in getting through most if not all mail servers on the receiving end&#8230; This is due to the increased anti-spamming filters and algorithms running on the mail servers that look for various criteria in the header of each [&#8230;] <a class="more-link" href="http://webpaws.com/blog/1/hello-world/">&#8595; Read the rest of this entry...</a><br /><a target="_blank" href="http://www.gdstarrating.com/"><img src="http://webpaws.com/blog/wp-content/plugins/gd-star-rating/gfx/powered.png" border="0" width="80" height="15" /></a><br /><p><a href="http://webpaws.com/blog/1/hello-world/">Proper MIME for PHP mail function</a> is a post from: <a href="http://webpaws.com/blog">WebPaws.com</a></p>
]]></description>
			<content:encoded><![CDATA[<!--S-ButtonZ 1.1.5 Start--><!--S-ButtonZ 1.1.5 End--><div class="linkedin_share_container" style="float:right;margin:0px 0px 10px 10px"><a href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwebpaws.com%2Fblog%2F1%2Fhello-world%2F&amp;title=Proper+MIME+for+PHP+mail+function&amp;summary=Sending+mail+through+PHP+forms+either+directly+or+through+CGI+or+PERL+mail+scripts+can+be+tricky+in+getting+through+most+if+not+all+mail+servers+on+the+receiving+end...+This+is+due+to+the+increased+anti-spamming+filters+and+algorithms+running+on+the+mail+servers+that+look+for+various+criteria+in+the+header+of+each+%5B%26hellip%3B%5D+%3Ca+class%3D%22more-link%22+href%3D%22http%3A%2F%2Fwebpaws.com%2Fblog%2F1%2Fhello-world%2F%22%3E%26darr%3B+Read+the+rest+of+this+entry...%3C%2Fa%3E&amp;source=WebPaws.com" onclick="return popupLinkedInShare(this.href,'console',400,570)" class="linkedin_share_button"><img src="http://webpaws.com/blog/wp-content/plugins/linkedin-share-button/buttons/01.png" alt="" /></a></div><p>Sending mail through PHP forms either directly or through CGI or PERL mail scripts can be tricky in getting through most if not all mail servers on the receiving end&#8230; This is due to the increased anti-spamming filters and algorithms running on the mail servers that look for various criteria in the header of each e-mail they receive&#8230; The MIME data within the e-mail&#8217;s header needs to be designed properly for the type of format within the e-mail, as well as the server it is coming from.</p>
<p>Below is a series of PHP code that embeds MIME data into the header of the outgoing e-mail from your HTML form.</p>
<p>****************<br />
To send messages<br />
****************</p>
<p>To send a message:<br />
<code><br />
sendMIME(<br />
$senderEmail, //in valid email format - see Email list format (qv)<br />
$replyTo, //a normal email address or " if none<br />
$recipientEmailList, //in Email list format (qv)<br />
$ccEmailList, //in Email list format (qv) or " if none<br />
$bccEmailList, //in Email list format (qv) or " if none - NOT SUPPORTED in PHP &lt; 4.3<br />
$priority, //integer 1 (highest) - 5 (lowest) or 0 (default) [not supported by some email clients]<br />
$subject, //a normal subject<br />
$mailBody, //a plain text message body<br />
$mailHTML, //a HTML message body or " if none<br />
//with this script, the HTML body cannot use attached files as message contents<br />
$filesToSend, //in Attachment list format (qv) or " if none<br />
$filesToEmbed, //in Attachment list format (qv) or " if none<br />
$additional_headers, //in valid message header format - separated by line breaks ("..n") - or " if none<br />
$wrapText //true = wrap body text if required, false = do not wrap body text (default = true)<br />
);<br />
</code><br />
The function can accept one further parameter after wrapText &#8211; Debug &#8211; set to true to display the output</p>
<p>instead of sending the email (uses tags).</p>
<p>If the body text is already wrapped (for example, if you are using my html2text library to create it), you</p>
<p>should set $wrapText to false &#8211; otherwise set it to true (or leave it because it is optional).</p>
<p>If this script automatically uses html2text (see above), it will automaically set $wrapText to false.</p>
<p>Email list format:<br />
You will need to check that all email addresses are valid<br />
Emails can be written in any valid email list format<br />
Usually, each email address is written as<br />
email@address.com<br />
or<br />
&#8220;Person&#8217;s name&#8221;<br />
To create a list, email addresses can be separated by commas:<br />
email@address.com, &#8220;Person&#8217;s name&#8221; , anotherEmail@address.com<br />
You can use the prepareEmails function to prepare the email addresses from name/email lists:<br />
For one email address:<br />
<code><br />
$emailList = prepareEmails( Array( $recipientName, $recipientEmail ) );<br />
</code><br />
Or for multiple addresses (this format will also work for a single address if required):<br />
<code><br />
$emailList = prepareEmails( Array(<br />
Array( $recipientName, $recipientEmail ),<br />
Array( $recipientName2, $recipientEmail2 ),<br />
Array( $recipientName3, $recipientEmail3 )<br />
) );<br />
</code></p>
<p>Attachment list format:<br />
If using PHP version 4.1.0 or higher, you should use _FILES instead of HTTP_POST_FILES<br />
For no attachments:</p>
<p><code><br />
$filesToSend = ";<br />
For single file upload (it is important to do this as shown):<br />
$filesToSend = $HTTP_POST_FILES['fileAttachment'];<br />
For a single static file:<br />
$filesToSend = ‘/var/files/filename.txt';<br />
</code></p>
<p>For multiple file upload (it is important to do this as shown) &#8211; this format will also work with a single file if required:<br />
<code><br />
$filesToSend = Array( $HTTP_POST_FILES['fileAttachment'], $HTTP_POST_FILES['fileAttachment2'], etc. );<br />
</code></p>
<p>For multiple static files &#8211; this format will also work with a single file if required:<br />
<code><br />
$filesToSend = Array( ‘/var/files/filename.txt', ‘../www/someFile.exe', ‘myFile.php', etc. );<br />
</code></p>
<p>To read the HTML body from a static file, use:<br />
<code><br />
fread( fopen( $filePath, ‘rb' ), filesize( $filePath ) )<br />
</code><br />
To read the HTML body from an uploaded file, use:<br />
<code><br />
fread( fopen( $HTTP_POST_FILES['fileAttachment']['tmp_name'], ‘rb' ), filesize( $HTTP_POST_FILES['fileAttachment']['tmp_name'] ) )<br />
</code></p>
<p>To embed images or files in the HTML body you will need to include those files in the $filesToEmbed input.<br />
These files will not appear as attachments unless they are also included in the $filesToSend input.<br />
The HTML must be modified slightly to use the embedded file, by using &#8221; as the data source.<br />
The number starts at 1, and files will be used in the order that they are put into the $filesToEmbed input.<br />
Eg.</p>
<p>..&#8221;&gt;.. data=&#8221;"&gt;..&gt;..&#8221;&gt;<br />
[NOTE: as this syntax is in fact invalid HTML, it should never accidentally appear in any HTML email]<br />
_______________________________________________________________*/</p>
<p><code><br />
function sendMIME( $senderEmail = ", $replyTo = ", $recipientEmail = ", $ccEmailList = ", $bccEmailList = ", $priority = 0, $subject = ‘No Subject', $usrMailBody = ", $mailHTML = ", $fileNamesAndPaths = ", $embedNamesAndPaths = ", $extraHeaders = ", $doWrap = true, $debug = false ) {</p>
<p>function prepareEmails( $EMaddr ) {<br />
//with each email name/address pair, prepare it in email format<br />
if( !is_array( $EMaddr[0] ) ) { $EMaddr = Array( $EMaddr ); }<br />
$EMstr = "; foreach( $EMaddr as $key =&gt; $emComb ) {<br />
$EMstr .= ( $EMstr ? ‘, ‘ : " ).( $emComb[0] ? ( ‘"‘.addslashes(preg_replace( "/[..n..r.."]/", ", $emComb[0] )).'" ‘ ) : " ).'&lt;'.addslashes(preg_replace( "/[..n..r&lt;&gt;]/", ", $emComb[1] ))."&gt;";<br />
}<br />
return $EMstr;<br />
}</p>
<p>//prepare basic headers<br />
$extraHeaders = "From: ".$senderEmail."..n".<br />
( $replyTo ? ( "Reply-To: ".preg_replace( "/[..n..r]/", ", $replyTo )."..n" ) : " ).<br />
( $ccEmailList ? ( "Cc: ".$ccEmailList."..n" ) : " ).<br />
( $bccEmailList ? ( "Bcc: ".$bccEmailList."..n" ) : " ).<br />
( $priority ? ( "X-Priority: ".preg_replace( "/[..n..r]/", ", $priority )."..n" ) : " ).<br />
‘X-Mailer: makeMIME v2.1 in PHP by MTWJ'.<br />
( $extraHeaders ? ( "..n".$extraHeaders ) : " );</p>
<p>//use UNIX linebreaking (works on all platforms and resolves problems with some platforms)<br />
$usrMailBody = preg_replace( "/..r..n?/", "..n", $usrMailBody );<br />
$mailHTML = preg_replace( "/..r..n?/", "..n", $mailHTML );</p>
<p>if( !$fileNamesAndPaths &amp;&amp; !$mailHTML ) {</p>
<p>//no attachments or HTML - all that we need to do is wrap the body text<br />
$mailBody = $doWrap ? wordwrap( $usrMailBody ) : $usrMailBody;</p>
<p>} else {</p>
<p>//I forbid the use of HTML-only emails<br />
if( !$usrMailBody &amp;&amp; $mailHTML ) { $usrMailBody = ( $doWrap = !function_exists( ‘html2text' ) ) ? strip_tags( $mailHTML ) : html2text( $mailHTML ); }</p>
<p>//prepare MIME boundaries that do not appear in the message body(s) (or base64 encoded attachments - hence the use of _)<br />
$MIMEboundary = ‘MTWJ_mixed_Bound_0?; $MIMEAboundary = ‘MTWJ_alt_Bound_0?; $MIMERboundary = ‘MTWJ_rel_Bound_0?; $MIMEcid = ‘MTWJ_cnid_0?; $randChars = Array('A','B');<br />
while( substr_count( $mailBody , $MIMEboundary ) || substr_count( $mailBody , $MIMEAboundary ) || substr_count( $mailBody , $MIMERboundary ) || substr_count( $mailBody , $MIMEcid ) || substr_count( $mailHTML , $MIMEboundary ) || substr_count( $mailHTML , $MIMEAboundary ) || substr_count( $mailHTML , $MIMERboundary ) || substr_count( $mailHTML , $MIMEcid ) ) { }</p>
<p>//prepare the MIME declaration headers - the multipart/mixed boundary means that I can add attachments<br />
$extraHeaders .= "..nMime-Version: 1.0..nContent-Type: multipart/mixed; boundary=.."$MIMEboundary.."";</p>
<p>//prepare the multipart/alternative header [allowing HTML / text alternatives] and the plain body<br />
$mailBody = "..nThis is a MIME email - please upgrade to a MIME compatible email client..n".<br />
"..n-$MIMEboundary..nContent-Type: multipart/alternative; boundary=.."$MIMEAboundary.."..n".<br />
"..n-$MIMEAboundary..nContent-Type: text/plain; charset=.."us-ascii.."..n".<br />
"Content-Transfer-Encoding: 7bit..n..n".( $doWrap ? wordwrap( $usrMailBody ) : $usrMailBody )."..n";</p>
<p>//prepare the HTML body and embedded files<br />
if( $mailHTML ) {</p>
<p>//if they only provide one embed, put it in an array as if they provided more than one<br />
if( !is_array( $embedNamesAndPaths ) || ( is_string( $embedNamesAndPaths['name'] ) &amp;&amp; is_string( $embedNamesAndPaths['tmp_name'] ) ) ) {<br />
$embedNamesAndPaths = Array( $embedNamesAndPaths );<br />
}</p>
<p>//use correct Content-ID for embeds<br />
for( $x = 0; $embedNamesAndPaths[$x]; $x++ ) {<br />
$mailHTML = str_replace( "@makeMIMEembed', $mailHTML );<br />
}</p>
<p>//put in the modified HTML body with multipart/related header, allowing embedded files<br />
$mailBody .= "..n-$MIMEAboundary..nContent-Type: multipart/related; boundary=.."$MIMERboundary.."..n".<br />
"..n-$MIMERboundary..nContent-Type: text/html; charset=.."us-ascii.."..n".<br />
"Content-Transfer-Encoding: 7bit..n..n".$mailHTML."..n";</p>
<p>//for each embed, get the file type for MIMEtyping and encode the file<br />
$x = 0; foreach( $embedNamesAndPaths as $key =&gt; $fullPath ) { if( $fullPath ) {<br />
//if it was an upload, use its tmp_name, else use the path<br />
if( is_array( $fullPath ) ) { $fullPath = $fullPath['tmp_name']; }<br />
$mailBody .= "..n-$MIMERboundary..nContent-Type: ".solveMimeType( $fullPath )."..n".<br />
"Content-ID: &lt;..nContent-Transfer-Encoding"&gt;".$MIMEcid.'_'.( ++$x )."@makeMIMEembed&gt;..nContent-Transfer-Encoding: base64..n..n".<br />
chunk_split(base64_encode(fread(fopen($fullPath,'rb'),filesize($fullPath))))."..n";<br />
} }</p>
<p>$mailBody .= "..n-$MIMERboundary-..n"; //end of HTML and embedded files</p>
<p>}</p>
<p>$mailBody .= "..n-$MIMEAboundary-..n"; //end of text and HTML alternatives</p>
<p>//if they only provide one attachment, put it in an array as if they provided more than one<br />
if( !is_array( $fileNamesAndPaths ) || ( is_string( $fileNamesAndPaths['name'] ) &amp;&amp; is_string( $fileNamesAndPaths['tmp_name'] ) ) ) {<br />
$fileNamesAndPaths = Array( $fileNamesAndPaths );<br />
}</p>
<p>//for each attachment, get the file name for sending to the recipient and encode the file<br />
foreach( $fileNamesAndPaths as $key =&gt; $fullPath ) { if( $fullPath ) {<br />
//if it was an upload, use its tmp_name and name, else use the name with and without the path<br />
if( is_array( $fullPath ) ) { $justFileName = $fullPath['name']; $fullPath = $fullPath['tmp_name'];<br />
} else { $justFileName = preg_replace( "/.*..//", ", str_replace( "....", ‘/', $fullPath ) ); }<br />
$mailBody .= "..n-$MIMEboundary..nContent-Type: ".solveMimeType( $fullPath )."; name=.."".$justFileName.".."..n".<br />
"Content-Transfer-Encoding: base64..nContent-Disposition: attachment; name=.."".$justFileName.".."..n..n".<br />
chunk_split(base64_encode(fread(fopen($fullPath,'rb'),filesize($fullPath))))."..n";<br />
} }</p>
<p>$mailBody .= "..n-$MIMEboundary-..n"; //end of MIME email</p>
<p>}</p>
<p>//send the email<br />
if( $debug ) { return print "</p>
<p>".htmlspecialchars("To: ".$recipientEmail."..nSubject: $subject..n$extraHeaders..n..n$mailBody")."</p>
<p>";</p>
<p>} else { return mail($recipientEmail,$subject,$mailBody,$extraHeaders); }</p>
<p>}</p>
<p>function solveMimeType($fileName) {<br />
if( is_array( $fileName ) ) { return $fileName['type'] ? $fileName['type'] : ( function_exists( ‘mime_content_type' ) ? mime_content_type( $fileName['tmp_name'] ) : ( function_exists( ‘ext2mime' ) ? ext2mime( $fileName['name'] ) : ‘application/octet-stream' ) ); }<br />
else { return function_exists( ‘mime_content_type' ) ? mime_content_type( $fileName ) : ( function_exists( ‘ext2mime' ) ? ext2mime( $fileName ) : ‘application/octet-stream' ); }<br />
}<br />
</code></p>
<br /><a target="_blank" href="http://www.gdstarrating.com/"><img src="http://webpaws.com/blog/wp-content/plugins/gd-star-rating/gfx/powered.png" border="0" width="80" height="15" /></a><br /><p><a href="http://webpaws.com/blog/1/hello-world/">Proper MIME for PHP mail function</a> is a post from: <a href="http://webpaws.com/blog">WebPaws.com</a></p>
<div style="clear:both;">&nbsp;</div>
<div class="sociable">
<span class="sociable_tagline">
<strong>Take a piece of the Web from WebPaws.com:</strong>
	<span>These icons link to social bookmarking sites where readers can share and discover new web pages.</span>
</span>
<ul>
	<li><a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwebpaws.com%2Fblog%2F1%2Fhello-world%2F" title="Facebook" rel="nofollow" target="_blank"><img src="http://webpaws.com/blog/wp-content/plugins/sociable-zyblog-edition/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a></li>
	<li><a href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwebpaws.com%2Fblog%2F1%2Fhello-world%2F&amp;title=Proper%20MIME%20for%20PHP%20mail%20function&amp;source=WebPaws.com&amp;summary=EXCERPT" title="LinkedIn" rel="nofollow" target="_blank"><img src="http://webpaws.com/blog/wp-content/plugins/sociable-zyblog-edition/images/linkedin.png" title="LinkedIn" alt="LinkedIn" class="sociable-hovers" /></a></li>
	<li><a href="http://twitter.com/home?status=http%3A%2F%2Fwebpaws.com%2Fblog%2F1%2Fhello-world%2F" title="TwitThis" rel="nofollow" target="_blank"><img src="http://webpaws.com/blog/wp-content/plugins/sociable-zyblog-edition/images/twitter.png" title="TwitThis" alt="TwitThis" class="sociable-hovers" /></a></li>
	<li><a href="http://www.myspace.com/Modules/PostTo/Pages/?u=http%3A%2F%2Fwebpaws.com%2Fblog%2F1%2Fhello-world%2F&amp;t=Proper%20MIME%20for%20PHP%20mail%20function" title="MySpace" rel="nofollow" target="_blank"><img src="http://webpaws.com/blog/wp-content/plugins/sociable-zyblog-edition/images/myspace.png" title="MySpace" alt="MySpace" class="sociable-hovers" /></a></li>
	<li><a href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fwebpaws.com%2Fblog%2F1%2Fhello-world%2F&amp;title=Proper%20MIME%20for%20PHP%20mail%20function" title="Google Bookmarks" rel="nofollow" target="_blank"><img src="http://webpaws.com/blog/wp-content/plugins/sociable-zyblog-edition/images/google.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a></li>
	<li><a href="http://www.webnews.de/einstellen?url=http%3A%2F%2Fwebpaws.com%2Fblog%2F1%2Fhello-world%2F&amp;title=Proper%20MIME%20for%20PHP%20mail%20function" title="Webnews" rel="nofollow" target="_blank"><img src="http://webpaws.com/blog/wp-content/plugins/sociable-zyblog-edition/images/webnews.png" title="Webnews" alt="Webnews" class="sociable-hovers" /></a></li>
	<li><a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwebpaws.com%2Fblog%2F1%2Fhello-world%2F&amp;title=Proper%20MIME%20for%20PHP%20mail%20function" title="Digg" onfocus="sociable_description_link(this, 'bodytext')" rel="nofollow" target="_blank"><img src="http://webpaws.com/blog/wp-content/plugins/sociable-zyblog-edition/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a></li>
	<li><a href="http://del.icio.us/post?url=http%3A%2F%2Fwebpaws.com%2Fblog%2F1%2Fhello-world%2F&amp;title=Proper%20MIME%20for%20PHP%20mail%20function" title="del.icio.us" rel="nofollow" target="_blank"><img src="http://webpaws.com/blog/wp-content/plugins/sociable-zyblog-edition/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a></li>
	<li><a href="http://www.stumbleupon.com/submit.php?url=http://webpaws.com/blog/1/hello-world/" title="StumbleUpon" rel="nofollow" target="_blank"><img src="http://webpaws.com/blog/wp-content/plugins/sociable-zyblog-edition/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a></li>
	<li><a href="http://www.ekudos.nl/artikel/nieuw?url=http%3A%2F%2Fwebpaws.com%2Fblog%2F1%2Fhello-world%2F&amp;title=Proper%20MIME%20for%20PHP%20mail%20function" title="eKudos" rel="nofollow" target="_blank"><img src="http://webpaws.com/blog/wp-content/plugins/sociable-zyblog-edition/images/ekudos.png" title="eKudos" alt="eKudos" class="sociable-hovers" /></a></li>
	<li><a href="mailto:?subject=Proper%20MIME%20for%20PHP%20mail%20function&amp;body=http%3A%2F%2Fwebpaws.com%2Fblog%2F1%2Fhello-world%2F" title="email" onfocus="sociable_description_link(this, 'E-mail this story to a friend!')" rel="nofollow" target="_blank"><img src="http://webpaws.com/blog/wp-content/plugins/sociable-zyblog-edition/images/email.png" title="email" alt="email" class="sociable-hovers" /></a></li>
	<li><a href="http://extension.fleck.com/?v=b.0.804&amp;url=http%3A%2F%2Fwebpaws.com%2Fblog%2F1%2Fhello-world%2F" title="Fleck" rel="nofollow" target="_blank"><img src="http://webpaws.com/blog/wp-content/plugins/sociable-zyblog-edition/images/fleck.gif" title="Fleck" alt="Fleck" class="sociable-hovers" /></a></li>
	<li><a href="http://hype.yeebase.com/submit/http%3A%2F%2Fwebpaws.com%2Fblog%2F1%2Fhello-world%2F" title="Hype" rel="nofollow" target="_blank"><img src="http://webpaws.com/blog/wp-content/plugins/sociable-zyblog-edition/images/hype.png" title="Hype" alt="Hype" class="sociable-hovers" /></a></li>
	<li><a href="http://www.mister-wong.de/addurl/?bm_url=http%3A%2F%2Fwebpaws.com%2Fblog%2F1%2Fhello-world%2F&amp;bm_description=Proper%20MIME%20for%20PHP%20mail%20function&amp;plugin=soc" title="MisterWong" rel="nofollow" target="_blank"><img src="http://webpaws.com/blog/wp-content/plugins/sociable-zyblog-edition/images/misterwong.png" title="MisterWong" alt="MisterWong" class="sociable-hovers" /></a></li>
	<li><a href="javascript:window.print();" title="Print" onfocus="sociable_description_link(this, 'Print this article!')" rel="nofollow" target="_blank"><img src="http://webpaws.com/blog/wp-content/plugins/sociable-zyblog-edition/images/printer.png" title="Print" alt="Print" class="sociable-hovers" /></a></li>
	<li><a href="http://technorati.com/faves?add=http%3A%2F%2Fwebpaws.com%2Fblog%2F1%2Fhello-world%2F" title="Technorati" rel="nofollow" target="_blank"><img src="http://webpaws.com/blog/wp-content/plugins/sociable-zyblog-edition/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a></li>
	<li><a href="http://myweb2.search.yahoo.com/myresults/bookmarklet?u=http%3A%2F%2Fwebpaws.com%2Fblog%2F1%2Fhello-world%2F&amp;=Proper%20MIME%20for%20PHP%20mail%20function" title="YahooMyWeb" rel="nofollow" target="_blank"><img src="http://webpaws.com/blog/wp-content/plugins/sociable-zyblog-edition/images/yahoomyweb.png" title="YahooMyWeb" alt="YahooMyWeb" class="sociable-hovers" /></a></li>
</ul>
</div>
<span class="facebook-like"><fb:like layout="box_count" show_faces="false" width="45" href="http://webpaws.com/blog/1/hello-world/"></fb:like></span>]]></content:encoded>
			<wfw:commentRss>http://webpaws.com/blog/1/hello-world/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

