DKIM Wizard: http://www.port25.com/support/domainkeysdkim-wizard/ - Enter a domain and choose a selector to get your public and private keys - Create the two DNS records containing the public key - Note: The test seen on that site won't work with LMP implementation. To test DKIM, send to Yahoo or gmail and check message source/headers for a DKIM "pass" message. Get php-dkim: http://downloads.sourceforge.net/project/php-dkim/php-dkim/v1.0/php-dkim.zip Unzip php-dkim.zip Modify dkim-cfg-dist.php: a) Change this: //$open_SSL_pub="-----BEGIN PUBLIC KEY----- //... copy & paste your public key //-----END PUBLIC KEY-----" ; to this, with your public key: $open_SSL_pub="YOUR PUBLIC KEY" ; b) Change this: //$open_SSL_priv="" ; to this, with your private key: $open_SSL_priv="YOUR PRIVATE KEY" ; c) Change $DKIM_d='example.com' ; to contain your domain d) Change $DKIM_s='test' ; to contain your selector Rename dkim-cfg.dist.php to dkim-cfg.php Copy dkim.php and dkim-cfg.php to ListMailPRO folder Modify ListMailPRO: *** admin.php Line 827-829 *** // domail!!! require('dkim.php'); // DKIM MOD function domail($sendq='',$sendt='',$xid='',$batch){ *** admin.php Line 1387+ *** $header .="X-LMP-Recipient: $email"; // BEGIN DKIM MOD if($smtpsend) $header .= "$crlf$crlf"; if(($htmsg && $htmail && !$textonly) || $fatt){ $body = "This is a multipart message in MIME format.$crlf$crlf$body"; } /* above changes were needed because we had incorrectly appended the 'multipart' string to the header not the body, which affected DKIM signing the proper body length with HTML mail */ // END MOD if($timedebug) $time = mtime() - $stime; *** admin.php Line 1695+ *** // data - both send methods if(!$error){ // start data // BEGIN DKIM MOD $header = str_replace("\r\n","\n",$header); $header = str_replace("\n","\r\n",$header); $body = str_replace("\r\n","\n",$body); $body = str_replace("\n","\r\n",$body); $dkim = AddDKIM($header,$xsubj,$body); $header = $dkim.$header; $body = str_replace("\r\n.","\r\n..",$body); $themesg = $header.$body; $xmsg = str_replace('<','<',$themesg); $xmsg = str_replace('>','>',$xmsg); // END MOD if($smtp_debug) logwrite($bugf,"> SENT DATA\r\n");