DevWebProIN Newsletter:
Last Updated:


Get Your Site Submitted for Free in the World's Largest B2B Directory!

Email Address:
* URL:
*
*Indicates Mandatory Field

Terms & Conditions


PHP Mail Function For Handling UTF8 Characters

By Giorgos Kontopoulos
Expert Author
Article Date: 2008-01-15

I have been struggling for some time now to create a php mail function that can handle UTF8 characters across most email readers.

I think I have finally accomplished this and it might be useful to others so here it is.

The problem with the php mail is that it does not encode the names and subjects and they could get lost in the transport or be misinterpreted from the email readers.

This function actually does the proper encoding and overcomes the php mail deficiency.

----------
function UTF8_mail(
$from,$to,$subject,$message,$cc="",$bcc=""){

$from = explode("<",$from );

$headers =
"From: =?UTF-8?B?"
.base64_encode($from[0])."?= <"
.. $from[1] . "rn";

$to = explode("<",$to );
$to = "=?UTF-8?B?".base64_encode($to[0])
."?= <". $to[1] ;

$subject="=?UTF-8?B?"
.base64_encode($subject)."?=n";

if($cc!=""){
$cc = explode("<",$cc );
$headers .= "Cc: =?UTF-8?B?"
.base64_encode($cc[0])."?= <"
. $cc[1] . "rn";
}

if($bcc!=""){
$bcc = explode("<",$bcc );
$headers .= "Bcc: =?UTF-8?B?"
.base64_encode($bcc[0])."?= <"
. $bcc[1] . "rn";
}

$headers .=
"Content-Type: text/plain; "
. "charset=UTF-8; format=flowedn"
. "MIME-Version: 1.0n"
. "Content-Transfer-Encoding: 8bitn"
. "X-Mailer: PHPn";

return mail($to, $subject, $message, $headers);

}

UTF8_mail(
"Γιωργος Κοντοπουλος ",
"Ονομα ",
"Θέμα",
"Κείμενο",
"Φίλος",
""
);
----------

All this function is accomplishing is to encode each

Name

to

=?UTF-8?B?zpzOuc+HzrHOu863z4I=?= <email@domain.com>


The emails themselves don't need to be encoded since an email conventionally can only consist of latin characters but, we could also confuse the mail server if we did encode them.

It has not been extensively tested, therefore I can't guarantee that it would work with all possible mail readers. So please do send in your bug reports or any other comments.

Comments

About the Author:
Giorgos Kontopoulos is a web consultant from Greece. He is one of the authors of GeoLand.org where he can often be found blogging about issues related to web development and search engine optimization.



Newsletter Archive | Article Archive | Submit Article | Advertising Information | About Us | Contact | Site Map

DevWebProIN is an iEntry, Inc.® publication - All Rights Reserved Privacy Policy and Legal
PHP Mail Function for Handling UTF8 Characters