<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="https://www.w3.org/2005/Atom" xmlns:sy="https://purl.org/rss/1.0/modules/syndication/" xmlns:dc="https://purl.org/dc/elements/1.1/" xmlns:content="https://purl.org/rss/1.0/modules/content/" xmlns:wfw="https://wellformedweb.org/CommentAPI/" xmlns:slash="https://purl.org/rss/1.0/modules/slash/"
  version="2.0">
  <channel>
    <title>Nayan's [MSFT] Blog</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/nayan/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/nayan/feed.xml</link>
    <description />
    <lastBuildDate>Wed, 17 Apr 2019 03:24:22 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>Exchange 2003 and Outlook 2003 moves to Extended Support</title>
      <link>https://docs.microsoft.com/archive/blogs/nayan/exchange-2003-and-outlook-2003-moves-to-extended-support</link>
      <pubDate>Fri, 10 Apr 2009 16:35:06 GMT</pubDate>
      <dc:creator><![CDATA[Nayan K]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/nayan/2009/04/10/exchange-2003-and-outlook-2003-moves-to-extended-support/</guid>
      <description><![CDATA[digg_url =...]]></description>
      <content:encoded><![CDATA[<div class="wlWriterHeaderFooter" style="float:right; margin:0px; padding:0px 0px 4px 8px;"><script type="text/javascript">digg_url = "https://blogs.msdn.com/nayan/archive/2009/04/10/exchange-2003-and-outlook-2003-moves-to-extended-support.aspx";digg_title = "Exchange 2003 and Outlook 2003 moves to Extended Support";digg_bgcolor = "#FFFFFF";digg_skin = "normal";</script><script src="https://digg.com/tools/diggthis.js" type="text/javascript"></script><script type="text/javascript">digg_url = undefined;digg_title = undefined;digg_bgcolor = undefined;digg_skin = undefined;</script></div><p>Exchange Server 2003 goes into Extended Support on 4/14/2009.<br>Details on our lifecycle policy for Exchange 2003 can be found at <a href="https://support.microsoft.com/lifecycle/?LN=en-us&amp;p1=1773&amp;x=11&amp;y=9">https://support.microsoft.com/lifecycle/?LN=en-us&amp;p1=1773&amp;x=11&amp;y=9</a><br></p> <table border="1" cellspacing="0" cellpadding="2" width="774"> <tbody> <tr> <td valign="top" width="70">Products Released</td> <td valign="top" width="73">General Availability Date</td> <td valign="top" width="73"> <p>Mainstream Support Retired</p></td> <td valign="top" width="69">Extended Support Retired</td> <td valign="top" width="70">Service Pack Retired</td> <td valign="top" width="417">Notes</td></tr> <tr> <td valign="top" width="72">Exchange Server 2003 Enterprise Edition</td> <td valign="top" width="77">9/28/2003</td> <td valign="top" width="76">4/14/2009</td> <td valign="top" width="71">4/8/2014</td> <td valign="top" width="72"> <p>5/25/2005</p></td> <td valign="top" width="412">&nbsp;</td></tr> <tr> <td valign="top" width="72">Exchange Server 2003 Service Pack 1</td> <td valign="top" width="79">5/25/2004</td> <td valign="top" width="78">Not Applicable</td> <td valign="top" width="71">Not Applicable</td> <td valign="top" width="72">1/8/2008</td> <td valign="top" width="411">&nbsp;</td></tr> <tr> <td valign="top" width="72">Exchange Server 2003 Service Pack 2</td> <td valign="top" width="79">10/19/2005</td> <td valign="top" width="79">Review Note</td> <td valign="top" width="71">Review Note</td> <td valign="top" width="72">&nbsp;</td> <td valign="top" width="410"> <p>Support ends 12 months after the next service pack releases or at the end of the product's support lifecycle, whichever comes first.&nbsp; For more information, please see the service pack policy at&nbsp; <a href="https://support.microsoft.com/lifecycle/#ServicePackSupport">https://support.microsoft.com/lifecycle/#ServicePackSupport</a></p></td></tr> <tr> <td valign="top" width="72">Exchange Server 2003 Standard Edition</td> <td valign="top" width="79">9/28/2003</td> <td valign="top" width="79"> <p>4/14/2009</p></td> <td valign="top" width="71">4/8/2014</td> <td valign="top" width="72">5/25/2005</td> <td valign="top" width="410">&nbsp;</td></tr></tbody></table> <p><br>Outlook 2003 goes into Extended Support on 4/14/2009.<br><a href="https://support.microsoft.com/lifecycle/?p1=2520">https://support.microsoft.com/lifecycle/?p1=2520</a><br></p> <table border="1" cellspacing="0" cellpadding="2" width="392"> <tbody> <tr> <td valign="top" width="80">Products Released</td> <td valign="top" width="73">General Availability Date</td> <td valign="top" width="73">Mainstream Support Retired</td> <td valign="top" width="62">Extended Support Retired</td> <td valign="top" width="63">Service Pack Retired</td> <td valign="top" width="39">Notes</td></tr> <tr> <td valign="top" width="77">Outlook 2003</td> <td valign="top" width="75">11/20/2003</td> <td valign="top" width="75">4/14/2009</td> <td valign="top" width="63">4/8/2014</td> <td valign="top" width="67">&nbsp;</td> <td valign="top" width="42">&nbsp;</td></tr></tbody></table>]]></content:encoded>
    </item>
    <item>
      <title>Outlook Rules!</title>
      <link>https://docs.microsoft.com/archive/blogs/nayan/outlook-rules</link>
      <pubDate>Tue, 07 Apr 2009 16:57:24 GMT</pubDate>
      <dc:creator><![CDATA[Nayan K]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/nayan/2009/04/07/outlook-rules/</guid>
      <description><![CDATA[Rules are evaluated in sequence according to the increasing order of this value. The evaluation...]]></description>
      <content:encoded><![CDATA[<p></p>Rules are evaluated in sequence according to the increasing order of this value. The evaluation order for rules that have the same value in this property is undefined.<br>PidTagRuleSequence: <a title="https://msdn.microsoft.com/en-us/library/dd188686.aspx" href="https://msdn.microsoft.com/en-us/library/dd188686.aspx">https://msdn.microsoft.com/en-us/library/dd188686.aspx</a><br><br> <p>The Rule.ExecutionOrder property could be used to assign priority to rules. Rules.Item(1) represents a rule with ExecutionOrder being 1, Rules.Item(2) represents a rule with ExecutionOrder being 2, and Rules.Item(Rules.Count) represents the rule with ExecutionOrder being Rules.Count.<br><a title="https://msdn.microsoft.com/en-us/library/bb176165.aspx" href="https://msdn.microsoft.com/en-us/library/bb176165.aspx">https://msdn.microsoft.com/en-us/library/bb176165.aspx</a>  <p>The below VBA script changes the Execution order of the 2nd rule whose execution order is 2nd to last.<br>Whenever the order for the rule x changed to x+n, all the rules from x+1 till x+n is shifted up.<br><br>E.g. If there are 5 rules and the 2nd rule whose Execution order is 2nd is changed to 5:<br>Rule 3 execution order is changed to 2<br>Rule 4 execution order is changed to 3<br>Rule 5 execution order is changed to 4<br>Rule 2 execution order is changed to 5</p><pre class="csharpcode"><span class="kwrd">Sub</span> CreateRule()
    <span class="kwrd">Dim</span> colRules <span class="kwrd">As</span> Outlook.Rules
    <span class="kwrd">Dim</span> oRule <span class="kwrd">As</span> Outlook.Rule
    <span class="kwrd">Dim</span> colRuleActions <span class="kwrd">As</span> Outlook.RuleActions
    <span class="kwrd">Dim</span> oMoveRuleAction <span class="kwrd">As</span> Outlook.MoveOrCopyRuleAction
    <span class="kwrd">Dim</span> oFromCondition <span class="kwrd">As</span> Outlook.ToOrFromRuleCondition
    <span class="kwrd">Dim</span> oExceptSubject <span class="kwrd">As</span> Outlook.TextRuleCondition
    <span class="kwrd">Dim</span> oInbox <span class="kwrd">As</span> Outlook.Folder
    <span class="kwrd">Dim</span> oMoveTarget <span class="kwrd">As</span> Outlook.Folder
    <span class="kwrd">Dim</span> intCounter <span class="kwrd">As</span> <span class="kwrd">Integer</span>
    <span class="kwrd">Dim</span> oRuleCount <span class="kwrd">As</span> <span class="kwrd">Integer</span> 

    <span class="kwrd">Set</span> oInbox = Application.Session.GetDefaultFolder(olFolderInbox)
    <span class="rem">'Get Rules from Session.DefaultStore object</span>
    <span class="kwrd">Set</span> colRules = Application.Session.DefaultStore.GetRules()
    oRuleCount = colRules.Count
    Debug.Print oRuleCount
    intCounter = 1
    <span class="kwrd">Do</span> <span class="kwrd">While</span> intCounter &lt; (colRules.Count + 1)
        <span class="kwrd">Set</span> oRule = colRules.Item(intCounter)
        Debug.Print oRule.Name
        Debug.Print oRule.ExecutionOrder
        intCounter = intCounter + 1
    <span class="kwrd">Loop</span>
    <span class="kwrd">Set</span> oRule = colRules.Item(2)
    oRule.ExecutionOrder = oRuleCount
    <span class="rem">'Update the server and display progress dialog</span>
    colRules.Save
<span class="kwrd">End</span> Sub</pre>
<style type="text/css">.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
</style>

<p>If a rule is created using the Outlook Rules Wizard, its value is least and has highest priority. The existing rules gets pushed down by 1 i.e. PR_RULE_SEQUENCE gets increased by 1 for all the existing rules.<br>Conversely, a new rule gets higher priority when created using Outlook wizard or using Outlook Object model programmatically.</p>]]></content:encoded>
    </item>
    <item>
      <title>Outlook 2007 and Simple MAPI</title>
      <link>https://docs.microsoft.com/archive/blogs/nayan/outlook-2007-and-simple-mapi</link>
      <pubDate>Tue, 07 Apr 2009 16:17:46 GMT</pubDate>
      <dc:creator><![CDATA[Nayan K]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/nayan/2009/04/07/outlook-2007-and-simple-mapi/</guid>
      <description><![CDATA[We have seen a lot of applications that use Simple MAPI. Unlike Extended MAPI (or MAPI), it is...]]></description>
      <content:encoded><![CDATA[<p>We have seen a lot of applications that use Simple MAPI. Unlike Extended MAPI (or MAPI), it is supported in managed code as well.<br><br>Also, a lot developers have come across issues with Simple MAPI with Outlook 2007.<br>Starting with Outlook 2007, Simple MAPI is no longer supported. However, its still supported by Exchange 2003.<br><a title="https://msdn.microsoft.com/en-us/library/cc815424.aspx" href="https://msdn.microsoft.com/en-us/library/cc815424.aspx">https://msdn.microsoft.com/en-us/library/cc815424.aspx</a></p>]]></content:encoded>
    </item>
    <item>
      <title>Using Powershell to send email message using CDOSYS</title>
      <link>https://docs.microsoft.com/archive/blogs/nayan/using-powershell-to-send-email-message-using-cdosys</link>
      <pubDate>Fri, 16 Jan 2009 16:18:00 GMT</pubDate>
      <dc:creator><![CDATA[Nayan K]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/nayan/2009/01/16/using-powershell-to-send-email-message-using-cdosys/</guid>
      <description><![CDATA[Scripts are used&nbsp;do a pre-check before getting started with debugging application.VB Scripts...]]></description>
      <content:encoded><![CDATA[<P>Scripts are used&nbsp;do a pre-check before getting started with debugging application.<BR>VB Scripts being the favourite on Microsoft platform.<BR><BR>Most common being CDOSYS issues.<BR><BR>Below is the Powershell script to send email using System.Net.Mail namespace.<BR><BR>[System.Net.Mail.MailMessage]$message = New-Object System.Net.Mail.MailMessage("<A href="mailto:from@contoso.com" mce_href="mailto:from@contoso.com">from<A href="mailto:to@n" mce_href="mailto:to@n">@</A>contoso.com</A>", "<A href="mailto:to@contoso.com" mce_href="mailto:to@contoso.com">to<A href="mailto:to@n" mce_href="mailto:to@n">@</A>contoso.com</A>", "This is Subject", "This is body")<BR>[System.Net.Mail.SmtpClient]$client = New-Object System.Net.Mail.SmtpClient("XXX.XXX.XXX.XXX")<BR>$client.Timeout = 100<BR>$client.Send($message)<BR><BR>Long live Powershell!</P>]]></content:encoded>
    </item>
    <item>
      <title>PST folder Hierarchy</title>
      <link>https://docs.microsoft.com/archive/blogs/nayan/pst-folder-hierarchy</link>
      <pubDate>Fri, 28 Nov 2008 16:51:44 GMT</pubDate>
      <dc:creator><![CDATA[Nayan K]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/nayan/2008/11/28/pst-folder-hierarchy/</guid>
      <description><![CDATA[The article sheds light into how PST folder hierarchy is created.Adding a PST to an existing profile...]]></description>
      <content:encoded><![CDATA[<p>The article sheds light into how PST folder hierarchy is created.<br><br>Adding a PST to an existing profile doesn't create the all the Special Folders and looks as below:<br><br><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_msdn/nayan/WindowsLiveWriter/PSTfolderHierarchy_2F3E/image_4.png" original-url="https://blogs.msdn.com/blogfiles/nayan/WindowsLiveWriter/PSTfolderHierarchy_2F3E/image_4.png"><img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_msdn/nayan/WindowsLiveWriter/PSTfolderHierarchy_2F3E/image_thumb_1.png" original-url="https://blogs.msdn.com/blogfiles/nayan/WindowsLiveWriter/PSTfolderHierarchy_2F3E/image_thumb_1.png" width="201" height="122"></a> <br><br>We have the IPM Root, Common Views, Search Results, Deleted Items under the "Top of Personal Folders".<br>In short, the IPM subtree doesn't gets fully constructed which should include Outbox folder, Sent Items Folder and the Receive folder like the Inbox.<br><br>However, if the PST is set as the Default folder, we will see all the eight special folders that are part of IPM subtree are created and usually cannot be deleted in Outlook.<br><br>&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_msdn/nayan/WindowsLiveWriter/PSTfolderHierarchy_2F3E/image_8.png" original-url="https://blogs.msdn.com/blogfiles/nayan/WindowsLiveWriter/PSTfolderHierarchy_2F3E/image_8.png"><img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_msdn/nayan/WindowsLiveWriter/PSTfolderHierarchy_2F3E/image_thumb_3.png" original-url="https://blogs.msdn.com/blogfiles/nayan/WindowsLiveWriter/PSTfolderHierarchy_2F3E/image_thumb_3.png" width="217" height="162"></a></p>]]></content:encoded>
    </item>
    <item>
      <title>What you need to know about MAPI properties</title>
      <link>https://docs.microsoft.com/archive/blogs/nayan/what-you-need-to-know-about-mapi-properties</link>
      <pubDate>Fri, 31 Oct 2008 11:02:19 GMT</pubDate>
      <dc:creator><![CDATA[Nayan K]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/nayan/2008/10/31/what-you-need-to-know-about-mapi-properties/</guid>
      <description><![CDATA[MAPI properties runs from 0001 to 3FFF4000 to 7FFF belongs to message and recipient properties, and...]]></description>
      <content:encoded><![CDATA[<p>MAPI properties runs from 0001 to 3FFF<br>4000 to 7FFF belongs to message and recipient properties, and either clients or service providers can define properties in this range<br>Named properties – 8000 onwards<br>Secure profile properties for Service providers - 0x67F0 through 0x67FF  <p>When we use Named properties, MAPI picks up an available property identifier. This way it avoids conflict with the properties that are being used by MAPI clients like Outlook.<br><strong><br>Transmittable/Non-transmittable properties</strong><br>Non-transmittable properties usually contain information that is of value only to clients and service providers operating with the current session. These properties would not necessarily be useful to another messaging system and another set of service providers.  <p>A non-transmittable message property exposed at both the sending and receiving ends of a transmission, with different values depending upon the client application or store provider involved. This property is initialized by the client or message store provider when a message is created and saved for the first time and then updated periodically by the message store provider, a transport provider, and the MAPI spooler as the message is processed and its state changes.  <p>Transmittable properties are transferred with a message; non-transmittable properties are not transferred with a message. The concept of transmittable properties applies primarily to transport providers.</p>]]></content:encoded>
    </item>
    <item>
      <title>GetAttachment doesn't get Size of the attachment</title>
      <link>https://docs.microsoft.com/archive/blogs/nayan/getattachment-doesnt-get-size-of-the-attachment</link>
      <pubDate>Thu, 13 Dec 2007 15:41:00 GMT</pubDate>
      <dc:creator><![CDATA[Nayan K]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/nayan/2007/12/13/getattachment-doesnt-get-size-of-the-attachment/</guid>
      <description><![CDATA[For those, who&nbsp;don't use Exchange Web Services API, but bank on its Requests and Responses.An...]]></description>
      <content:encoded><![CDATA[<P mce_keep="true">For those, who&nbsp;don't use Exchange Web Services API, but bank on its Requests and Responses.<BR><BR>An email message has a attachment table that contains the attachments, and these in turn contain the properties such as PR_ATTACH_SIZE, PR_ATTACH_DATA_BIN etc. This means that email message doesn't have any of the attachment properties on it.<BR><BR>The GetItem could be used to get the all the properties of an email message, the extended properties being got by PathToExtendedFieldType.<BR><BR>The GetAttachment doesn't get the PR_ATTACH_SIZE MAPI Property when being given the Attachment ID. The size could be found by using the Length property of the Content fetched in the byte array.<BR><BR>This is also validated with PathToExtendedFieldType, which when usen in GetAttachment request doesn't send back the PR_ATTACH_SIZE.<BR><I><BR></I><EM>GetAttachmentType getAttachmentRequest = new GetAttachmentType();</EM><I><BR></I><EM>getAttachmentRequest.AttachmentShape = new AttachmentResponseShapeType();</EM><I><BR></I><EM>PathToExtendedFieldType pteftFlagStatus = new PathToExtendedFieldType();</EM><I><BR></I><EM>pteftFlagStatus.PropertyTag = "0x0E20"; // Tag of PR_ATTACH_SIZE</EM><I><BR></I><EM>pteftFlagStatus.PropertyType = MapiPropertyTypeType.Long;</EM><I></I></P>
<P><U>REQUEST<BR></U>&lt;?xml version="1.0"?&gt;<BR>&nbsp; &lt;GetAttachmentType xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="https://www.w3.org/2001/XMLSchema"&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;AttachmentShape xmlns="https://schemas.microsoft.com/exchange/services/2006/messages"&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;AdditionalProperties xmlns="https://schemas.microsoft.com/exchange/services/2006/types"&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;ExtendedFieldURI PropertyTag="0x0E20" PropertyType="Long" /&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/AdditionalProperties&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;/AttachmentShape&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;AttachmentIds xmlns="https://schemas.microsoft.com/exchange/services/2006/messages"&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;AttachmentId Id="AAAaAEFkbWluaXN0cmF0b3JAZGMxMjkw...&lt;/AttachmentIds&gt;<BR>&lt;/GetAttachmentType&gt;</P>
<P><U>RESPONSE<BR></U>&lt;?xml version="1.0"?&gt;<BR>&nbsp; &lt;GetAttachmentResponseType xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="https://www.w3.org/2001/XMLSchema"&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;ResponseMessages xmlns="https://schemas.microsoft.com/exchange/services/2006/messages"&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;GetAttachmentResponseMessage ResponseClass="Success"&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;ResponseCode&gt;NoError&lt;/ResponseCode&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;Attachments&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;FileAttachment xmlns="https://schemas.microsoft.com/exchange/services/2006/types"&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;AttachmentId Id="AAAaAEFkbWluaXN0cmF0b3JAZG...&lt;Name&gt;smime.p7m&lt;/Name&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;ContentType&gt;multipart/signed&lt;/ContentType&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;Content&gt;TUlNRS1WZXJza.....<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/Content&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/FileAttachment&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/Attachments&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/GetAttachmentResponseMessage&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;/ResponseMessages&gt;<BR>&lt;/GetAttachmentResponseType&gt;<BR><BR>There we go. The response doesn't yield the Extended Field type property.<BR>Hence, the theorem.</P>
<P mce_keep="true">&nbsp;</P>]]></content:encoded>
    </item>
    <item>
      <title>Personal Store (PST) without Outlook</title>
      <link>https://docs.microsoft.com/archive/blogs/nayan/personal-store-pst-without-outlook</link>
      <pubDate>Thu, 13 Dec 2007 15:00:00 GMT</pubDate>
      <dc:creator><![CDATA[Nayan K]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/nayan/2007/12/13/personal-store-pst-without-outlook/</guid>
      <description><![CDATA[Is there a way to access Personal Store (PST) wihtout having Outlook installed?Reason: Take out the...]]></description>
      <content:encoded><![CDATA[<P>Is there a way to access Personal Store (PST) wihtout having Outlook installed?<BR>Reason: Take out the Outlook dependency from PST ;-)<BR><BR>Further to SGRIFFIN'S blog:<BR><A href="https://blogs.msdn.com/stephen_griffin/archive/2007/03/19/mapi-and-exchange-2007.aspx">https://blogs.msdn.com/stephen_griffin/archive/2007/03/19/mapi-and-exchange-2007.aspx</A><BR><BR>Exchange 2007 onwards, MAPI isn't included on the box and available as separate download:<BR><A href="https://www.microsoft.com/downloads/details.aspx?FamilyID=e17e7f31-079a-43a9-bff2-0a110307611e&amp;DisplayLang=en">https://www.microsoft.com/downloads/details.aspx?FamilyID=e17e7f31-079a-43a9-bff2-0a110307611e&amp;DisplayLang=en</A><BR><BR>The MSPST32.DLL shipped in this ExchangeMapiCdo download is the one of Exchange, that doesn't provide support for Unicode.<BR><BR>So, there is no way to access Unicode PSTs other than installing Outlook.<BR><BR>Long live Outlook!</P>]]></content:encoded>
    </item>
    <item>
      <title>How to get the body of the email message using Exchange 2007 Web services</title>
      <link>https://docs.microsoft.com/archive/blogs/nayan/how-to-get-the-body-of-the-email-message-using-exchange-2007-web-services</link>
      <pubDate>Fri, 29 Jun 2007 16:43:00 GMT</pubDate>
      <dc:creator><![CDATA[Nayan K]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/nayan/2007/06/29/how-to-get-the-body-of-the-email-message-using-exchange-2007-web-services/</guid>
      <description><![CDATA[Futher to SGriffin's Weblog&nbsp;as...]]></description>
      <content:encoded><![CDATA[<P><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">Futher to SGriffin's Weblog&nbsp;as below:<BR><A href="https://blogs.msdn.com/stephen_griffin/archive/2007/02/09/exchange-web-services-and-internet-message-headers.aspx" mce_href="https://blogs.msdn.com/stephen_griffin/archive/2007/02/09/exchange-web-services-and-internet-message-headers.aspx"><SPAN style="COLOR: windowtext">https://blogs.msdn.com/stephen_griffin/archive/2007/02/09/exchange-web-services-and-internet-message-headers.aspx</SPAN></A><BR><BR>in order to access the body of an email message, the MAPI property&nbsp;PR_BODY_HTML (0x1013) could be used.<BR>However, we need to remember the property is binary in nature and base64 encoded.<BR>Here comes Convert.FromBase64String, System.Text.ASCIIEncoding&nbsp;to our rescue using which the ASCII of the body could be got, as below:<BR>&nbsp; <BR>&nbsp; byte [] bAscii = Convert.FromBase64String(it.ExtendedProperty[0].Item.ToString());<BR>&nbsp; System.Text.ASCIIEncoding enc = new System.Text.ASCIIEncoding();<BR>&nbsp; string str = enc.GetString(bAscii);<BR><BR>/* Source Code */<BR>using System;<BR>using System.Collections.Generic;<BR>using System.ComponentModel;<BR>using System.Data;<BR>using System.Text;<BR>using System.Net;<BR>using System.IO;<BR>using System.Xml.Serialization;<BR>using WebServices1.localhost;<BR><BR>namespace WebServices1<BR>{<BR>&nbsp; class Program<BR>&nbsp; {<BR>&nbsp;&nbsp;&nbsp; static void Main(string[] args)<BR>&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ExchangeServiceBinding esb = new ExchangeServiceBinding();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; esb.Credentials = new NetworkCredential("username", "password", "domain");<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; esb.Url = @<A href="https://localhost/EWS/Exchange.asmx" mce_href="https://localhost/EWS/Exchange.asmx"><SPAN style="COLOR: windowtext">https://localhost/EWS/Exchange.asmx</SPAN></A>;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DistinguishedFolderIdType[] folderIDArray = new DistinguishedFolderIdType[1];<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; folderIDArray[0] = new DistinguishedFolderIdType();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; folderIDArray[0].Id = DistinguishedFolderIdNameType.inbox;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //set the props that we want to retrieve<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FolderResponseShapeType frst = new FolderResponseShapeType();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; frst.BaseShape = DefaultShapeNamesType.AllProperties;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; GetFolderType myfoldertype = new GetFolderType();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; myfoldertype.FolderIds = folderIDArray;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; myfoldertype.FolderShape = frst;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Console.WriteLine("Getting inbox");<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; GetFolderResponseType myFolder = esb.GetFolder(myfoldertype);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FolderInfoResponseMessageType firmtInbox = (FolderInfoResponseMessageType)myFolder.ResponseMessages.Items[0];<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Console.WriteLine("got folder: {0}", firmtInbox.Folders[0].DisplayName);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PathToUnindexedFieldType ptuftSubject = new PathToUnindexedFieldType();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ptuftSubject.FieldURI = UnindexedFieldURIType.itemSubject;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PathToExtendedFieldType pteftFlagStatus = new PathToExtendedFieldType();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pteftFlagStatus.PropertyTag = "0x1013"; // PR_BODY_HTML<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pteftFlagStatus.PropertyType = MapiPropertyTypeType.Binary;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FindItemType findItemRequest = new FindItemType();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; findItemRequest.Traversal = ItemQueryTraversalType.Shallow;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; findItemRequest.ItemShape = new ItemResponseShapeType();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; findItemRequest.ItemShape.BaseShape = DefaultShapeNamesType.AllProperties;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; findItemRequest.ItemShape.AdditionalProperties = new BasePathToElementType[2];<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; findItemRequest.ItemShape.AdditionalProperties[0] = ptuftSubject;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; findItemRequest.ItemShape.AdditionalProperties[1] = pteftFlagStatus;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; findItemRequest.ParentFolderIds = new FolderIdType[] { firmtInbox.Folders[0].FolderId };<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FindItemResponseType firt = esb.FindItem(findItemRequest);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; foreach (FindItemResponseMessageType firmtMessage in firt.ResponseMessages.Items)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (null != firmtMessage.RootFolder &amp;&amp; firmtMessage.RootFolder.TotalItemsInView &gt; 0)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; foreach (ItemType it in ((ArrayOfRealItemsType)firmtMessage.RootFolder.Item).Items)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Console.WriteLine("got item subject: {0}", it.Subject);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (null != it.ExtendedProperty)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Console.WriteLine("Prop PR_BODY_HTML(Binary): {0}", it.ExtendedProperty[0].Item.ToString());<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;byte [] bAscii = Convert.FromBase64String(it.ExtendedProperty[0].Item.ToString());<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Console.WriteLine();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.Text.ASCIIEncoding enc = new System.Text.ASCIIEncoding();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string str = enc.GetString(bAscii);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Console.WriteLine("Prop PR_BODY_HTML(ASCII): {0}", str);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Console.WriteLine("Prop PR_BODY_HTML: not found");<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Console.WriteLine("\nHit any key to continue");<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Console.ReadKey(true);<BR>&nbsp;&nbsp;&nbsp; }<BR>&nbsp; }<BR>}</SPAN></P>]]></content:encoded>
    </item>
    <item>
      <title>ï»¿ getting inserted before the base64 encoded representation of the binary data of GIF image</title>
      <link>https://docs.microsoft.com/archive/blogs/nayan/getting-inserted-before-the-base64-encoded-representation-of-the-binary-data-of-gif-image</link>
      <pubDate>Mon, 25 Jun 2007 06:29:00 GMT</pubDate>
      <dc:creator><![CDATA[Nayan K]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/nayan/2007/06/25/getting-inserted-before-the-base64-encoded-representation-of-the-binary-data-of-gif-image/</guid>
      <description><![CDATA[When an&nbsp;application is creating a CDO[6.5.6756.0] Message and inserting a BodyPart of the type...]]></description>
      <content:encoded><![CDATA[<P class=MsoNormal><FONT face=Tahoma color=black size=2><SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Tahoma">When an&nbsp;application is creating a CDO[6.5.6756.0] Message and inserting a BodyPart of the type GIF image</SPAN></FONT><FONT face=Tahoma color=black size=2><SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Tahoma">, and the base64 encoded representation of the binary data is initialized to the body part as shown below:<BR></SPAN></FONT><B><I><FONT face=Tahoma color=black size=2><SPAN style="FONT-WEIGHT: bold; FONT-SIZE: 10pt; COLOR: black; FONT-STYLE: italic; FONT-FAMILY: Tahoma">Const c_Base64Sample</SPAN></FONT></I></B><FONT face=Tahoma color=black size=2><SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Tahoma"> = "R0lGODlhEAAOAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A/wD"<BR></SPAN></FONT><FONT face=Tahoma color=black size=2><SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Tahoma"><BR>sFile = "sample.gif"<BR></SPAN></FONT><FONT face=Tahoma color=black size=2><SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Tahoma">sContentType = "image/gif"<BR></SPAN></FONT><FONT face=Tahoma color=black size=2><SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Tahoma">Set iPartAttach = iPartBody.AddBodyPart<BR></SPAN></FONT><FONT face=Tahoma color=black size=2><SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Tahoma">iPartAttach.ContentMediaType = sContentType &amp; "; name=""" &amp; sFile &amp; """"<BR></SPAN></FONT><FONT face=Tahoma color=black size=2><SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Tahoma">iPartAttach.ContentTransferEncoding = "base64"<BR></SPAN></FONT><FONT face=Tahoma color=black size=2><SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Tahoma">iPartAttach.Fields("urn:schemas:mailheader:priority") = ""<BR></SPAN></FONT><FONT face=Tahoma color=black size=2><SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Tahoma">iPartAttach.Fields("urn:schemas:mailheader:importance") = ""<BR></SPAN></FONT><FONT face=Tahoma color=black size=2><SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Tahoma">iPartAttach.Fields("urn:schemas:mailheader:content-transfer-encoding") = "base64"<BR></SPAN></FONT><FONT face=Tahoma color=black size=2><SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Tahoma">iPartAttach.Fields("urn:schemas:mailheader:content-disposition") = "attachment; filename=""" &amp; sFile &amp; """"<BR></SPAN></FONT><FONT face=Tahoma color=black size=2><SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Tahoma">iPartAttach.Fields.Update<BR></SPAN></FONT><FONT face=Tahoma color=black size=2><SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Tahoma"><BR>Set stmWrite = iPartAttach.GetEncodedContentStream<BR></SPAN></FONT><FONT face=Tahoma color=black size=2><SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Tahoma">stmWrite.WriteText <B><I><SPAN style="FONT-WEIGHT: bold; FONT-STYLE: italic">c_Base64Sample<BR></SPAN></I></B></SPAN></FONT><FONT face=Tahoma color=black size=2><SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Tahoma">stmWrite.Flush<BR></SPAN></FONT><FONT face=Tahoma color=black size=2><SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Tahoma">stmWrite.Close<BR><BR>ï»¿ getting inserted before the base64 encoded representation of the binary data of GIF image, and displayed when read back as below:<BR><BR>Dim stm As ADODB.Stream<BR><FONT face=Tahoma color=black size=2><SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Tahoma">Set stm = i_iMsg.GetStream()<BR></SPAN></FONT><FONT face=Tahoma color=black size=2><SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Tahoma">Text1.Text = stm.ReadText</SPAN></FONT><FONT face=Tahoma color=black size=2><SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Tahoma"><BR></SPAN></FONT></SPAN></FONT><FONT face=Tahoma color=black size=2><SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Tahoma"><FONT face=Tahoma color=black size=2><SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Tahoma">stm.Close<BR><FONT face=Tahoma color=black size=5><SPAN style="FONT-SIZE: 20pt; COLOR: black; FONT-FAMILY: Tahoma"><BR>ï»¿</SPAN></FONT><FONT face=Tahoma color=black size=2><SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Tahoma">R0lGODlhEAAOAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A/wD<BR><BR>This could be corrected by setting the charset of the stream to "us-ascii"<BR></SPAN></FONT></SPAN></FONT></SPAN></FONT><FONT face=Tahoma color=black size=2><SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Tahoma">stmWrite.Charset = "us-ascii"<BR></SPAN></FONT></P>]]></content:encoded>
    </item>
  </channel>
</rss>