How to keep MAPI properties when processing message data in RFC822 format in an Exchange Server 2007/2010 transport agent?

We are developing an agent listening for the submit or endOfData event from the Exchange Server. Due to various reasons we need to convert the Exchange Mail
internally to RFC822 format.
So our MessageProcessor internally converts the message stream (usually TNEF) into RFC822 format. This means when written our modified content back to ‘e.MailItem’
we write the converted content back.
It seems that this conversion causes a loss of some MAPI properties of the message.
When out-of-office-mails are enabled for an account the Exchange Server generates both messages the OOF message for internal recipients and the OOF message external
recipients.
When sending an internal message using voting buttons the message arrives without that voting information.
void Agent_OnSubmittedMessage(SubmittedMessageEventSource source, QueuedMessageEventArgs e)
MessageProcessor proc = new MessageProcessor();
Stream messageContent = e.MailItem.GetMimeReadStream();
Stream processedMail = proc.ProcessExchangeMessage(messageContent); // internally converts the message to RFC822
Stream writeStream = e.MailItem.GetMimeWriteStream();
processedMail.CopyToStream(writeStream);
We also tried a dirty „hack“ using the Exchange Server internal method for converting the message from TNEF to RFC822 “ConvertAnyMimeToMime” from “Microsoft.Exchange.Data.Storage.OutboundConversionOptions”,
but using that method causes the same issue.
Now my idea was cloning all MAPI properties not related to the content of a message and reapply them after writing the RFC822 content back to into e.MailItem.
Any idea how we can overcome our problems?
Best regards,
Harald Binkle
Exchange Server Toolbox |
SmartPOP2Exchange |
SpamAssassin
JAM Software GmbH
Max-Planck-Str.22 * 54296 Trier * Germany
http://www.jam-software.com

Hello Scott,
after posting this question I implemented a dirty workaround.
Now I'd like to ged rid of that workaround. Are you still not allowed to discuss this?
Best regards,
Harald Binkle
Exchange Server Toolbox |
SmartPOP2Exchange |
SpamAssassin
JAM Software GmbH
Am Wissenschaftspark.26 * 54296 Trier * Germany
http://www.jam-software.com

