Do I have to override the wp_mail() pluggable function with writing a plugin?

Yes you need to use a plugin. Point is that pluggables are between hard and impossible to control. You can read through this thread on wp-hackers about the actual problems and why you shouldn’t use them.

Important:

Note: pluggable.php loads before the ‘plugins_loaded’ hook.

This means that you need the “MU-plugins” (Must use) hook: mu_plugins_loaded and their folder.

My recommendation:

Don’t do it. Not worth the effort and problems coming with it just to get the text of an email lowercase. It’s much easier to directly hook into the wp_mail() filters and actions:

// Compact the input, apply the filters, and extract them back out
extract( apply_filters( 'wp_mail', compact( 'to', 'subject', 'message', 'headers', 'attachments' ) ) );

// Plugin authors can override the potentially troublesome default
$phpmailer->From     = apply_filters( 'wp_mail_from'     , $from_email );
$phpmailer->FromName = apply_filters( 'wp_mail_from_name', $from_name  );

$content_type = apply_filters( 'wp_mail_content_type', $content_type );

// Set the content-type and charset
$phpmailer->CharSet = apply_filters( 'wp_mail_charset', $charset );

do_action_ref_array( 'phpmailer_init', array( &$phpmailer ) );