November 29, 2007

Post modern mailing with poMMo

Author: Federico Kereki

poMMo, the "post modern mass mailer" with the not-quite-right acronym, is a powerful Web server-based mass mailing program firmly rooted on a Linux+Apache+MySQL+PHP (LAMP) base. poMMo has been developed with the end user in mind, which shows in its quick Web-based installation, in its powerful yet simple way of creating and sending mailings, and in its intuitive usage.

Installing poMMo isn't hard, but it requires several steps and even a code fix, so be careful. You need to have already installed PHP 4.3.2 or higher (the current version is 5.2.5, far beyond poMMo's minimum version) and MySQL 4.1.11 or higher (5.1 is the version I'd recommend). Download the source files package, go to the directory in which you saved it, unpack it, and move it to your Web server's directory with a series of commands like:

tar zxf poMMo-aardvarkPR15.1.tar.gz
mv pommo /srv/www/htdocs/

Note that /srv/www/htdocs/ is the standard Web directory for openSUSE; most other distributions use /var/www/html instead. Then, still as root, type:

cd /srv/www/htdocs/pommo
cp config.sample.php config.php

Edit the config.php file, setting parameters as appropriate to your server, so it looks like this:

[db_database] = pommo
[db_username] = yourMySqlUserName
[db_password] = yourMySqlPassword
[db_hostname] = localhost
[db_prefix] = pommo_
[lang] = en
[debug] = off
[verbosity] = 3

You should be able to use poMMo in several languages, including Spanish, French, Portuguese, and Italian; check the documentation within the file. However, I tried the Spanish version, and it didn't work; Portuguese was even worse and produced an error ("Unknown language BR"), which I could solve only by clearing the cache data. I suggest you stick with English.

You need to fix some code: Follow the instructions from the poMMo forum and edit the /inc/helpers/message.php file, or you won't be able to test the mail send function. After more than a year, a patch for this issue still hasn't been included in the standard release.

Visit your local poMMo page (in this case, http://localhost/pommo), click on Install, and fill in the fields in the form (such as your administrator password and email). Now you're set. If you get a warning, check the install documentation; you might have to create directories or change access rights.

From the Admin page you can change the setup, define a mailing, and manage your subscribers. Your first step should be to define the way your mail is going to be sent. Go to Setup -> Configure -> General to configure whether you'll be using Sendmail, PHP's own internal function, or an SMTP relay (using another server). After you pick your options, click on Test Exchanger, and see whether you're able to send a message. Be warned: This option seems to work only when you're in Demonstration Mode (and no mail is actually sent out). After I toggled this mode off (in the Mailing tab), I got error messages but no mail messages.

Next, click on Mailing and set mailing limits. By default, poMMo tries to send out all of your messages as quickly as possible. This might mark you as a spammer and get you banned, so pick some reasonable limits. Specify how many messages to send per second (three per second equals about 10,000 per hour) and the maximum bandwidth limit (megabytes per hour). You can also avoid getting bounced by servers by specifying how often a specific domain should be get messages; poMMo slows down mail to that domain as required.

Managing subscribers

You have plenty of flexibility with regard to storing information about your subscribers. In the Fields tab you can define which data fields you'll store in your system. In addition to the email address (which is included by default), you can have:

  • Text fields: The most common option, suitable for names, addresses, and so on
  • Number fields: Good for numbers such as income and number of PCs
  • Date: For date entry, such as birthdays
  • Checkboxes: Suitable for yes/no options; for example, if the subscriber wants to receive information on an optional item
  • Multiple choice: Allows you to pick one option out of a list; you could use this, for example, to pick a country or area of interest
  • Comment: A free text field

poMMo also lets you import lists, such as email addresses or CSV files with full subscriber data, so you don't have to enter everything anew if you have it stored elsewhere.

When you're done, click on the Setup Forms tab, where you'll see three different subscription forms. You can enhance or change these to fit your Web site. Note that all the fields you defined will appear on the form. poMMo also includes an unsubscribe page, so your subscribers can choose to stop receiving messages.

Sending a campaign


Once you've made it this far, you can start sending messages and allowing people to subscribe or unsubscribe to your list. You can send a mailing to a group of subscribers, depending on their field values. Go to the Subscribers page and pick the Groups tab. Name your group, then specify the logic condition that defines your group. You can make references to field values and combine expressions with the Boolean operators AND and OR. If you've set up other groups already, you can create new ones by combining them, either by adding to or subtracting from the current group.

To do the mailing itself, go to the Mailing screen, give your mailing a name, and specify other parameters, such as from whose account the mailing will be sent or the return address for answers. Then compose your message. You can speed things along by choosing a template, and you can save messages as templates and use them for future mailings. poMMo provides a WYSIWYG editor to write the actual text.

Click on the Add Personalization link to personalize a message by including any fields from the subscriber record. You can also include links to your Web site or to a special "unsubscribe me" page; if you want to avoid being classified as a spammer, all of your mailings should include this last link! (Check the CAN-SPAM Act for all legal requirements.)

Finally, preview the message, send a test mailing, and then send it out to the complete list. The actual mailing runs as a background process, so you can close the poMMo page; if you leave it open, you can watch the outgoing message's progress.


poMMO is a powerful mailing program with a (for now) not-so-easy installation process and some trivial problems that should have been fixed in a previous release. It lacks certain functions found in commercial programs, such as the ability to process return mail or produce statistics about read messages, but it can provide a key tool for communicating with groups of email users.


  • Reviews
  • Mail & Messaging
  • Internet & WWW
Click Here!