<?php
/*
Plugin Name: Fixed Mail Headers
Plugin URI: http://www.wasab.dk/morten/eksponering/arkiv/2006/12/05/f%c3%a6rre-spamfejl/
Description: This plugin provides a better wp_mail function, one that sends better headers.
Author: Morten Frederiksen
Version: 1.0
Author URI: http://www.wasab.dk/morten/
*/ 

// wp_mail is a pluggable function.
if ( !function_exists('wp_mail') ) :

function 
wp_mail($to$subject$message$headers '') {
  if( 
$headers == '' ) {
    
$headers "MIME-Version: 1.0\n" .
               
"From: wordpress@" preg_replace('#^www\.#'''strtolower($_SERVER['SERVER_NAME'])) . "\n" .
               
"X-Mailer: WordPress " get_bloginfo('version') . " with Fixed Mail Headers plugin\n" .
               
"Content-Transfer-Encoding: 8bit\n" .
               
"Content-Type: text/plain; charset=\"" get_settings('blog_charset') . "\"\n";
  }
  if (
preg_match('|^utf-?8$|i'get_settings('blog_charset')))
    
$subject utf8_decode($subject);
  
$subject '=?ISO-8859-1?Q?' str_replace(' ''_'preg_replace('/[^\x21-\x3C\x3E-\x7E\x09\x20]/e''sprintf("=%02x", ord("$0")) ;'$subject)) . '?=';
  
$headers str_replace('From: wordpress@' preg_replace('#^www\.#'''strtolower($_SERVER['SERVER_NAME'])), 'From: WordPress <' get_settings('admin_email') . '>'$headers);
  
$headers str_replace('wordpress@' preg_replace('#^www\.#'''strtolower($_SERVER['SERVER_NAME'])), get_settings('admin_email'), $headers);
  if (
preg_match('|^utf-?8$|i'get_settings('blog_charset')))
    
$headers utf8_decode($headers);
  
$message str_replace('wordpress@' preg_replace('#^www\.#'''strtolower($_SERVER['SERVER_NAME'])), get_settings('admin_email'), $message);
  return @
mail($to$subject$message$headers);
}

endif;

?>