Please specify the install prefix of iconv with –with-iconv

Error message

configure: error: Please specify the install prefix of iconv with --with-iconv=

Related to

MAMP compilation of PHP extensions as e.g. pnctl or mongo as described e.g. at or


run configure without iconv support:

./configure --without-iconv

phpMicroformats – PHP class library for microformats

About phpMicroformats

phpMicroformats is a PHP class library that helps to generate valid microformats for e.g. calendar events (hCalendar) or vcards (hCard). It is released under GPL license.

About Microformats

Microformats are specific enriched html structures that both helps humans and computers to understand the content. There are formats for calendar events called hCalendar – based on vCalendar format – and vcards – based on vCard format – and more.
The advantage of using microformats is that it is easier for humans to understand but also for computers to interpret and understand. Since it is using wildly accepted standards as (x)html enriched with some specific but limited classes, it can be easily implemented.


  • Based on wildly accedpted standards as xhtml
  • Defines specific formats for limitd domains as e.g. calendar data or vcards
  • Helps to classifiy and structure data for both humans and computers
  • Will help computers to better understand the content of websites
  • Can be integrated and used easily with full backward compatibility.


  • Maybe a bit more work to encode the data in the required formats.
  • Up to now only a few formats are set up for limited domains.
  • Not officially used by search engines spiders up to now.

Requirements for phpMicroformats

There are no special requirements besides PHP.

Usage of phpMicroformats

  1. Download phpMicroformats and copy the class phpMicroformats.class.php to your webserver.
  2. Experiment with the microformat examples available: Generate your first hCalendar or hCard entry.


phpMicroformats Release 0.1 (supports hCalendar and hCard; ZIP-compressed)

Examples for generation of microformat entries

Sample code for encoding of a vcard

* example php script that generates and outputs a hcard entry

$myPersonalData = array(
‘name’ => ‘Steve F. Better’,
’email’ => ‘’,
‘org’ => array(
‘name’ => ‘The virtual company’,
‘title’ => ‘General chief of all’

‘location’ => array (
‘street’ => ‘Main street 15b’,
‘town’ => ‘Mainhattan’,
‘zip’ => ‘22912’,
‘state’ => ‘Main country’,
‘country’ => ‘Countrinidad’

‘phone’ => array(
‘home’ => ‘+1 123 66 71 292’,
‘cell’ => ‘+1 123 88 72 121’

‘photo’ => ‘’,

‘im’ => array(
‘skype’ => ‘echo-chinese’,
‘aim’ => ‘ShoppingBuddy’

Sample code for encoding of a calendar event

* example php script that generates and outputs a hcalendar entry

$myEvent = array(
‘name’ => ‘Release party of phpMicroformats’,
‘begin’ => time(),
‘end’ => time()+2*60*60, // duration: 2 hours

‘location’ => array (
‘street’ => ‘Main street 15b’,
‘town’ => ‘Mainhattan’,
‘zip’ => ‘22912’,
‘state’ => ‘Main country’,
‘country’ => ‘Countrinidad’
‘url’ => ‘’


OpenEMM – control open source mailing software OpenEMM

About OpenEMM

OpenEMM is a email marketing software for advanced and (semi-) professional users. It is possible to control some functionality also via a webservice interface. So interacting with the software is possible from every programming language that supports webservices. The php class available at this page abstracts the webservice methods and provides a nativ php interface.

More information can be found in the webservice documentation available at Please setup the webservice interface as written in the documentation first before playing with the OpenEMM php class.

Download and license information

Download OpenEMM php class – Release 1.1 / 4 KB / ZIP-compressed / License: MIT

Release 1.1 fixes minor bugs, it has been tested up to OpenEMM 6.0.1. Feedback is always welcome!

The code is also available at

Usage of OpenEMM php class

It is easy to interact with the OpenEMM email marketing software via the webservice interface through the OpenEMM php class. For example, the following code displays the information of a subscriber with the subcriber id 6 from the OpenEMM application.

$openemm = new OpenEMM('openemm.wsdl', 'openemm_user', 'openemm_password');

This example asumes that the php class file OpenEMM.class.php and the webservice description file openemm.wsdl are located in the same directory as the php script file.

Tipps, tricks and problem solutions

Updating an existing subscriber

Since the webservice interface of OpenEMM does not yet provide an update method for an existing subscriber, a workaround is beeing in the function updateSubscriber used. First, all informatio nof the subscriber are fetched from OpenEMM and then the existing subscriber will be overwritten with a combination of the new values and old values for values, that are not new.

Date format of OpenEMM webservice interface

OpenEMM uses a special date/time format for the webservice interface (see OpenEMM webservice manual, section addSubscriber). To generate this, the function generateDateArray can be used. The first parameter indicates the variable name of the date field, the second param the timestamp in unix format and the 3rd (optional) boolean parameter indicates if the result should also contain time information. This function returns an array containing the date/time information in OpenEMM parameter format. It can be merged with other (e.g. subscriber) values with array_merge.

Example: $openemm->generateDateArray('my_datetime_variable_name', time(), false);

Accessing OpenEMM through a http proxy

Problem: You are running an OpenEMM server in the internet and you would like to access it from your intranet. Between intranet and internet is a http proxy.

Solution: The OpenEMM php class takes an extra argument that is routed directly to PHP when setting up the SOAP connection. There you can setup the http proxy connection settings as described in the PHP documentation.

$soapParameter = array('proxy_host' => "localhost", 'proxy_port' => 8080, 'proxy_login' => "some_name", 'proxy_password' => "some_password");
$openemm = new OpenEMM('openemm.wsdl', 'openemm_user', 'openemm_password', $soapParameter);