Similar Messages

  • How to keep waiting time between processed messages !!

    Hi Folks,
    I have got one scenario required waiting time between processed messages. The problem as follows !!
    File --> Proxy scenario. I receive 15 messages from sender side (same messages structure) so working with one interfaces. File picking and transforming this message and split into 2 messages. messages are receiving to receiver. I am using BPM with 7,8 steps like receiving step, block , message transformation step , internal block 1 for sender 1, internal block 2 for sender 2.
    All things are working fine, messages are going to receiver properly. But customer requirement is , wait step required between processed messages before sender1. I have put wait step still, PI picks all messages in one shot processing and waiting for 2 minutes, after 2 minutes sending all messages at the same time, this process is not working.
    I have tried with wait step in mapping (Sarvesh) given excellent idea, still PI works the same way.
    Can someone please explain a bit why the messages or not waiting message by message. I am using EOIO with Queue name and file process mode "BY NAME" and I have tried "BY TIME" as well. I have given priority to this Queue. On BPM Queue assignment : One Queue.
    Please I am expecting positive answer !!
    Many Thanks in Advance
    San

    Hi Rudolf Yaskorski ,
    Not sure about your PI release and BPM model, do you create separate process instance for each file, or do you process files collecting them in one single instance? Are you using parallelization within your ccBPM ?
    I am using serialization, I don't think bpm can do Parallization until PI 7.0, but PI 7.11 has got has queue assignment. But I am using one queue. This must be serialization.
    To me it looks like your issue is not in ccBPM but rather more in polling files (as per your post file CC polls all 15 files in one shot). So if you wish to poll the files not at the same time some workaround is required. Possible options you could check out:
    A. Either implement "wait" in your mapping based on file name or other criteria (e.g. directory name). Check out if respective BPM instances are really created at different times.
    I have used wait step in mapping. These 15 messages has to go through one interface. So I am using one interface. But I have checked mapping process time in all messages on receiver system. Shows same timing, even though I put 40000 ms waiting time in mapping.
    B. Try polling different files (or use different directories) with different channels and coordinate starting / stopping of your channels by scheduling availability for each CC in RWB. E.g. you poll file 1 with CC 1. You start 2 minutes later CC 2 and poll file 2. And so on.
    I am not clear about this . On BPM waiting step is working and it keeps wait all messages, which are coming through one interface. Then it releases all messages at the same time.
    I don't know how to resolve this. I have tried with Transport acknowledgment, but all messages are going to reciver system waiting at receiver system in priority queue and processing in EOIO, but taking so long. Rather all messages go and sits in queue, I want to stop messages by message with 2 minutes time gap. How please?
    Kind Regards
    San

  • Messaging tracking logs filename format changed in Exchange Server 2013 sp1

    Hi,
    I have noticed that the file name format is changed for exchange server 2013 sp1.
    Now it will have hh attached to it like
    MSGTRKMSyyyymmddhh-n.log;
    MSGTRKMDyyyymmddhh-n.log:
    MSGTRKyyyymmddhh-n.log.
    So the "hh" will goes from 00 to 23 for single day.
    So Lets say at 24 april 2014 first fill is created @7.30 AM, so the first file name will be
    MSGTRK2014042400-1.log. Now exchange server will create new file every hour by incrementing hh part of file name. Now the last file i.e
    MSGTRK2014042423-1.log will be created on 25 April 2014 at 6.30 AM.
    I am not able to understand why exchange server is creating the file with old date on next day ( with 24 April on file name time stamp on 25 April).
    And also how it will be decided to create the first file @ 7.30 AM.
    Can anyone explain to me about this ? Why it is happening like this?
    Thanks
    Sandeep Gupta

    Hi Sandeep,
    This could related to the time difference. What’s the time zone of your server? In my lab, many files in the last day were created in the next day. For example, files in 20140410
    were created on 20140411.
    Also, as you mentioned, the file name format is as:
    MSGTRKMSyyyymmddhh-n.log;
    MSGTRKMDyyyymmddhh-n.log:
    MSGTRKyyyymmddhh-n.log.
    However as I know, the format is like
    MSGTRKyyyymmdd-m.log, it will not have “hh”(you mean hours) in the behind and the file is not created every hour but create a new file when the old is full. So please capture some screenshots of the message tracking files
    and the date/time information of the file to verify.
    Title: Message Tracking
    Link:
    http://technet.microsoft.com/en-us/library/bb124375(v=exchg.150).aspx
    Regards, Eric Zou

  • XIAPPLUSER gets blocked in BI when processing messages

    Hi,
    We have an integrated scenario between XI and BI.
    When processing messages between XI and BI the XIAPPLUSER gets random blocked. Somethimes after 4000 messages somethimes after 500 messages.
    We did not used this user by some other system or defined wrong passwords.
    Unfortunately the user will gets blocked in BI so XI can not communicate any more.
    Does anybody knows how to stop XIAPPLUSER being deactivated?

    check the system log for the reason of the blocking of the user.
    Regards
    Stefan

  • I'm trying to set up my new iPhone 5s from a backup of my previous iPhone, when trying to enter my Facebook login info in settings I keep getting the following error message : error signing in could not communicate with server, please help !

    I'm trying to set up my new iPhone 5s from a backup of my previous iPhone, when trying to enter my Facebook login info in settings I keep getting the following error message : error signing in could not communicate with server, please help !

    Can you access other apps? Can you acess the internet? Can you access applications that use internet besides facebook?
    If answer is yes to all of these; contact Facebook.

  • How to keep Adobe Flash Player up to date on 100 computers?

    I would like to keep 100 computers updated to the latest Adobe Flash Player version when a new version is launched. The users do not have administrative privileges to install software and Adobe Flash Player cannot be updated automatically. There are cases when Adobe Flash Player disappears after a new version is launched.
    How to keep Adobe Flash Player up to date on 100 computers?
    Thank you.

    Hi, there are several threads that use the GPO for their Enterprise and they are having various problems. However, I can give you a couple of links that may be helpful.
    http://www.adobe.com/devnet/flashplayer/articles/flash_player_admin_guide.html
    http://www.adobe.com/devnet/flashplayer/enterprise_deployment.html
    Following is one of the threads that may have some helpful info:
    http://forums.adobe.com/thread/707685?tstart=0
    Hope these will be helpful.
    eidnolb

  • I am running Windows 7.  I have 250 photos from a trip that I want to load to the iPad v 6.1.3.1 and show as slide show (in named order).  I can not see any recent remarks regarding how to keep them from being loaded in date order.

    I am running Windows 7.  I have 250 photos from a trip that I want to load to the iPad v 6.1.3.1 and show as slide show (in named order).  I can not see any recent remarks regarding how to keep them from being loaded in date order

    By default the photos will be sorted by the date modified.
         iOS: Understanding photo sorting
    Edit (touch) them in the order you want them to be shown.

  • Hi, in our Enterprise environment, we have a single mac with Mavericks version 10.9.2 and Office for Mac 14.4.1. When setting up outlook, we are trying to connect to a mailbox on exchange server 2007.

    Hi, in our Enterprise environment, we have a single mac with Mavericks version 10.9.2 and Office for Mac 14.4.1. When setting up outlook, we are trying to connect to a mailbox on exchange server 2007. We put in the EWS details in the server field since our autodiscover function is not functioning. But still it doesn't work. There are no errors, no popups. We turned on the logging and in the logs, it says a error of -3259. We are stuck and any help will be really appreciated.

    I have a customer experiencing exactly the same issue. Their computer is running Windows 7 Pro with Office 2007 SP3. After seemingly exhausting all troubleshooting options, I backed up their data, formatted the hard drive and performed a clean install of
    Windows and all their applications. It didn't solve the problem!
    What's strange is the customer also has a laptop computer, running the same version of Outlook, and that doesn't experience any problems connecting to Office 365 on the same network.
    My next step is to send the customer a new ADSL modem/router to try.
    I have another customer on Office 365, also running Outlook 2007, and they also experience issues with emails sitting in the outbox while Outlook displays the status message “Outlook is trying to retrieve data from the Microsoft exchange server outlook.office365.com.”
    In this case Outlook doesn't freeze/stop responding, like it does for the first customer I mentioned.

  • How to install and configure ms exchange server 2007 both role hub and edge transport role in one network

    How to install and configure ms exchange server 2007 both role hub and edge transport role in one network 

    Hi,
    Edge role is design for perimeter networks, to keep security risks minimum.  So it’s not recommended to have edge role in internal network. Must have separate network or subnet for edge services.
    If you are playing around it in labs, then you can put edge role within same subnet as other exchange roles and no specific requirements in that case.
    Thanks.
    MachPanel - Premium Cloud Automation Solution

  • HTML Body is lost from when it is read from Exchange Server 2007 to siebel 7.7.2.12

    Hi
    An HTML Email body sent through any email client. If the body type is HTML, when it comes through POP3 Exchange server 2007 and Siebel driver reads the mail it looses the Body formatting. I have already tried with the following options
    1) Adminstration Communication -> Communication Drivers and Profiles -> Internet SMTP/POP3 Server -> Driver Parameters -> Create Plain Text From HTML to True - This did not help
    2) Adminstration Communication -> Communication Drivers and Profiles -> Internet SMTP/POP3 Server -> Driver Parameters -> Convert Incoming To Plain Text to True - This did not help
    Both the combination did not help
    We also tried changing the POP3 properties at Exchange server level, where any email that is coming will always gets changed to plain text or HTML even that did not help.
    Any suggestions or recommendations are highly appreciated.
    Thanks
    Bhanu

    Hi,
    I also think it's caused due to the software confliction, to verify this, please perform a clean boot:
    Log on to the computer by using an account that has administrator rights.
    Click Start, type msconfig.exe in the Start Search box, and then press Enter to start the System Configuration utility.
    Note If you are prompted for an administrator password or for confirmation, you should type the password or provide confirmation.
    Collapse this imageExpand this image
    On the General tab, click the Selective startup
    option, and then click to clear the Load startup items check box.  (The
    Use Original Boot.ini check box is unavailable.)
    Collapse this imageExpand this image
    On the Services tab, click to select the Hide all Microsoft services check box, and then click
    Disable all.
    Collapse this imageExpand this image
    Note This step lets Microsoft services continue to run. These services include Networking, Plug and Play, Event Logging, Error Reporting, and other services. If you disable these services, you may permanently delete all restore points. Do not
    do this if you want to use the System Restore utility together with existing restore points.
    Click OK, and then click Restart.
    If there's no issue in clean boot, I suggest you double check the settings or the better way to contact the developer of the softwares to do further research on this issue.
    Thanks,
    Melon Chen
    Forum Support
    Come back and mark the replies as answers if they help and unmark them if they provide no help.
    If you have any feedback on our support, please click
    here

  • Need Documentation on how to intehrate Exchange server 2007 with SAP portal

    hi,
    i need some documentation on how to integrate microsoft Exchange server 2007 with SAP portal.
    can anybody help?

    Hi Payel,
    Pls check the links below..
    <a href="http://help.sap.com/saphelp_nw2004s/helpdata/en/7a/ec015c8446d447a83776d40f31c84f/content.htm">Link</a>
    Note : As specified in the document,  only the following versions of Microsoft Exchange server are supported:
    &#9679;     Exchange Server 2000
    &#9679;     Exchange Server 2003
    Regards,
    Venkat.

  • How to setup microsoft outlook 2011 with exchange server 2007

    How to setup microsoft outlook 2011 for Mac with Exchange server 2007?

    The folks who set up the Exchange Server should be happy to help you.

  • Our exchange server crashed and we lost all contact and calendar data.  We found an app to get the contacts off of people's phone to import but can't find the same for calendar.  How do I get my calendar info off my phone and in to new exchange server?

    Our exchange server crashed and we lost all contact and calendar data.  We found an app to get the contacts off of people's phone to import but can't find the same for calendar.  How do I get my calendar info off my phone and in to new exchange server?

    You'd have to think through this, but it seems like if you are using Outlook, and the items vanished from the Outlook client as well as the server,that you could re-populate Outlook using iTunes. 

  • How to move all emails from mailbox to an external email account in Exchange Server 2007?

    I have a user who is leaving the university in a few days. The user would like to forward all of their old emails from their mailbox to their G-mail account. Will setting up email forwarding forward all of the old emails to the G-mail account or just the
    new emails that are received after setting up email forwarding? If forwarding isn't the correct solution; then what is? We are running Exchange Server 2007.

    No, as you've suspected the forwarding will only affect new messages coming into the mailbox, not existing ones. Additionally, if you did get all existing messages to forward to another account (you could probably do it by creating a rule in Outlook) then
    the gmail account would show every single one of them as arriving now, and lose their existing send date.
    Probably a better option would be to export the mailbox to .pst, and then assuming the user has their gmail account configured in Outlook somewhere as something other than POP3 they can then open the .pst file on their machine and copy the messages over
    to their gmail account, which I think would also preserve the original information.
    You could do that via the server using Export-Mailbox as described here
    http://technet.microsoft.com/en-gb/library/bb266964(v=exchg.80).aspx (note it has to be run from a 32-bit OS with the Exchange Management tools installed), or the user could just as easily do it themselves from within Outlook using the Export option.

  • Exchange Server 2007 down how to recover immediately | Urgent.

    Hello All,
    My Exchange Server 2007 is down and there is physical server failure.
    Please suggest me how to restore it immediately.
    I have backup of Databases but how to build an new server immediately.
    Any option to recover exchange from the exchange media.
    All the suggestion are appreciated.
    Thanks,
    Arif.

    Hi  Arifuddin
    Thank you for your question.
    You can refer to the following :
    http://windowsitpro.com/exchange-server/recover-your-exchange-server-2007-environment-16-steps
    Note: Microsoft is providing this information as a convenience to you. The sites are not controlled by Microsoft. Microsoft cannot make any representations regarding the quality, safety,
    or suitability of any software or information found there. Please make sure that you completely understand the risk before retrieving any suggestions from the above link.
    If there are any questions , please let me know.
    Best Regard,
    Jim

Maybe you are looking for

  • PDF from MacBook Pro to ipad?

    Want to move some self-created PDFs to my iPad -- files too big to email easily. Thanks to other discussions that showed up when I posted this, I've found some answers -- thanks

  • Business Graphics

    Hi Friends,     Is there any tutorial for webdynpro business graphics? I am a beginner as far as the business graphics is concerned. What is the use of this? Please let me know. Regards, Nathan.

  • My adobe will not play

    my adobe will not play, have installed twice already

  • A weird beep on Document.remove(0, 0)

    Dear friends, in some lines of my code, the statement field.remove(0,  field.getLength());generates a beep in the sound card... it is really weird... a question: is there a better way to clean a document instead of remove(offset, length) ??

  • Installing FVWM-Crystal on Arch (2.6.23-ARCH i686 Mobile)

    Hello everyone I am new to arch, but I have overall knowledge in linux, and I'd like to install the previously mentionend WM. The problem is that I dont know how to even add a repository, and what repository I should add. So, any overall advice on th