Excellent. So you have the basics of your requirements. Now you need to start breaking your requirements down further. How is your text stored? Is it going to include none-text elements? Does it need to be formatted? Remember, as you pull your requirements together, you should consider the edge cases as well.
We have an enterprise application written in .NET WinForms with a SQL Server 2008 R2 database that exists on a classified, closed network. Users have Exchange email accounts on this network, but the mail service has turned from bad to awful. Our application has been using Database Mail to send automated messages, but due to "information assurance" reasons, this has been shut down on us. So since our overall mail experience is so crappy, our functional manager wants to create a "messaging" function within the application.
I would like to emulate the basics of Outlook (write message, reply, forward, Inbox, Sent Messages, Deleted items, etc) as much as possible, while storing the messages in our SQL Server database. I have tried searching for existing solutions that I could either use out-of-the box or use as a starting point that I could modify. So far I've had zero luck.
Does anyone know of anything remotely close to what I'm after. I'd rather not write this from scratch, but I guess if I do it might turn into a decent CP article, huh?
You trying to put a band-aid over a shotgun wound.
The correct course here is to fix the Exchange infrastructure. Without it, your entire business suffers, not just your website.
So, without the SMTP or IMAP server in Exchange, how are you even going to send the emails? The only way for someone to check for any messages would be to login to the website. You really expect customers to do that?
Or perhaps you haven't completely described who is using the email portions of your site and from where.
Yeah... that would be ideal but it's not going to happen. This is a classified government network. They've centralized our Exchange servers and they are totally unreliable. There's absolutely nothing I, or anyone in my organization, can do about it. We basically live with what we've been given.
So our solution is to create a messaging capability within our .NET WinForms/SQL Server application. For our ~400 users, this would just be another module amongst the other functionality they currently have in the application. I'm trying to call this "messaging" because this won't be "email" - no Exchange, no SMTP, no POP, no IMAP.
Messages would be stored in a SQL Server table structure. The UI would resemble Outlook and would let users create messages, reply, forward, manage folders where messages are stored, etc. But the driver behind this would be the message data store in SQL Server.
Yikes. I'f familiar with the government crap. I did a 4 year stint at DHS/CBP and it wasn't taken kindly that I called people out for not doing their jobs when their customers (us) were down because of misconfigured servers and routers.
I don't know of any library that offers the functionality you're talking about. If you can't find one, this is going to be using existing control libraries and building it from scratch.
Yes, since you already have some wishes. Any PC will have a modern browser, any forum-software would be easily installed and simple to access. If you do roll your own, I'd recommend taking some open source .NET forum software, to create a new fork and to write only the UI-part.
Having read the entire thread, I'd recommend an Outlook-addin that simply saves the message and the recipient in a database, and write some webpage to list all the messages where the current user is the recipient; would mean that one "adds" an alternative (and redunant) way of sending a message, without replacing the original setup. Additionally, people could still be using a single application with a familiar UI.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]