Tag Archives: header

Exchange VSS : At Exchange Server 2010 ESEUtil fails with Jet error–1032


Recently I was playing for a VSS issue at my Exchange Server 2010 environment – when I run the ESEUtil (with its parameter /mh) command then I got the error “Jet error –1032”.

> eseutil /mh "D:Temptempdb.edb"
Extensible Storage Engine Utilities for Microsoft(R) Exchange Server Version 14.00
Copyright (C) Microsoft Corporation. All Rights Reserved.
Initiating FILE DUMP mode…
Error: Access to source database ‘D:Temptempdb.edb’ failed with Jet error -1032.

The error code –1032 points to JET_ERRFileAccessDenied, which tells us that I cannot access the file, as the file is locked or in use. This is the first time I noticed the issue at my end. When I investigated further I realized the issue – I have mounted the database and ran the ESEUtil. The database needs to be offline to read the header information. So I dismounted the database and ran the ESEUtil worked like a charm – bingo!!

Happy debugging!!

How to:Get MAPI Header and library files


Want to get and install MAPI header and library files? MAPI header and library files are included as part of the Microsoft Windows SDK. Once you have installed Microsoft Windows SDK, you can access MAPI header files by using Microsoft Visual Studio 2008.

Before you can install MAPI header and library files, make sure that you have met the following prerequisite -You have a supported Windows-based operating system installed and running on your computer.

To install MAPI header and library files, you can try either one of the following steps:
  1. Download and install Microsoft Windows SDK.

  2. Obtain and install Microsoft Visual Studio 2005 or a later version (optional).
    Note: Windows SDK is installed to Program FilesMicrosoft SDKsWindows as a component of Visual Studio.

After following these steps, you can view the MAPI header and library files in the following locations. The MAPI header files are located at <drive>Program FilesMicrosoft SDKsWindows<SDK_Version>Include. The MAPI library file Mapi32.lib is located at <drive>Program FilesMicrosoft SDKsWindows<SDK_Version>Lib.

Related info:

SGriffin’s MAPI Internals: Outlook 2010 MAPI Reference
Outlook 2010: MAPI Header Files.
For a list of MAPI header files, see Finding Header Information.
How to: Link to MAPI functions, refer http://msdn.microsoft.com/en-us/library/cc963763(v=office.12).aspx
Mapi32.dll Stub Registry Settings
Setting Up the MSI Keys for Your MAPI DLL
Explicitly Mapping MAPI Calls to MAPI DLLs

General Info : Common Messaging Formats


For most organizations, e-mail messaging has become an increasingly important mode of communication. However, not all organizations use the same type of messaging systems. In this blog post, we will see the format of e-mail message and some of the common messaging formats used.

Format of an e-mail message

Internet e-mail messages follow the format standards that are defined in RFC 2822. A message is made up of header fields and a body. The header fields are collectively named the "header" of the message. The body of the message is optional. A message can be sent without a body, but not without a header.

The header contains a sequence of lines of characters that have a special syntax, as defined in the RFC 2822 format standard. The body contains a sequence of characters that follow the header and that are separated from the header by an empty line (that is, a line that has nothing before the Carriage Return and Line Feed [CRLF]).

Header fields are lines that are composed of a field name followed by a colon (:), followed by a field body, and ended by a CRLF. A field name must be composed of printable US-ASCII characters (that is, characters that have values between 33 and 126, inclusive), except the colon. The colon is used as a separation character.

A field body may be composed of any US-ASCII characters, except for the CRLF. However, a field body may contain a CRLF when used in header folding and unfolding. Folding is when, for convenience, a single line appears on multiple lines. Unfolding is the reverse of this. All field bodies must follow the syntax described in sections 3 and 4 of the RFC 2822 format standard.

The body of the message may include one or more sections. Each body section is separated by a boundary. The boundary parameter is a text string that begins with two hyphens (—).

Now lets see some of the common messaging formats used…

Plain text

A plain text message is the most accepted form of messaging format. All e-mail message readers can display text messages in plain text format. However, plain text messages cannot display colors, different fonts, or emphasis such as bold or italic text.

image

Rich Text Format (RTF)

