We have a syncronisation problem and i've been tasked with writing a program in c# that counts the number of mails that have come in per day on a number of mailboxes on an exchange server(2-5)
is this possible?
Yes it is possible, Blackberry Enterprise Server does something similar in order to forward your emails to your blackberry. Basically you need to create a windows service based MAPI client. Whether you SHOULD do this is another matter, it seems like you are trying to fix a systems issue with a nasty hack.
Maybe the simplest solution would be to analyze your smtp logs using Logparser. The linked article refers to Exchange 2007 but this should still apply to Exchange 2010.
Related
Our application (C#) is using ExchangeVersion.Exchange2010_SP2 (EWS 1.2) on Exchange 2010.
Now we want upgrade to Exchange 2013.
Are there some critical points (update EWS dll, ...?) to take care before migration or there should not be any issues through the Version change?
All mailboxes will be migrated to.
You should be able to converse between your Exchange2010_SP2 app the new E2013 server without difficulty. The only thing I can recall to watch out for depends on whether you are using subscriptions for Push or Streaming Notifications. (I assume Pull also, but I've never dealt with those.) Because the subscriptions are maintained on the MB servers instead of the CAS's as they were in E2010, there are some HTTP headers you need to manage. If you need more details, let me know, but hopefully you don't! :-)
I am trying to create a simple web email client in C#/ASP.NET. I am trying to use Aspose.Email DLL to connect the to the email server via IMAP and show the emails to the user. Now I am thinking of storing the fetched emails on the filesystem/database or simply fetching and showing these emails on each request.
I think storing email body for all users might increase my database size, but then users would want to page through the results. What is the best strategy to handle emails once fetched via IMAP?
Some regular desktop email clients download emails in advance and store them locally so that they can be displayed more quickly to the user (and for other practical reasons pertaining to search and even navigation, as you mentioned).
Others download the headers only (enough to display a list of emails in a folder) and then download the full body only upon request (when the user opens an email in the list). In the end it's just a tradeoff, and you have to see what works best in your scenario.
Personally I think downloading all emails in a folder at the start is overkill and I've seen clients get stuck for hours downloading emails for particularly large folders. A good option would be to display just enough to show a windowful of information, and get the rest as the user scrolls down - but that's not trivial to implement. Anyhow, the IMAP4 Implementation Recommendations teach you a few tricks to optimise communications with the server and avoid many common pitfalls present in the more popular desktop clients.
If you're worrying about your database growing, you could store only metainformation in the database, and keep the emails themselves on the filesystem (e.g. save them to .eml files). Again, the best solution may vary depending on your particular context.
You can use MailSystem.NET. It is an open-source .NET mail library.
I'm trying to create a Mailbox within C#, and I cannot use powershell (as per the requirements).
I have been able to successfully create a Distribution List without the need for powershell functionality.
Looking on various forums, the only possible solutions are not what I have the capabilities of doing.
I wish it were simple enough to utilize this functionality, however, I am in a bit of a jam.
I've managed to add several properties for Exchange 2010 in a mailbox so far, but there are only so many properties I am able to determine.
(msExchUserAccessControl for example).
I'm not sure what information I can provide that would be helpful beyond this.
Any assistance would be greatly appreciated
If you mean that you wish to create the mailbox from a client PC, not the Exchange server, and you may not install the management tools on the client, then you may be able to remotly execute the powershell scriptels. Look here:
Creating an Exchange 2010 Mailbox from a remote C# program
How can I receive Email with Microsoft Azure?
Yes, I know the instruction from Steve Marx:
EmailTheInternet.com: Sending and Receiving Email in Windows Azure
But it does not work, since he recommends two libraries, cses and SharpMimeTools. Both of these libraries use different versions of the library log4net, I can not refer both versions in my project, because of name clash, so in essence the proposed solution does not work.
If there is a trick to make it work - good. If there is a completely different solution, good as well.
You can also receive email in a similar way to sending email in that post without the need for the worker role. Sites like http://cloudmailin.com allow you to receive email directly as an http post and avoid any of the required setup or the need to have to run your own email server.
Although running you own server can have it's advantages it looks like in this case it maybe easier to rely on a third party in the same was as the sending does.
Did you try downloading the full source code available at the bottom of the post by Steve Marx?
You can install SMTP: http://richardprodger.wordpress.com/
is it possible to integrate outlook with my c# program without having Microsoft office installed?
It depends on what functionality you are trying to achieve?
It also depends on your environment.Do you have access to exchange server?
For example, If you want to create appointments in outlook client for individual user, you can very well make use of webservice provided by Exchange server. However, it works starting with outlook 2007.
In a word, no. If you want to call an Outlook dll you will need Outlook installed.
Perhaps if you describe what you need to do there may be an alternative approach, such as calling Exchange Server as suggested by Edwin.