Marius van Witzenburg We fight for our survival, we fight!

4Jul/110

How to generate a Windows Live Messenger or MSN Messenger contactlist file with PHP

Posted by mariusvw

If you would like to generate a contact list with PHP to import email addresses into your contact list use the following...

PHP contactlist generator

mysql_connect('localhost', 'username', 'password');
mysql_select_db('database');
 
$doc = new DOMDocument('1.0');
$doc->formatOutput = true; 
 
$node = $doc->createElement('messenger');
$messenger = $doc->appendChild($node);
 
$node = $doc->createElement('service');
$node->setAttribute('name', '.NET Messenger Service');
$service = $messenger->appendChild($node);
 
$node = $doc->createElement('contactlist');
$contactlist = $service->appendChild($node);
 
$result = mysql_query("SELECT `email` FROM `contacts`");
while ($data = mysql_fetch_assoc($result)) {
    $node = $doc->createElement('contact', $data['email']);
    $contactlist->appendChild($node);
}
 
header('Content-type: text/xml');
header('Content-Disposition: attachment; filename=contacts.xml');
echo $doc->saveXML();

Output

<?xml version="1.0"?>
<messenger>
  <service name=".NET Messenger Service">
    <contactlist>
      <contact>email1@domain.tld</contact>
      <contact>email2@domain.tld</contact>
      <contact>email3@domain.tld</contact>
      <contact>email4@domain.tld</contact>
      <contact>email5@domain.tld</contact>
    </contactlist>
  </service>
</messenger>