urn:schemas:mailheader: Namespace
urn:schemas:mailheader: Namespace
This content is no longer actively maintained. It is provided as is, for anyone who may still be using these technologies, with no warranties or claims of accuracy with regard to the most recent product version or service release.
The urn:schemas:mailheader: namespace defines fields that contain Internet standard message header values. Each field value (with a few exceptions) is stored as US-ASCII characters and is identical to the ASCII string found in the message stream. Non-US-ASCII characters are encoded according to the RFC 1522 specification. No conversion is performed when the property value is set or updated. An application that sets a raw message header property within this namespace must encode any non-US-ASCII characters as defined in RFC 1522. If these characters are not encoded, the header field value is corrupted.
String constants are provided in the C++ header file cdosysstr.h and type library, cdoMailHeader module, for each field name. You can use these constants when referring to the fields to avoid mistakes and extra typing.
Example
The following example demonstrates the use of the fields in the urn:schemas:mailheader: namespace. First, RFC 822 headers are added for a message. Next, body parts are added and the Multipurpose Internet Mail Extensions (MIME) headers are set manually.
This code is for illustrative purposes only.
Visual Basic
Dim iMsg as New CDO.Message Dim Flds as ADODB.Fields With iMsg .To = """SomeOne"" <someone@example.com>" .From = """Me"" <me@example.com>" .Subject = "Here is a sample message" ' Now set some custom mail headers using the raw fields collection Set Flds = .Fields With Flds .Item("urn:schemas:mailheader:X-Mailer") = "Microsoft CDO for Microsoft Exchange" ' I add a custom header here .Item("urn:schemas:mailheader:Myheader")= "some value" .Update End With End With ' iMsg ' Create a multipart/alternative (HTML) message below Dim iBp as CDO.IBodyPart Dim iBp2 as CDO.IBodyPart Set iBp = iMsg ' get IBodyPart on Message object Set Flds = iBp.Fields Flds("urn:schemas:mailheader:content-type") = "multipart/alternative" Flds.Update Set iBp2 = iBp.AddBodyPart Set Flds = iBp2.Fields Flds("urn:schemas:mailheader:content-type") = "text/plain" Flds("urn:schemas:mailheader:content-transfer-encoding") = "quoted-printable" Flds.Update Dim Stm as ADODB.Stream Set Stm = iBp2.GetDecodedContentStream Stm.WriteText "This is a test", stWriteLine Stm.Flush Set iBp2 = iBp.AddBodyPart Set Flds = iBp2.Fields Flds("urn:schemas:mailheader:content-type") = "text/html" Flds("urn:schemas:mailheader:content-transfer-encoding") = "quoted-printable" Flds.Update Set Stm = iBp2.GetDecodedContentStream Stm.WriteText "This is a <i>test</i>", stWriteLine Stm.Flush iMsg.Send
C++
#import "d:\program files\common files\system\ado\msado15.dll" no_namespace #import "c:\program files\common files\microsoft shared\cdo\cdoex.dll" no_namespace void main() { CoInitialize(NULL); { IMessagePtr iMsg(__uuidof(Message)); FieldsPtr Flds; _StreamPtr pStm; iMsg->To = "\"SomeOne\" <someone@example.com>"; iMsg->From = "\"Me\" <me@example.com>"; iMSg->Subject = "This is a test message"; // Now set some custom headers for the message Flds = iMsg->Fields; Flds->Item["urn:schemas:mailheader:X-Mailer"]->Value = "Microsoft CDO for Windows 2000"; Flds->Item["urn:schemas:mailheader:Myheader"]->Value = "come value"; Flds->Update(); IBodyPartPtr iBp; iBp = iMsg; IBodyPartPtr iBp2; Flds = iBp->Fields; Flds->Item["urn:schemas:mailheader:content-type"]->Value = "multipart/alternative"; Flds->Update(); iBp2 = iBp->AddBodyPart(-1); Flds = iBp2->Fields; Flds->Item["urn:schemas:mailheader:content-type"]->Value = "text/plain"; Flds->Item["urn:schemas:mailheader:content-transfer-encoding"]->Value = "quoted-printable"; Flds->Update(); pStm = iBp2->GetDecodedContentStream(); pStm->WriteText("This is a test",stWriteLine); pStm->Flush(); iBp2 = iBp->AddBodyPart(-1); Flds = iBp2->Fields; Flds->Item["urn:schemas:mailheader:content-type"]->Value = "text/html"; Flds->Item["urn:schemas:mailheader:content-transfer-encoding"]->Value = "quoted-printable"; Flds->Update(); pStm = iBp2->GetDecodedContentStream(); pStm->WriteText("This is a <i>test</i>",stWriteLine); pStm->Flush(); iMsg->Send(); } CoUninitialize(); }
Send us your feedback about the Microsoft Exchange Server 2003 SDK.
Build: June 2007 (2007.618.1)
© 2003-2006 Microsoft Corporation. All rights reserved. Terms of use.