Quantcast
Channel: MFCMAPI
Viewing all 1090 articles
Browse latest View live

New Post: Exchange 2003 using mfcmapi to find biggest items in a mailbox

$
0
0
I need to find biggest items and their size in a particular user's mailbox on Exchange 2003. I thought I could use MfcMAPI for it, as following these steps one can sort items in mailbox folder by their size:

Session > Logon > ... > pick my own mailbox > right click on it > open store > expand root container > expand top of information store > right click on inbox > open contents table > scroll right until Size column is visible > sort messages by this column

This works properly on Exchange Server 2010 but seems to fail on Exchange Server 2003 for which I actually need it - I can see all items but the Size column does not populate.

I use MfcMAPI 15.0.0.1042, 32bit version, tried in two separate environments, one standalone Windows 2003 + Exchange Server 2003, the other one Small Business Server (SBS) 2003. Both without Outlook or other MAPI-using software installed. MAPI profile was created following a wizard that pops-up after clicking Session > Logon. I am logged on with the built-in Administrator account that has all possible permissions, including Domain Admin. MfcMAPI was installed directly on the servers.

Perhaps it is this tool limitation. If someone knowns any other way to check other users' mailboxes by the admin for the size of biggest items in their maiboxes I am open for any suggestions. Once again, this unfortunately must work in Win2003 + Ex2003 / SBS2003. I am aware of PowerShell/EMS solutions for newer environments.

Created Unassigned: Sending a mail by creating a message in outbox [17443]

$
0
0
I can create a mail in outbox, set the "to" address but "submit" message doesn't do anything.

When I open outlook after I close mfcmapi, outlook sends the message from outbox. Is there a way for the outbox message to the spooler?

Is it possible to send a email from mfcmapi?

(Fundamentally I am looking for a client application which can send message using MAPI. IMessage::SubmitMessage just puts the message into Outbox)

Created Unassigned: Crashing at logon [17449]

$
0
0
Windows 7 SP2, Outlook 2010 SP2, Exchange Online mailbox. After opening MFCMAPI, I select Session>logon. The prompt to select a profile appears. I select the profile, and the application crashes with a popup stating MFXMAPI x86 has stopped working.

Application Event Log contains:

Log Name: Application
Source: Application Error
Date: 6/5/2015 3:37:48 PM
Event ID: 1000
Task Category: (100)
Level: Error
Keywords: Classic
User: N/A
Computer: MMCNALLY-W7.domain1.company.com
Description:
Faulting application name: mfcmapi.exe, version: 15.0.0.1042, time stamp: 0x53daa53b
Faulting module name: MSVCR90.dll, version: 9.0.30729.6161, time stamp: 0x4dace5b9
Exception code: 0xc0000005
Fault offset: 0x0003b4a8
Faulting process id: 0x1bec
Faulting application start time: 0x01d09fc714142da6
Faulting application path: C:\Users\mmcnally\Downloads\MFCMapi.exe.15.0.0.1042\mfcmapi.exe
Faulting module path: C:\Windows\WinSxS\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.6161_none_50934f2ebcb7eb57\MSVCR90.dll
Report Id: 5832b6f6-0bba-11e5-9987-d067e51f39f8
Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
<System>
<Provider Name="Application Error" />
<EventID Qualifiers="0">1000</EventID>
<Level>2</Level>
<Task>100</Task>
<Keywords>0x80000000000000</Keywords>
<TimeCreated SystemTime="2015-06-05T19:37:48.000000000Z" />
<EventRecordID>40755</EventRecordID>
<Channel>Application</Channel>
<Computer>MMCNALLY-W7.domain1.company.com</Computer>
<Security />
</System>
<EventData>
<Data>mfcmapi.exe</Data>
<Data>15.0.0.1042</Data>
<Data>53daa53b</Data>
<Data>MSVCR90.dll</Data>
<Data>9.0.30729.6161</Data>
<Data>4dace5b9</Data>
<Data>c0000005</Data>
<Data>0003b4a8</Data>
<Data>1bec</Data>
<Data>01d09fc714142da6</Data>
<Data>C:\Users\mmcnally\Downloads\MFCMapi.exe.15.0.0.1042\mfcmapi.exe</Data>
<Data>C:\Windows\WinSxS\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.6161_none_50934f2ebcb7eb57\MSVCR90.dll</Data>
<Data>5832b6f6-0bba-11e5-9987-d067e51f39f8</Data>
</EventData>
</Event>

