PHP - электронная почта с арабскими символами - PullRequest
2 голосов
/ 01 февраля 2012

Я создаю маленькое приложение для отправки своего списка "2do" в Evernote по электронной почте.Для тела сообщения символы отображаются правильно, но для темы символы перепутаны.Это код 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);

Что с ним не так?

Ответы [ 2 ]

3 голосов
/ 01 февраля 2012
mb_internal_encoding("UTF-8");

$subject_evernote = mb_encode_mimeheader("العربية");
3 голосов
/ 01 февраля 2012

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...