<?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/"
	>

<channel>
	<title>iMessage.to</title>
	<atom:link href="http://imessage.to/html/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://imessage.to/html/blog</link>
	<description>Singapore Email &#038; SMS Messaging Solution</description>
	<pubDate>Thu, 05 Aug 2010 07:18:59 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Separate the Email Message Sending Pools</title>
		<link>http://imessage.to/html/blog/2010/08/separate-the-email-message-sending-pools/</link>
		<comments>http://imessage.to/html/blog/2010/08/separate-the-email-message-sending-pools/#comments</comments>
		<pubDate>Thu, 05 Aug 2010 07:18:59 +0000</pubDate>
		<dc:creator>james</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://imessage.to/html/blog/2010/08/separate-the-email-message-sending-pools/</guid>
		<description><![CDATA[<!-- GООООООО -->Previously, iMessage.to kept all the about to be sent and sent messages in a common message pool.&#160; The only thing that differentiates between these 2 types of messages is a STATUS FLAG.
&#160;
Previous Architecture :&#160; Message Pool comprises of both Sent and About to be Sent Messages
Well, this architecture worked fine when the amount of messages [...]]]></description>
			<content:encoded><![CDATA[<p>Previously, iMessage.to kept all the about to be sent and sent messages in a common message pool.&nbsp; The only thing that differentiates between these 2 types of messages is a STATUS FLAG.
<p>&nbsp;
<p><strong>Previous Architecture :&nbsp; Message Pool comprises of both Sent and About to be Sent Messages</strong>
<p>Well, this architecture worked fine when the amount of messages in the pool are small.&nbsp; But as the messages accumulate to the millions… the Email Sending Thread started to encounter performance issues.&nbsp; To sieve out the messages to be sent amidst a mountain load of messages in a pool consumed virtually 100% of a server’s CPU.
<p>It was time for an architecture revision.&nbsp; For a start, we decided to split the messages into 2 separate pools.&nbsp; A MessageQueue for messages to be sent an a MessageArchive for messages that have been sent.&nbsp;&nbsp; By doing it this way, the MessageQueue will always be small in size and will allow the Email Sending Threads to retrieve the relevant messages to be dispatched quickly.&nbsp;
<p>Sent messages will need to be kept in the MessageArchive to ensure that Bounce, Unsubscription, Update and Statistics Tracking operations can be performed on the dispatched email.
<p>&nbsp;
<p><strong>New Architecture : The messages are split into separate pools for better performance</strong>
<p>Glad that a simple architectural change has greatly improved the performance of the product! </p>
]]></content:encoded>
			<wfw:commentRss>http://imessage.to/html/blog/2010/08/separate-the-email-message-sending-pools/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Sender Policy Framework &#8211; Version 1</title>
		<link>http://imessage.to/html/blog/2009/01/sender-policy-framework-version-1/</link>
		<comments>http://imessage.to/html/blog/2009/01/sender-policy-framework-version-1/#comments</comments>
		<pubDate>Fri, 30 Jan 2009 07:15:15 +0000</pubDate>
		<dc:creator>james</dc:creator>
		
		<category><![CDATA[technology]]></category>

		<guid isPermaLink="false">http://imessage.to/html/blog/2009/01/sender-policy-framework-version-1/</guid>
		<description><![CDATA[ 
Well, if you have read the previous post of Reverse DNS Issue, you will realize that computers which have been compromised by viruses and trojan horses have kind of been weeded out of the email spamming industry.
You would have think that we have finally won the war over the hackers and spammers.&#160; Truth be [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://imessage.to/html/blog/wp-content/uploads/2009/01/image1.png"><img title="SPF" style="border-right: 0px; border-top: 0px; display: inline; margin-left: 0px; border-left: 0px; margin-right: 0px; border-bottom: 0px" height="84" alt="SPF" src="http://imessage.to/html/blog/wp-content/uploads/2009/01/image-thumb1.png" width="130" align="left" border="0"></a> </p>
<p>Well, if you have read the previous post of Reverse DNS Issue, you will realize that computers which have been compromised by viruses and trojan horses have kind of been weeded out of the email spamming industry.</p>
<p>You would have think that we have finally won the war over the hackers and spammers.&nbsp; Truth be told… that was only the beginning…. As hackers found that compromised drones with dynamic IP addresses were no longer effective in their email spamming efforts, they turned their attention to …</p>
<blockquote><p>servers with static IPs.</p>
</blockquote>
<p><span id="more-41"></span>
<p><strong><u>Problem and Solution</u></strong></p>
<p>What happened was that there were servers idling in the internet space which are not fully hardened.&nbsp; These servers became prime time target.&nbsp; Once compromised, the servers could be harnessed to send their emails.&nbsp; To combat against such activities, ISPs started to implement the <a href="http://www.openspf.org/">Sender Policy Framework</a><strong></strong>.&nbsp; </p>
<p><strong><u>Technical Tit-Bits</u></strong></p>
<ul>
<li>EHLO xtremax.com</li>
<li>MAIL FROM:&lt;recipienta@wierdcompany.com&gt;</li>
</ul>
<p>A reverse DNS on xtremax.com will pass.&nbsp; However… when the SMTP server seeing that the mail from actually comes from a different domain name, they will do a NSLOOKUP to check SPF record.&nbsp; If xtremax.com is authorised to send email on behalf of wierdcompany.com, the mail server will approve the email.</p>
<p>More often than not, the spf record will look like:</p>
<p>v=spf1 a mx –all</p>
<p>This means that emails can only be sent from wierdcompany.com to be valid.&nbsp; To allow xtremax.com to send the email, the SPF record will be like:</p>
<p>v=spf1 a mx xtremax.com -all</p>
]]></content:encoded>
			<wfw:commentRss>http://imessage.to/html/blog/2009/01/sender-policy-framework-version-1/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Reverse DNS Issue</title>
		<link>http://imessage.to/html/blog/2009/01/reverse-dns-issue/</link>
		<comments>http://imessage.to/html/blog/2009/01/reverse-dns-issue/#comments</comments>
		<pubDate>Fri, 30 Jan 2009 06:46:41 +0000</pubDate>
		<dc:creator>james</dc:creator>
		
		<category><![CDATA[technology]]></category>

		<guid isPermaLink="false">http://imessage.to/html/blog/2009/01/reverse-dns-issue/</guid>
		<description><![CDATA[The Origin
A couple of years ago, it did not really mattered how DNS was configured.&#160; Mails just went through.&#160; Those were the easy days… before SPAM came into the whole.&#160; 
What happened was that some brilliant hacker discovered that sending unsolicited emails pushing drugs like Viagra, Enlargement drugs, etc… was very profitable business even if [...]]]></description>
			<content:encoded><![CDATA[<p><strong><u>The Origin</u></strong></p>
<p>A couple of years ago, it did not really mattered how DNS was configured.&nbsp; Mails just went through.&nbsp; <a href="http://imessage.to/html/blog/wp-content/uploads/2009/01/image.png"><img title="DNS" style="border-right: 0px; border-top: 0px; display: inline; margin-left: 0px; border-left: 0px; margin-right: 0px; border-bottom: 0px" height="79" alt="DNS" src="http://imessage.to/html/blog/wp-content/uploads/2009/01/image-thumb.png" width="124" align="left" border="0"></a>Those were the easy days… before SPAM came into the whole.&nbsp; </p>
<p>What happened was that some brilliant hacker discovered that sending unsolicited emails pushing drugs like Viagra, Enlargement drugs, etc… was very profitable business even if the response rate was dismal.&nbsp; They worked by the laws of large numbers…. Spammers understood that even with very low response rates, they just need to send larger and larger quantities of emails to generate the necessary responses and $$$.&nbsp; </p>
<p>Soon, hackers began running their home office like data centers.&nbsp; They have several computers with a high bandwidth.&nbsp; These computers served only one person – to dish out emails at an ever more ferocious rate….</p>
<p>However that was not fast enough yet.&nbsp; The numbers had to get larger… and that is when they decided to leverage on the resources of computers not belong to them.&nbsp; Trojan horses and viruses started to come into the picture… these viruses upon inflicting hapless computers will render these computers at the will of the spammer… to send emails!&nbsp; In fact, one prominent hacker at a time had over half a million drones at his control.&nbsp; By issuing a few simple commands, he could totally flood the network of his victims.&nbsp; This flooding of a victim’s network became known as a <strong>Denial-of-Service </strong>attack.</p>
<p>Most of the time though, the hacker will use these drones as a way to dispatch more emails to anonymous strangers.&nbsp; That prompted ISPs to look into using <strong>reverse DNS</strong> to authenticate the origin of emails….</p>
<p><span id="more-38"></span>
<p><strong><u>The Solution</u></strong></p>
<p>One of the major problems of using drones to send these emails are that drones are generally computers of home users with dynamic IPs.&nbsp; Doing a reverse DNS on dynamic IPs will reveal nothing, while doing a reverse DNS on a static IP will show the domain belong to a real server.&nbsp; By implementing a simple reverse DNS algorithm in their mail servers, ISPs could suddenly weed out the large volumes of spam from compromised computers….</p>
<p><strong><u>Technical Tit-Bits</u></strong></p>
<p>Sending an email occurs over a SMTP process – a protocol in which computers talk amongst themselves.&nbsp; They will first say hello by:</p>
<ul>
<li>EHLO xtremax.com or
<li>EHLO 192.168.1.4</li>
</ul>
<p>If a domain name is given, the mail server will do a DNS query to get the IP.&nbsp; Once the IP is gotten, the mail server will issue a reverse DNS query.&nbsp; If the IP is not tied to any domain name… the email will be regarded as SPAM…</p>
]]></content:encoded>
			<wfw:commentRss>http://imessage.to/html/blog/2009/01/reverse-dns-issue/feed/</wfw:commentRss>
		</item>
		<item>
		<title>IP Address</title>
		<link>http://imessage.to/html/blog/2008/09/ip-address/</link>
		<comments>http://imessage.to/html/blog/2008/09/ip-address/#comments</comments>
		<pubDate>Tue, 09 Sep 2008 05:29:33 +0000</pubDate>
		<dc:creator>james</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://imessage.to/html/blog/archives/34</guid>
		<description><![CDATA[When reporting SPAM problems for whitelistings, they will often require you to specify your IP address.
This is how you can check your imessage.to IP address
Click on configuration > settings
Under software info there is a line called IP Address. That is your IP address.

]]></description>
			<content:encoded><![CDATA[<p>When reporting SPAM problems for whitelistings, they will often require you to specify your IP address.<br />
This is how you can check your imessage.to IP address</p>
<p>Click on configuration > settings</p>
<p>Under software info there is a line called IP Address. That is your IP address.</p>
<p><span class="tt-flickr"><img height="147" width="500" border="0" alt="reportingSpamUnblockIP" src="http://farm4.static.flickr.com/3019/2842462844_fbfd30fb86.jpg" /></span></p>
]]></content:encoded>
			<wfw:commentRss>http://imessage.to/html/blog/2008/09/ip-address/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Understanding the delivery status</title>
		<link>http://imessage.to/html/blog/2008/09/understanding-the-delivery-status/</link>
		<comments>http://imessage.to/html/blog/2008/09/understanding-the-delivery-status/#comments</comments>
		<pubDate>Fri, 05 Sep 2008 08:57:10 +0000</pubDate>
		<dc:creator>james</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://imessage.to/html/blog/archives/33</guid>
		<description><![CDATA[When your email is sent out there is a few kind of situation, imessage.to will indicate the status in the messaging queue.
How do you check the delivery status in imessage.to?
Click onto the &#8220;messaging queue&#8221; link of the newsletter that you have sent out, you will see a &#8216;Status&#8217; column.


In this article, we are going to [...]]]></description>
			<content:encoded><![CDATA[<p>When your email is sent out there is a few kind of situation, imessage.to will indicate the status in the messaging queue.</p>
<p>How do you check the delivery status in imessage.to?<br />
Click onto the &#8220;messaging queue&#8221; link of the newsletter that you have sent out, you will see a &#8216;Status&#8217; column.<br />
<a class="tt-flickr" href="http://www.flickr.com/photos/12906724@N00/2829515961/" /></p>
<p><span class="tt-flickr"><img height="240" border="0" width="238" alt="messagingqueue" src="http://farm4.static.flickr.com/3257/2829515961_0313918f4b_m.jpg" /></span><br />
In this article, we are going to explain the different kinds of status and how we should go about handling them.</p>
<p><span id="more-33"></span></p>
<p>1) <strong>Sent</strong> - Message is sent across without any rejection message from the SMTP server<br />
If customer comes back to say that they have not received any E-mails, but in the system, status is sent, 99% of the time, the email is sent across has been categorised by the internal SMTP server as a spam.<br />
You should get your customer to contact their SMTP provider to white list the emails.  The SMTP providers will normally ask you for the time the email was sent and the email address.</p>
<p>The <span style="font-weight: bold">time sent</span> can be check in the messaging queue email (roll over the sent status)<br />
The <span style="font-weight: bold">email address</span> and <span style="font-weight: bold">ip address</span> can be found under the configuration section.</p>
<p>2) <strong>Hard bounce</strong> - Email is invalid<br />
Our system will allow a resend up to 3 times before we convert this status to <strong>Failed</strong>.</p>
<p>3) <strong>Soft bounce</strong> - Receipt&#8217;s mail box is full<br />
Our system keep will keep resending.<br />
The email will get through once the customer&#8217;s email inbox is cleared.</p>
<p>4) <strong>Temporary bounce</strong> - network traffic is too busy<br />
Our system keep will keep resending.</p>
<p>5) <strong>Public block</strong> - the public server that blocks your IP<br />
We will be notified of this situation and we will look into it promptly</p>
<p>6) <strong>Private block</strong> - the private server that blocks your IP<br />
We will be notified of this situation and we will look into it promptly</p>
<p>7) <strong>Failed</strong> - this email is failed after being on hard bounce status for 3 times. The next time a newsletter is sent out, it will skip this email.</p>
<p>Any of the status, you can edit it manually in the customer information page.</p>
]]></content:encoded>
			<wfw:commentRss>http://imessage.to/html/blog/2008/09/understanding-the-delivery-status/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Newly Implemented Function! &#8220;Paste from Words&#8221;</title>
		<link>http://imessage.to/html/blog/2008/09/newly-implemented-function-paste-from-words/</link>
		<comments>http://imessage.to/html/blog/2008/09/newly-implemented-function-paste-from-words/#comments</comments>
		<pubDate>Mon, 01 Sep 2008 07:54:02 +0000</pubDate>
		<dc:creator>james</dc:creator>
		
		<category><![CDATA[features]]></category>

		<guid isPermaLink="false">http://imessage.to/html/blog/archives/30</guid>
		<description><![CDATA[



  
Paste from words - an add on function to the editor function.The editor functions allows the easy editing of words directly on our system into the newsletter template.
Knowing the number of customer who draft out their newsletter contents with the Microsoft Office Word, we have implemented this new function.
Simple and fast.
All you have [...]]]></description>
			<content:encoded><![CDATA[<p><meta content="text/html; charset=utf-8" http-equiv="Content-Type" /><meta content="Word.Document" name="ProgId" /><meta content="Microsoft Word 12" name="Generator" /><meta content="Microsoft Word 12" name="Originator" /></p>
<link rel="File-List" />
<link rel="themeData" />
<link rel="colorSchemeMapping" /><!--[if gte mso 9]><xml>  <w:WordDocument>   <w:View>Normal</w:View>   <w:Zoom>0</w:Zoom>   <w:TrackMoves/>   <w:TrackFormatting/>   <w:DoNotShowRevisions/>   <w:DoNotPrintRevisions/>   <w:DoNotShowMarkup/>   <w:DoNotShowComments/>   <w:DoNotShowInsertionsAndDeletions/>   <w:DoNotShowPropertyChanges/>   <w:PunctuationKerning/>   <w:ValidateAgainstSchemas/>   <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>   <w:IgnoreMixedContent>false</w:IgnoreMixedContent>   <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>   <w:DoNotPromoteQF/>   <w:LidThemeOther>EN-US</w:LidThemeOther>   <w:LidThemeAsian>X-NONE</w:LidThemeAsian>   <w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>   <w:Compatibility>    <w:BreakWrappedTables/>    <w:SnapToGridInCell/>    <w:WrapTextWithPunct/>    <w:UseAsianBreakRules/>    <w:DontGrowAutofit/>    <w:SplitPgBreakAndParaMark/>    <w:DontVertAlignCellWithSp/>    <w:DontBreakConstrainedForcedTables/>    <w:DontVertAlignInTxbx/>    <w:Word11KerningPairs/>    <w:CachedColBalance/>   </w:Compatibility>   <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>   <m:mathPr>    <m:mathFont m:val="Cambria Math"/>    <m:brkBin m:val="before"/>    <m:brkBinSub m:val="&amp;amp;amp;amp;amp;amp;#45;-"/>    <m:smallFrac m:val="off"/>    <m:dispDef/>    <m:lMargin m:val="0"/>    <m:rMargin m:val="0"/>    <m:defJc m:val="centerGroup"/>    <m:wrapIndent m:val="1440"/>    <m:intLim m:val="subSup"/>    <m:naryLim m:val="undOvr"/>   </m:mathPr></w:WordDocument> </xml><![endif]--><!--[if gte mso 9]><xml>  <w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"   DefSemiHidden="true" DefQFormat="false" DefPriority="99"   LatentStyleCount="267">   <w:LsdException Locked="false" Priority="0" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Normal"/>   <w:LsdException Locked="false" Priority="9" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="heading 1"/>   <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/>   <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/>   <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/>   <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/>   <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/>   <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/>   <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/>   <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/>   <w:LsdException Locked="false" Priority="39" Name="toc 1"/>   <w:LsdException Locked="false" Priority="39" Name="toc 2"/>   <w:LsdException Locked="false" Priority="39" Name="toc 3"/>   <w:LsdException Locked="false" Priority="39" Name="toc 4"/>   <w:LsdException Locked="false" Priority="39" Name="toc 5"/>   <w:LsdException Locked="false" Priority="39" Name="toc 6"/>   <w:LsdException Locked="false" Priority="39" Name="toc 7"/>   <w:LsdException Locked="false" Priority="39" Name="toc 8"/>   <w:LsdException Locked="false" Priority="39" Name="toc 9"/>   <w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/>   <w:LsdException Locked="false" Priority="10" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Title"/>   <w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/>   <w:LsdException Locked="false" Priority="11" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/>   <w:LsdException Locked="false" Priority="22" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Strong"/>   <w:LsdException Locked="false" Priority="20" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/>   <w:LsdException Locked="false" Priority="59" SemiHidden="false"    UnhideWhenUsed="false" Name="Table Grid"/>   <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/>   <w:LsdException Locked="false" Priority="1" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/>   <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading"/>   <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List"/>   <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid"/>   <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1"/>   <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2"/>   <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1"/>   <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2"/>   <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1"/>   <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2"/>   <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3"/>   <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List"/>   <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading"/>   <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List"/>   <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid"/>   <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 1"/>   <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 1"/>   <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 1"/>   <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/>   <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/>   <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/>   <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/>   <w:LsdException Locked="false" Priority="34" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/>   <w:LsdException Locked="false" Priority="29" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Quote"/>   <w:LsdException Locked="false" Priority="30" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/>   <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/>   <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/>   <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/>   <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/>   <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 1"/>   <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/>   <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 1"/>   <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/>   <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 2"/>   <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 2"/>   <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 2"/>   <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/>   <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/>   <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/>   <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/>   <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/>   <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/>   <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/>   <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 2"/>   <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/>   <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 2"/>   <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/>   <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 3"/>   <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 3"/>   <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 3"/>   <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/>   <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/>   <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/>   <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/>   <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/>   <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/>   <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/>   <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 3"/>   <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/>   <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 3"/>   <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/>   <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 4"/>   <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 4"/>   <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 4"/>   <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/>   <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/>   <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/>   <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/>   <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/>   <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/>   <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/>   <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 4"/>   <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/>   <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 4"/>   <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/>   <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 5"/>   <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 5"/>   <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 5"/>   <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/>   <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/>   <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/>   <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/>   <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/>   <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/>   <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/>   <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 5"/>   <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/>   <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 5"/>   <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/>   <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 6"/>   <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 6"/>   <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 6"/>   <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/>   <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/>   <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/>   <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/>   <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/>   <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/>   <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/>   <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 6"/>   <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/>   <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 6"/>   <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/>   <w:LsdException Locked="false" Priority="19" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/>   <w:LsdException Locked="false" Priority="21" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/>   <w:LsdException Locked="false" Priority="31" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/>   <w:LsdException Locked="false" Priority="32" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/>   <w:LsdException Locked="false" Priority="33" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Book Title"/>   <w:LsdException Locked="false" Priority="37" Name="Bibliography"/>   <w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/>  </w:LatentStyles> </xml><![endif]--><br />
<style> <!--  /* Font Definitions */  @font-face 	{font-family:"Cambria Math"; 	panose-1:2 4 5 3 5 4 6 3 2 4; 	mso-font-charset:1; 	mso-generic-font-family:roman; 	mso-font-format:other; 	mso-font-pitch:variable; 	mso-font-signature:0 0 0 0 0 0;} @font-face 	{font-family:Calibri; 	panose-1:2 15 5 2 2 2 4 3 2 4; 	mso-font-charset:0; 	mso-generic-font-family:swiss; 	mso-font-pitch:variable; 	mso-font-signature:-1610611985 1073750139 0 0 159 0;}  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-unhide:no; 	mso-style-qformat:yes; 	mso-style-parent:""; 	margin-top:0in; 	margin-right:0in; 	margin-bottom:10.0pt; 	margin-left:0in; 	line-height:115%; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:Calibri; 	mso-fareast-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi;} .MsoChpDefault 	{mso-style-type:export-only; 	mso-default-props:yes; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:Calibri; 	mso-fareast-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi;} .MsoPapDefault 	{mso-style-type:export-only; 	margin-bottom:10.0pt; 	line-height:115%;} @page Section1 	{size:8.5in 11.0in; 	margin:1.0in 1.0in 1.0in 1.0in; 	mso-header-margin:.5in; 	mso-footer-margin:.5in; 	mso-paper-source:0;} div.Section1 	{page:Section1;} --> </style>
<p><!--[if gte mso 10]><br />
<style>  /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-priority:99; 	mso-style-qformat:yes; 	mso-style-parent:""; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin-top:0in; 	mso-para-margin-right:0in; 	mso-para-margin-bottom:10.0pt; 	mso-para-margin-left:0in; 	line-height:115%; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:"Times New Roman"; 	mso-fareast-theme-font:minor-fareast; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin;} </style>
<p> <![endif]-->Paste from words - an add on function to the editor function.The editor functions allows the easy editing of words directly on our system into the newsletter template.<br />
Knowing the number of customer who draft out their newsletter contents with the Microsoft Office Word, we have implemented this new function.<br />
Simple and fast.<br />
All you have to do is Copy (ctrl+c) your contents from the words document, open up the editor, click on &#8216;paste from words&#8217; button and (ctrl+v) into the editor.<span class="tt-flickr"><img height="339" width="500" border="0" alt="1" src="http://farm4.static.flickr.com/3108/2830308600_c6948c6afe.jpg" /></span>   <span class="tt-flickr"><img height="242" width="391" border="0" alt="2" src="http://farm4.static.flickr.com/3069/2829595949_25316d49ee.jpg" /></span>It will automatically update the newsletter and the newsletter will be ready to go with your contents !</p>
]]></content:encoded>
			<wfw:commentRss>http://imessage.to/html/blog/2008/09/newly-implemented-function-paste-from-words/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Sending an email directly from your Command Prompt</title>
		<link>http://imessage.to/html/blog/2008/08/sending-an-email-directly-from-your-command-prompt/</link>
		<comments>http://imessage.to/html/blog/2008/08/sending-an-email-directly-from-your-command-prompt/#comments</comments>
		<pubDate>Mon, 11 Aug 2008 08:15:09 +0000</pubDate>
		<dc:creator>james</dc:creator>
		
		<category><![CDATA[technology]]></category>

		<guid isPermaLink="false">http://imessage.to/html/blog/archives/27</guid>
		<description><![CDATA[Did u know that you could send off emails directly from your Windows Command Prompt without any email clients like Microsoft Outlook or Outlook Express?
Well, the email clients do not have any additional functionality other than providing a nice user interface to a backend smtp server.  Accessing your emails involve a 2 part process:

Identifying [...]]]></description>
			<content:encoded><![CDATA[<p><img align="left" alt="Command Prompt" id="image25" title="Command Prompt" src="http://imessage.to/html/blog/wp-content/uploads/2008/08/commandprompt.thumbnail.png" />Did u know that you could send off emails directly from your Windows Command Prompt without any email clients like Microsoft Outlook or Outlook Express?</p>
<p>Well, the email clients do not have any additional functionality other than providing a nice user interface to a backend smtp server.  Accessing your emails involve a 2 part process:</p>
<ul>
<li>Identifying the SMTP server</li>
<li>Sending email through the SMTP server</li>
</ul>
<p><span id="more-27"></span><br />
Before doing anything else, start your command prompt by going to the Windows Start menu and clicking on run.  After that type <strong>cmd</strong>.  You will see the Windows Command Prompt.</p>
<p><strong>Identifying the SMTP server</strong></p>
<ul>
<li>nslookup</li>
<li>set type=mx</li>
<li>xtremax.com</li>
</ul>
<p><img id="image28" alt="NsLookUp" src="http://imessage.to/html/blog/wp-content/uploads/2008/08/nslookup.png" /><br />
<span style="font-weight: bold"> Sending email through the SMTP server</span></p>
<ul>
<li>telnet mail.xtremax.com 25</li>
<li>mail from:</li>
<li>to:</li>
<li>DATA</li>
<li>blah blah blah</li>
<li>.</li>
</ul>
<p><img id="image29" alt="SMTP Process" src="http://imessage.to/html/blog/wp-content/uploads/2008/08/smtpprocess.png" /></p>
<p>Note.. the fullstop at the end of the command is to signify the end of the message data.</p>
]]></content:encoded>
			<wfw:commentRss>http://imessage.to/html/blog/2008/08/sending-an-email-directly-from-your-command-prompt/feed/</wfw:commentRss>
		</item>
		<item>
		<title>SPF Record and SenderID</title>
		<link>http://imessage.to/html/blog/2008/01/spf-record-and-senderid/</link>
		<comments>http://imessage.to/html/blog/2008/01/spf-record-and-senderid/#comments</comments>
		<pubDate>Fri, 11 Jan 2008 09:45:58 +0000</pubDate>
		<dc:creator>james</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://imessage.to/html/blog/archives/24</guid>
		<description><![CDATA[SPF stands for Sender Policy Framework, it is an extension to the SMTP protocol. Though it is still at Experimental stage, most of the major email providers have already adopted it (Hotmail, a MS product, is using SenderID). While SenderID can be considered an extension of the SPF framework, in fact, the keyword it uses [...]]]></description>
			<content:encoded><![CDATA[<p class="MsoNormal">SPF stands for Sender Policy Framework, it is an extension to the SMTP protocol. Though it is still at Experimental stage, most of the major email providers have already adopted it (Hotmail, a MS product, is using SenderID). While SenderID can be considered an extension of the SPF framework, in fact, the keyword it uses in the record is “spf2.0”.</p>
<h2 style="margin-left: 0in; text-indent: 0in"><span dir="ltr">How it works</span></h2>
<p class="MsoNormal">
<h3 style="margin-left: 0in; text-indent: 0in"><span dir="ltr">Sender email address present in the SMTP session</span></h3>
<p class="MsoNormal">There are several sender email addresses present in a normal SMTP session.</p>
<ol type="1" style="margin-top: 0in" start="1">
<li class="MsoNormal">The most      important one is the “mail from” or Return Path or “mfrom” in the senderID      framework. it is the email address provided by the sending server to the      receiving server in the first SMTP command after the handshaking      “HELO/EHLO” command. 2.</li>
<li class="MsoNormal">The “From”      header field. 3.</li>
<li class="MsoNormal">The      “Sender” header field (in the case of multiple email present in the “From”      header field).</li>
<li class="MsoNormal">Other      header fields has the sender email information including “Resent-From”      “Resent-Sender”</li>
</ol>
<p class="MsoNormal">
<p class="MsoNormal">The first one is normally the most important, it is where the email will be returned if it cannot be delivered. In fact, SPF framework only checks the “mail from”.</p>
<p class="MsoNormal">
<p class="MsoNormal">For sender ID frame work, it extract out another sender email other than “mail from” from item 2, 3, 4 listed above. Being called “PRA” (Purported Responsible Address), it is being selected in the following order:</p>
<ol type="1" style="margin-top: 0in" start="1">
<li class="MsoNormal">From</li>
<li class="MsoNormal">Sender</li>
<li class="MsoNormal">Resent-From</li>
<li class="MsoNormal">Resent-Sender</li>
</ol>
<p class="MsoNormal">
<h3 style="margin-left: 0in; text-indent: 0in"><span dir="ltr">Work flow of SPF and SenderID</span></h3>
<p class="MsoNormal">Once a SMTP session starts, the receiving server will obtain the sender email address from the SMTP session.</p>
<p class="MsoNormal">
<p class="MsoNormal">Basically, a SPF / SenderID checking is checking if the current connecting sending server is a match with the server of the sender email address in the message. The workflow is illustrated in the figure below.</p>
<p class="MsoNormal">
<p class="MsoNormal">The major difference between the two is SPF only checks the email address provided by the “Mail From” SMTP command, but SenderID also checks the PRA obtained from the data of the email.</p>
<p><a class="tt-flickr" href="http://www.flickr.com/photos/12906724@N00/2185231622/"><img width="494" height="500" border="0" alt="SPF-Redorc-and-SenderID-diagram" src="http://farm3.static.flickr.com/2360/2185231622_67decf9162.jpg" /></a></p>
<h3 class="western">SPF / SenderID Record format</h3>
<p>SPF /SenderID record are actually DNS records. It can be added in the DNS management page.</p>
<p>The spf record and senderID record share a similar format. It&#8217;s content will be illustrated by examples below.</p>
<p>1.SPF Record</p>
<pre style="margin-bottom: 0.2in">example.org. IN TXT "v=spf1 a mx 123.45.67.89 -all"</pre>
<p>For this line, it means for domain “example.org” there is a “TXT” record in the DNS record. The value of the “TXT” record is “v=spf1 a mx -all”.</p>
<p>While the line “v=spf1 a mx –all” means:</p>
<ol>
<li>“v=spf1” Version 1 of SPF framework record.</li>
<li>“a mx”, if the current connecting server matching the “A” 	record of the server from the “mail from” command, it is 	considered passed. If it does not match, it would check against the 	“MX” record, if it matches it is a pass as well.</li>
<li>“123.45.67.89” is actually an IP address, if the current 	connected sending server matches this IP address, the test is 	passed.</li>
<li>“-all” Means if all the previous tests fails, for all the 	rest will results in a fail status in the SPF check.</li>
</ol>
<p>2.SenderID record</p>
<pre style="margin-bottom: 0.2in"><a name="__firefox-findbar-search-id1"></a><a name="__firefox-findbar-search-id"></a>example.org. IN TXT "<tt>spf2.0/m</tt><tt><font color="#000000"><span style="background: #ffff00 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">from</span></font></tt><tt>,</tt><tt><font color="#000000"><span style="background: #ffff00 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">pra</span></font></tt> a mx 123.45.67.89 -all"</pre>
<p>We can see it is very similar to SPF record except “v=spf1” is being replaced by “spf2.0/mfrom, pra”.</p>
<p>“spf2.0” is the version, and “mfrom, pra” means the receiving server should not only check the “Mail From” email address, but also the PRA email address obtained form the email data. While the checking procedure is the same as SPF record.</p>
<p>It is possible to spicify only checking the “Mail From” email, then the line would be:</p>
<pre style="margin-bottom: 0.2in"><a name="__firefox-findbar-search-id11"></a>example.org. IN TXT "<tt>spf2.0/m</tt><tt><font color="#000000"><span style="background: #ffff00 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">from</span></font></tt> a mx 123.45.67.89 -all"
And if the sending server want only PRA be checked the line should be similar to:
example.org. IN TXT "<tt>spf2.0/</tt><tt><font color="#000000"><span style="background: #ffff00 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">pra</span></font></tt> a mx 123.45.67.89 -all"</pre>
]]></content:encoded>
			<wfw:commentRss>http://imessage.to/html/blog/2008/01/spf-record-and-senderid/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Spam Control Bill - Parliament</title>
		<link>http://imessage.to/html/blog/2007/02/spam-control-bill-parliament/</link>
		<comments>http://imessage.to/html/blog/2007/02/spam-control-bill-parliament/#comments</comments>
		<pubDate>Wed, 21 Feb 2007 05:12:21 +0000</pubDate>
		<dc:creator>james</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://imessage.to/html/blog/archives/20</guid>
		<description><![CDATA[Recently the Singapore Government finally passed the Spam Control Bill - after a lot of consultation and reviews.  The bill will have little effect on the SPAM situation in Singapore since most of the SPAMs originates from overseas, marketing products like viagra, nigerian scams, etc&#8230;.
However it is a good first step.  But how [...]]]></description>
			<content:encoded><![CDATA[<p><img align="left" title="emailtips.png" id="image16" alt="emailtips.png" src="http://imessage.to/html/blog/wp-content/uploads/2007/02/emailtips.png" />Recently the Singapore Government finally passed the <span style="font-weight: bold">Spam Control Bill</span> - after a lot of consultation and reviews.  The bill will have little effect on the SPAM situation in Singapore since most of the SPAMs <span style="font-weight: bold">originates from overseas</span>, marketing products like viagra, nigerian scams, etc&#8230;.</p>
<p>However it is a good first step.  But how will this affect legitimate <span style="font-weight: bold">local SMEs</span> who would like to leverage on <span style="font-weight: bold">email marketing</span> to promote their products to the mass audience?</p>
<p>For those of you who likes reading legal bills, here you go, a link to the <a href="http://www.parliament.gov.sg/Publications/070006.pdf"><span style="font-weight: bold">Spam Control Bill</span></a>.  Honestly, it was a tough read.  After quite a bit of struggling with the legal jargon, I picked up the phone and give <span style="font-weight: bold">Boon Kiat</span> of <span style="font-weight: bold">IDA </span>a call at <span style="font-weight: bold">62111907</span> to clarify the few remaining issues.</p>
<p>For the rest of you lazy buggers, read on:</p>
<p><span id="more-20"></span></p>
<ul>
<li><span style="font-weight: bold">Email harvesting softwares</span> - where robots are sent to comb web pages to extract valid email addresses are considered harmful to society in nature as they consume bandwidth.  <span style="font-weight: bold">Avoided as all costs! </span></li>
<li>SPAM is defined as anything that is <span style="font-weight: bold">unsolicited and commercial</span>.  So mails containing only <span style="font-weight: bold">information like exchange rates</span> will not be considered as SPAM.  However, if they have links to other products the company is marketing, that will be another issue.</li>
<li>Even if a consumer gives the retailer/merchant their email address, it is still considered SPAM as long <span style="font-weight: bold">as he/she did not explicity state that they will like to receive emails from your organisation</span>.</li>
<li><span style="font-weight: bold">Database companies that sell email lists</span>?  Definitely SPAM</li>
</ul>
<p>So is SPAM illegal?  Well, they are not as long as:</p>
<ul>
<li>Your data was not taken from <span style="font-weight: bold">data harvesting softwares</span>.  This effectively means that even if you bought your data from a database firm, you can still send off your marketing messages&#8230; as long as comply with the below guidelines!</li>
<li>Append an <span style="font-weight: bold">ADV</span> in the subject title of your email.</li>
<li>Provide an <span style="font-weight: bold">unsubscribe link </span>that allows the user to <span style="font-weight: bold">unsubscribe</span>.</li>
<li>Comply will all unsubscription requests within <span style="font-weight: bold">10 days</span>.</li>
</ul>
<p>Below are some snapshots from excerpts of the Bill.</p>
<p><img alt="contactemail.gif" id="image21" src="http://imessage.to/html/blog/wp-content/uploads/2007/02/contactemail.gif" /></p>
<p><img alt="advsubjecttitle.gif" id="image22" src="http://imessage.to/html/blog/wp-content/uploads/2007/02/advsubjecttitle.gif" /></p>
<p><img alt="10businessdays.gif" id="image23" src="http://imessage.to/html/blog/wp-content/uploads/2007/02/10businessdays.gif" /></p>
]]></content:encoded>
			<wfw:commentRss>http://imessage.to/html/blog/2007/02/spam-control-bill-parliament/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Hard Bounce &#038; Soft Bounce Detection</title>
		<link>http://imessage.to/html/blog/2006/11/hard-bounce-soft-bounce-detection/</link>
		<comments>http://imessage.to/html/blog/2006/11/hard-bounce-soft-bounce-detection/#comments</comments>
		<pubDate>Sun, 19 Nov 2006 22:06:44 +0000</pubDate>
		<dc:creator>james</dc:creator>
		
		<category><![CDATA[features]]></category>

		<guid isPermaLink="false">http://imessage.to/html/blog/archives/15</guid>
		<description><![CDATA[ Recently, a prospect asked if our system supports both hard bounce and soft bounce detection.  Well, the answer is a definite yes!  However, we would just like to take this opportunity to educate our users on the difference between these 2 types of bounces.
Hard Bounce occurs when a user sends an email [...]]]></description>
			<content:encoded><![CDATA[<p><a class="tt-flickr" href="http://www.flickr.com/photos/12906724@N00/301218544/"><img align="left" title="Image001" alt="Image001" src="http://static.flickr.com/108/301218544_58b6cc4d8a_m.jpg" /></a> Recently, a prospect asked if our system supports both <strong>hard bounce</strong> and <strong>soft bounce </strong>detection.  Well, the answer is a definite yes!  However, we would just like to take this opportunity to educate our users on the difference between these <strong>2 types of bounces</strong>.</p>
<p><strong>Hard Bounce</strong> occurs when a user sends an email to an invalid email address.  <strong>Soft Bounce</strong> occurs when a user sends an email to a server which is currently not available for receiving mails.  In the case of <strong>Hard Bounces</strong>, we need to immediately stop sending to these recipients.  ISPs have been known to <strong>blacklist</strong> people who send their mailers to a <strong>large proportion of invalid email addresses</strong> (So for people who go about acquiring databases.. be forewarned!).</p>
<p><span id="more-15"></span></p>
<p><strong>Hard Bounc</strong>e occurs for a variety of reasons:</p>
<ul>
<li>data entry error, i.e. keying in wrong email address</li>
<li>expired email addresses, i.e. customers giving up their singnet, singtel account</li>
<li>expired domain names</li>
</ul>
<p><strong>Soft Bounce</strong> occurs when:</p>
<ul>
<li>a SMTP server requests for a resend at a later time.  this can be due to either <strong>greylisting </strong>or just the server&#8217;s inate way to keep up with mail overload.</li>
</ul>
<p><u><strong>EMAIL SENDING CYCLE</strong></u></p>
<p><a class="tt-flickr" href="http://www.flickr.com/photos/12906724@N00/301248566/"><img width="380" height="398" border="0" alt="bounceTypes" src="http://static.flickr.com/107/301248566_d2626894fa.jpg" /></a></p>
<ol>
<li>The client <span style="font-weight: bold">SMTP Server</span> contacts the <span style="font-weight: bold">Domain Name Server</span> to resolve the email address&#8217; domain name. If the email address is abc@yahoo.com, the SMTP server will basically try to resolve yahoo.com and find out the IP address of the server.</li>
<li>If the <span style="font-weight: bold">domain name is not registered</span>, the email address is immediately treated as a h<span style="font-weight: bold">ard bounced</span>.  In the case of a mistype email, i.e. abc@yahood.com, the domain name yahood.com not be registered.</li>
<li>The client SMTP Server then tries to contact the recipient&#8217;s server to deliver the message.</li>
<li>Here, the recipient&#8217;s server might choose to <span style="font-weight: bold">report that the email address is invalid immediately</span>.</li>
<li>Alternatively, the recipien&#8217;s server might choose to <span style="font-weight: bold">send an email a few days later telling the sender that it is invalid</span>.</li>
</ol>
<p>Most systems only detect up to direct hard bounce, i.e. Step 4.  They do not detect Step 5 as that requires <span style="font-weight: bold">direct access to your sender&#8217;s POP mailbox to parse through the bounced messages</span>.</p>
<p>We understand the importance of keeping the privacy of your POP accounts.  As such, we did a <span style="font-weight: bold">nifty implementation</span> on our side to</p>
<blockquote><p><span style="font-weight: bold">direct all your bounced messages</span> to a <span style="font-weight: bold">virtual mailbox</span> on our side while <span style="font-weight: bold">keeping your customers&#8217; replies directed back to you</span>.</p></blockquote>
<p>In this way, our client can track all bounces without getting their mailboxes flooded with an onslaught of bounced mails!</p>
]]></content:encoded>
			<wfw:commentRss>http://imessage.to/html/blog/2006/11/hard-bounce-soft-bounce-detection/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>

