Sunday, January 13, 2008

DotNetNuke No Image on Newsletter Issue Fix Found

This is the issue that has been bugging me for a few years, but finally there is a working solution.

Symptom:

So you go to the Newsletter module, incorporate an image or two in the newsletter using the "image" tool that comes with the default editor (FTB Editor). Much to dismay, the images do not show up in email.

Cause:

DotNetNuke had this nasty URL rewrite stuff built into it that if an URL is local to the installed directory of DotNetNuke, it will strip the root URL. This will work for contents that are within the site, but in email it won't work.

Fix:

I have discovered this on DNN 4.8.0, but I think somewhere around DNN 4.5 or later this change was made. Unfortunately if you are using a much older version of DNN, there is not much hope except for working this around with domain remapping technique, also provided in this article.

Steps:
  1. Go to the Newsletters Module, just as if you are writing a new newsltter
  2. Under the bottom of the editor panel, you should see "Show Custom Editor Options." Click that.
  3. A configuration dialog box will pop up. If it does not, check your pop-up blocker and try again.
  4. Under the Settings Type, select Module
  5. Click the + for "Other editor options"
  6. Check mark the"Full image path" option.
  7. Scroll down and select the pull down menu for Apply Custom settings to "Module" then click the Apply link.

Workaround for Older DNN Sites

The URL rewrite stuff does not apply to the URLs that do not match what's in the Portal Alias, so what I used to do was to map another domain on top of the existing domain and then I would go into the HTML and change the root domain for all included image URL before sending out the email. For example, for my site StokeMaster.com, I also mapped StokeMaters.com. I would cut the HTML code after editing the newsletter to a text editor on a local machine, do a global replace of StokeMaster.com with StokeMasters.com and re-paste back then send out email. A major extra work, but it does work.