New Post: IMonikers to read mailbox data from exchange server asynchronously

$
0
0
Currently the program uses a single thread to serialize all of the MAPI calls. Mapi provider initializes and stores the folder name, etc as a member variable and then read the mailboxs.

This may result in the slow processing of the exchange messages and attachments. For example, it costly when query for attachment files and wait for it to return. So it would be better if can send a request to read the messages and at same time can do another process (initialize another message).

So, is it possible to query and read messages while initialize for the next next message by IMonikers and IBindStatusCallback::OnDataAvailable.

Or is there any other way to do that?

Thanks

Created Unassigned: No default mail client [17461]

$
0
0
When trying to login to the session, I get the error listed below. I am on Windows 7 64bit and running Outlook 2016 Preview 32bit.

MAPIInitialize failed with error 0x80004005 == MAPI_E_CALL_FAILED.

Here are some known causes for this.
1 - No version of Extended MAPI is installed. Either Outlook or MAPICDO must be installed.
See http://www.microsoft.com/downloads/details.aspx?familyid=E17E7F31-079A-43A9-BFF2-0A110307611E to install MAPICDO.
2 - The 64 bit version of Outlook 2010 is installed. The 64 bit version of Outlook 2010 requires the 64 bit build of MFCMAPI.
See http://mfcmapi.codeplex.com for the latest 64 bit build of MFCMAPI.
3 - Windows Mail or Outlook Express (which do not implement Extended MAPI) is registered as the Default Mail Client.
See http://msdn.microsoft.com/en-gb/library/dd162409.aspx for information on setting the Default Mail Client.
In file MapiObjects.cpp
On line 120

Commented Unassigned: No default mail client [17461]

$
0
0
When trying to login to the session, I get the error listed below. I am on Windows 7 64bit and running Outlook 2016 Preview 32bit.

MAPIInitialize failed with error 0x80004005 == MAPI_E_CALL_FAILED.

Here are some known causes for this.
1 - No version of Extended MAPI is installed. Either Outlook or MAPICDO must be installed.
See http://www.microsoft.com/downloads/details.aspx?familyid=E17E7F31-079A-43A9-BFF2-0A110307611E to install MAPICDO.
2 - The 64 bit version of Outlook 2010 is installed. The 64 bit version of Outlook 2010 requires the 64 bit build of MFCMAPI.
See http://mfcmapi.codeplex.com for the latest 64 bit build of MFCMAPI.
3 - Windows Mail or Outlook Express (which do not implement Extended MAPI) is registered as the Default Mail Client.
See http://msdn.microsoft.com/en-gb/library/dd162409.aspx for information on setting the Default Mail Client.
In file MapiObjects.cpp
On line 120
Comments: ** Comment from web user: twbettis **

None of the above suggestions work/are true.

New Comment on "MFCMAPI Articles"

$
0
0
Excellent collection of articles! :)

New Post: export only PrimarySMTPAddress and DisplayName to text file

$
0
0
I'd like to export the IPM.autoconfigure.autocomplete to a textfile but only to see the users display name and primary smtp address.
I can copy it manualy out of the big amount of text, but that is gonna cost me a huge amount of time.

example:

ptagPrimarySMTPAddress PropString = test@test.com ptagDisplayName PropString = Mister Test

Thanks in advance!

Just

Created Unassigned: FILETIME is not parsed correctly in PR_CONVERSATION_INDEX [17485]

