2012-02-01 2 views
2

Я строю небольшое приложение, чтобы отправить список «2do» в Evernote по электронной почте. Для тела сообщения символы отображаются правильно, но для предмета символы перепутаны. Это PHP код:PHP - электронная почта с арабскими символами

Основной PHP:

$subject  = $_POST["thesubject"]; 

    $bound_text=md5(uniqid(time())); 
    $headers.="MIME-Version: 1.0\r\n" . "Content-Type: multipart/mixed; boundary=\"PHP-mixed-$bound_text\"\r\n"; 

    $message="--PHP-mixed-$bound_text\r\n"  
       ."Content-Type: text/html; charset=\"utf-8\"\r\n" 
       ."Content-Transfer-Encoding: 7bit\r\n\r\n" 
       ."<html><head></head><body>" 
       ."<div style=\"font-family: Arial, Helvetica, sans-serif; font-size : 1.3em; color: #000000;width: 100%;text-align: left;\">$text_message</div></body></html>\r\n\r\n" 
       ."--PHP-mixed-$bound_text\r\n" 
       ."Content-Transfer-Encoding: base64\r\n" 
       ."Content-Disposition: attachment; filename=\"$attachment\"\r\n" 
    ."Content-Type: image/jpeg; name=\"$attachment\"\r\n\r\n" 
    .chunk_split($file) 
      ."\r\n\r\n" 
       ."--PHP-mixed-$bound_text--\r\n\r\n"; 

    } 

The mail part: 

    $subject_evernote = utf8_decode($subject); 
    mail($evernote,$subject_evernote,$message,$headers); 

Что с ней?

+0

Просто получить [PHPMailer] (http://phpmailer.worxware.com/) и быть счастливым – zerkms

+0

Где '$ subject'? –

ответ

3
mb_internal_encoding("UTF-8"); 

$subject_evernote = mb_encode_mimeheader("العربية"); 
3

Заголовок электронной почты, в который входит объект, может содержать только символы ASCII. Поэтому вам нужно будет MIME кодировать ваши символы, отличные от ASCII, чтобы они соответствовали этому требованию. Посмотрите на mb_encode_mimeheader.

Смежные вопросы