CKeditor based web form for Dreamhost Announcement Lists

Provides WYSIWYG editing instead of DH's HTML editing panel.
By Terry Wysocki (terry at terry wysocki dot com)


Dreamhost's Announcement List feature is great for sending email to many individuals at once. However, to compose the emails with any HTML coding in them, you must type the code into DH's non-wysiwyg editing box. I created a simple form that allows you to design the email with full HTML features and even drag-and-drop HTML formatted material from web pages or other emails. It uses the free, open source CKeditor as the editing tool, and then sends the text to the list via Dreamhost's API.

You need to download the editor from www.ckeditor.com and place it into a folder on your site (usually named "/ckeditor"). This is an updated version of the old FCKeditor program. You should place your editing page (which includes the form described below) in that folder. There are a lot of examples that come with CKeditor but all you need is a form like this:

<form action="https://api.dreamhost.com" method="POST">
<input type="hidden" name="key" value="XXXXX99999ZZZZZZ"> <!--ENTER YOUR KEY HERE -->
<input type="hidden" name="domain" value="mydomain.com"> <!--ENTER YOUR DOMAIN HERE -->
<input type="hidden" name="listname" value="newsletter"> <!--ENTER YOUR LIST NAME HERE -->
<input type="hidden" name="cmd" value="announcement_list-post_announcement">
<input type="hidden" name="type" value="html"><p>
<input type="submit" value="Send To Members" />
 Enter subject and message then SEND. You can also paste from webpages or emails.</p>
<p>Subject:
 <input name="subject" type="text" id="subject" value="My Newsletter Subject" size="80" /><br /><br />
<textarea name="message"></textarea>
<script type="text/javascript">
 CKEDITOR.replace( 'message',
 {
 uiColor : '#99CCFF', height:"500", width:"800"
 });
 </script>
</p>
</form>

You will also need to insert a "script" line like this (you might need to edit the src= parameter), anywhere between your <head> and </head> tags:

<script type="text/javascript" src="../ckeditor.js"></script>

It's probably a good idea to password protect the CKeditor folder to prevent unauthorized persons from getting to it and sending out announcments.

You just need to change three values in the form's input fields:

  1. KEY - The Dreamhost API key which allows access to your announcement list.
  2. DOMAIN - The name of the domain that the key was set up for.
  3. LISTNAME - The name of the list in that domain.

Here's what the editor will look like:

ckeditor API