0

I need to implement functionnality in C# .NET to save some messages (that users send using Outlook, they call those messages Tickets) .

When a user would finish writing the mail , I need to know if this mail is a Ticket and save it to a SQL-Server Database .

What the best approach to achieve this ? writing a separate .NET app or writing a plugin for Outlook ? and please can you point me to any ressources to help implementing those requirements .

7
  • 1
    If you need to intercept the users' email, then it's have to be part of Outlook unless you have access to the server or want to build an entire email solution. There's really not enough detail here for anyone to be very productive in helping you. Commented Sep 6, 2016 at 9:11
  • 1
    How are tickets recognised? By recipient? Commented Sep 6, 2016 at 9:11
  • 2
    It might be easier to add an autoBCC rule to Outlook and monitor that address: google.com/… Commented Sep 6, 2016 at 9:14
  • 1
    Rather than creating an Outlook plugin, you could have the users send those emails to a mailbox that you periodically poll for new messages and process them into your table. Commented Sep 6, 2016 at 9:24
  • 2
    Yep I think it's by Recipient a Ticket is recognised . Commented Sep 6, 2016 at 9:25

2 Answers 2

2

Several approaches are possible.

  1. An Outlook or Exchange Rule can CC the message to a special mailbox. You can then monitor that mailbox using POP or EWS and process messages as they arrive. This will only work if the simple matching capabilities of the Rules engine can reliably detect "tickets".

  2. An Outlook Add-in or macro can read outgoing messages, and take appropriate action on send. I would suggest prototyping this as a macro, then turning it into an add-in afterwards.

  3. An Exchange Web Services client can monitor the user's mailbox for NewItem events, and check if they are sent messages and/or monitor the Sent Items folder for sent messages.

In your case, I would suggest creating a Rule which CC'd "ticket" sent messages to a ticket mailbox, then processed them from there. This requires the least installation on the client computer.

Sign up to request clarification or add additional context in comments.

1 Comment

Any walkthrough for any of those approaches would be appreciated , I'm quite new to this kind of apps , I really don't know where and how to start imlementing this .
1

Be aware if you create an Outlook addin, you will need to install that addin in every user's outlook. You can find more information about the Outlook Addin on this article

10 years ago I had a similar project, that we would monitor the email messages and create tickets for that email according to some rules. It was a VB6 code using MAPI. But it was like Ben suggested. Using Exchange to monitor this.

3 Comments

Thank you so much sir , can you tell me how did you solve the probleme ? How did you implement this ?
It was 2 different solutions. The old project it was for a single company so it was easier to just monitor company's exchange server. This monitoring tool was developed using VB6 and MAPI to connect to the exchange server. I am pretty sure it is easier and better ways to do this using .net today. The other recent project, we had several customer and we did not have access to several different exchange servers or other email servers. So the easiest way to achieve this was to install a plugin in customer's Outlook that would capture the ongoing and received messages in Outlook.
I think that the first implementation is much better , it's centralized solution . if done using a plugin , the solution must be installed on every user's machine , Thanx so much I will try to find how to that through exchange server (also it's for a signle compagny) .

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.