Hacking WebsitePanel 1.1 to support SmarterMail 8

UPDATED: WebsitePanel 1.2.X is available today and in order for this to work, you’ll need to use updated binaries. Here’s the link to the WSP 1.2.0 SmarterMail binaries: https://jesscoburn.com/wsphacks/sm8-v120.zip The process is the same as for 1.1, simply install the server agent, replace the DLL in the bin folder with this one and then add SmarterMail to WebsitePanel. If this is useful, I’d love a link back to www.appliedi.net 🙂

We use websitepanel for our control panel of choice these days. It’s powerful, supports everything our customers use and best of all it’s open-source (and previously based off of a commercial product, dotnetpanel).  Unfortunately it does have a short coming and that’s that as new software versions come out there’s a lag related to supporting them. Recently Smartermail 8 came out and the software has built in providers for every version of Smartermail up to 7!  So if you want to support SmarterMail 8 What to do?

What to do

If you’re upgrading from Smartermail 7 to Smartermail 8, your install will continue to work because the SmarterMail web services are generally unchanged.  So go ahead and upgrade a test machine, make sure everything works as it should and you should be all set.

If on the other hand you’re doing a new install and just installed Smartermail 8, you’ll get an error along the lines of expected version not found.  Here’s the thing, the web services are the same so whether you’re running 7 or 8 (or 6 even) it should just work.   Looking through the source code of the Smartermail7 provider you’ll find that when you’re adding a new server with Smartermail is specifically trying to find version 7.   So I edited the source code to allow it to look for version 7 or version 8 and install successfully if either of these are found. 

Where to get the files

Until a SmarterMail 8 provider is coded up and made available I’m making available my custom DLLs. You’ll download the files from https://jesscoburn.com/wsphacks/sm8.zip and extract these three files over the top of the same named DLL’s in your bin folder for your websitepanel server agent.  I’d go ahead and reset IIS and then you should be able to add the mail server without issue.

I hope my friends at SmarterTools will take up the good fight and start providing the opensource modules for WebsitePanel for their products. I’m surprised no one has coded up the ActiveSync module for SmarterMail and made that available in WebsitePanel already (Jeff, Tim, Grady, Bryan, Derek.. c’mon guys.. help a brother out)

12 Replies to “Hacking WebsitePanel 1.1 to support SmarterMail 8”

  1. We have recently put a new SM8 installation on WSP 1.1.2, and ran into this very issue. The zip file contains 4 DLLs…your post mentions 3. Can you clarify?

    When I copy the DLLs and restart IIS, I am able to add the mail service, but any updates generate an exception (shown below). If I remove the mail service, the service is removed, but an error is reported (Error getting remove server information). Attempting to update other service configurations (such as DNS) return the same exception as experienced when adding the mail service.

    Can you provide any guidance?

    Could not load file or assembly 'WebsitePanel.Providers.Base, Version=1.1.2.0, Culture=neutral, PublicKeyToken=da8782a6fc4d0081' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

  2. You should find the code right around lines 2133 and 2170. Make the change, recompile, and deploy the new WebsitePanel.Providers.Mail.Smartermail7.dll file to your MAIL SERVER's WebsitePanelServerBin directory (make a backup of the old DLL first just in case something breaks). That should be all it takes. You should now be able to add a "SmarterMail 7.x" server resource and include it in your hosting plans.

    1. You can download the source for WebsitePanel from https://websitepanel.svn.sourceforge.net/svnroot/… using an SVN client like SmartSVN. Just make sure to get the source from the Releases/1.1.2 directory. You should be able to use Microsoft Visual C# Express to compile the DLL if you don't have full-fledged Visual Studio, but since you likely won't be able to load the entire solution in the Express version you'll have to fix the references to WebsitePanel.Providers.Base and WebsitePanel.Server.Utils (just remove the references and then add two new references, pointing them to your existing copies of the WebsitePanel.Providers.Base.dll and WebsitePanel.Server.Utils.dll, both of which can be found in your WebsitePanelBin directory).

      … or if you want to take the easy way out just include your email address and I will mail you the file.

      (I wish they would give you a bit more space for replies) 🙂

  3. Steve & Dan, sorry I missed the comments. That's right you just need to edit the one file and should. This was just a hack until the WSP team delivers the updated bits. If you're still stuck Steve let me know and I'll pop up updated code for you. I have a fresh build already as I have other customizations we've had to merge in as well.

    Happy to hear the post is useful 😉

    Jess

  4. Likewise trying to get hold of dll's for WSP 1.2.0 asap since I have just moved to a new server – can anyone help. Email address is dave4346 (at symbol) marketingmatch.net

    Any help would be really appreciated.

    Thanks!

  5. WebsitePanel 1.2
    SmarterMail 8.2

    When trying to add the SmarterMail 7.x site I get this error after using the updated DLLs

    System.Web.Services.Protocols.SoapException: Server was unable to process request. —> Client found response content type of 'text/html; charset=utf-8', but expected 'text/xml'.

Leave a Reply