Exchange 2000 uses RTF messaging for messages that are delivered between Microsoft Outlook users. RTF displays colors, fonts, and formatting. However, RTF is only readable by Outlook. Exchange 2003 RTF format is different from the RTF format that is used in a word processor program such as Microsoft Word.

Note If a recipient receives a file attachment named Winmail.dat in their e-mail, that domain has an RTF incompatibility issue. To work around this issue, you must configure a rule that makes sure that messages that are sent to that domain do not use RTF format.

image

HTML format

HTML mail is a recent implementation that makes it possible to display rich content in a message. When you use the HTML mail format, the message is sent as an HTML page, complete with tags to change the appearance of the text. The recipient’s e-mail client program then formats and displays the HTML. The major issue with HTML text is that not all e-mail client programs support HTML text. If the HTML e-mail message is not displayed correctly, the message can become unreadable.

image

Plain text and HTML

Exchange 2003 can send messages to external domains as both plain text and HTML. This format appears correctly on both types of client. However, the messages become two times as large and processing takes longer. You may be able to view both the plain text and the HTML in the replies to the message. This behavior frequently occurs in discussion groups where people have posted messages by using both plain text and HTML.

MIME and uuencode

MIME and user-to-user encoding (uuencode) are two different methods of sending binary attachments with messages. Early e-mail client programs used uuencode as the default message format. However, most current e-mail client programs support MIME. You may have to communicate with a domain that continues to use uuencode. In this scenario, you can configure a rule to deliver messages to that domain using the uuencode format.

Message text word wrapping

Although this format is not strictly an e-mail messaging format, some earlier versions of e-mail messaging clients require that a line break is placed after the seventy-sixth or seventy-seventh character. If you do not perform this procedure, those clients can only view the first 76 characters of each line. As a result, large portions of the message may not appear.

Monitoring event sink # 25 – Recipients modified mail (using event sink) sent from PICKUP folder and lands in the DROP folder ?


Recipients modified email messages (using event sink) sent from PICKUP folder and lands in the DROP folder ?

The Pickup folder processes outgoing messages that are created as text files and then copied to the Pickup folder. When Request for Comments (RFC) 822 messages that are correctly formatted are copied to the Pickup folder, the SMTP service initiates delivery. In this replay method, the X-Sender envelope field and the X-Receiver envelope field are written to the e-mail message when the SMTP service puts the e-mail message into the Drop folder.

Note
The SMTP service puts the e-mail message into the Drop folder for local delivery on a computer where Exchange is not installed.

In this scenario, the Pickup operation honors the envelope fields that are written to the e-mail message

In detail

This is because, we will have an default domain entry in the SMTP mail area of IIS. This is the process that handles all mail that comes into your SMTP system that is not otherwise specified. This mail would be delivered based on the settings you make in the properties area of that default setting. This includes the name of the server that the mail claims to be from.

In addition to this default entry, you can also create an Alias Domain for any other domains you might own. Each one can have its own name. So where your default might say mail is coming from Mydomain.com, you can set up alias domains for domain.com and minedomain.com. Once you have those aliases set up, each alias then sends its mail to the DROP folder associated with that alias. The mail will sit there in the DROP folder, waiting for further processing. It assumes that another system is going to poll that DROP folder and do something with the mail.

If you end up with mail messages in your DROP folder because you created an alias domain by accident, simply delete that alias and then stop and restart the mail server. Now drag all the messages from the DROP area back into the PICKUP area. They will process through the default queue, following your normal rules and get out to your recipients.

.

Web Service : Passing data to and from Webservice & SOAP header


SOAP headers offer a method for passing data to and from an XML Web service method if the data is not directly related to the XML Web service method’s primary functionality.

For instance, an XML Web service might contain several XML Web service methods that each require a custom authentication scheme. Instead of adding parameters to each XML Web service method for the custom authentication scheme, a SoapHeaderAttribute, referring to a class deriving from SoapHeader, can be applied to each XML Web service method. The implementation for the class deriving from SoapHeader handles the custom authentication scheme.

In this manner, the XML Web service method implements only the functionality specific to it and adds additional functionality using a SOAP header.

Reference: http://msdn.microsoft.com/en-us/library/system.web.services.protocols.soapheader.aspx