$
0
0
The dissection of the header of PR_CONVERSATION_INDEX (22 bytes) is as follows:
* One reserved byte. Its value is 1.
* Five bytes for the current system time converted to the FILETIME structure format.
* Sixteen bytes holding a GUID, or globally unique identifier.

The correct parsing for FILETIME is carried out on 8-bytes.

The current way FILETIME is converted to a time is that it takes the 5-bytes, with pre-padding of 1 byte (00), and post-padding of 2 bytes (0000). The full 8-bytes are then converted to a readable time (the converted value represents 100-nanosecond units since start of 1/1/1601).

Example:
PR_CONVERSATION_INDEX (5-Bytes of Header the represent FILETIME only): D0BC97E167
> Current FILETIME: (Low = 0xE1670000, High = 0x_00_D0BC97) = 11:52:46.352 AM 09-Mar-1787

The correct way of evaluating FILETIME is to not pre-pad the FILETIME (5-bytes) but rather take the first 6-bytes, and only add post-padding of 2-bytes (0000)

As such, the FILETIME should be evaluated as:
> 0x_01_D0BC97:E1670000 - this would result in the correct timestamp: 11:42:50 AM 12-Jul-2015
which is the correct timestamp for the email

This would eventually need to be corrected in upcoming versions, to correctly reflect the FILETIME included in the Conversation Index

Source code checked in, #111628

$
0
0
MrMAPI Folder bugs Problem: HrSplitPath corrupts memory Fix: Rewrite it, and most of MMFolder.cpp to wstring and stop manually manipulating string memory Problem: Hangs on exit when errors encountered Fix: Fix memory leak in HrMAPIFindSubFolderExW and HrMAPIOpenStoreAndFolder Problem: Crash exporting rules Fix: Add missing .c_str() to formatmessage call.

Source code checked in, #111629

$
0
0
Problem: Reorganizing build output dirs Fix: Standardize on bin and obj, simplifying directory structure in main project dir

Source code checked in, #111630

$
0
0
Problem: MrMAPI exclusive source is intermingled with MFCMAPI source Fix: Move MrMAPI source into subdirectory

Source code checked in, #111631

$
0
0
Problem: File exclusions could be tighter Fix: Exclude many more files (mainly headers) from mrmapi builds. Removed three dead files.

Source code checked in, #111632

$
0
0
Problem: Migrate MrMAPI to wstring Fix: Step 1 - convert ProgOpts and get everything working.

Source code checked in, #111634

$
0
0
Problem: Convert mmerr to wstring Fix: Do it Problem: Proptag search restricted by type doesn't work. Fix: Reorder checks in DoPropTags and add support for type restriction. Also add more verbose output.

New Post: access to impersonated cloud archive when primary mailbox is on-premises in hybrid environment

$
0
0
We have a customer with hybrid environment with primary mailbox on-prem and archive in the cloud (o365).

Heretofore, we have been able to get a mailbox DN and server DN from EWS User Settings in order to pick up the info needed to establish a MAPI connection to an impersonated archive using the CreateStoreEntryID/OpenMsgStore mechanism.

But in this user environment, the DN values returned by EWS are both empty. The only relevant value is the smtp address of the could mailbox.

Is this expected?

Should the DN's be populated at the customer site config?

If these can be bona fide empty, how can we connect via MAPI?

Thank you very much.

Source code checked in, #111638

$
0
0
Problem: Attachments can be bulky on export. Fix: Add a -skip parameter to skip them.

Source code checked in, #111639

$
0
0
Problem: Memory leak running mrmapi Fix: ZeroMemory on MYOPTIONS struct leaked our wstring. Use constructor to properly initialize instead.

Source code checked in, #111641

$
0
0
Problem: Need a way to get search state, etc from command line Fix: Add SearchState switch.

Source code checked in, #111642

$
0
0
Problem: Convert more of mfcoutput to wstring Fix: Convert _Output and OutputThreadTime. Get all the easy replacements out of the way.
Viewing all 1090 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>