PHP emai функцията - Енкодинг

atanas13

Registered
Привет!
Пробвах много неща, но така и не успях да накарам функцията mail на PHP да праща писма на кирилица, които да се четат напълно.
Когато използвах utf-8, в abv.bg се чете всичко, но в mail.bg заглавието не се показва правилно0 само съдържанието на писмото.
Някакви идеи? Благодаря предварително!
 
Ползвай добре утвърден фреймуърк за пращане на мейли като SwiftMailer и го конфигурирай правилно с mail сървъра ти. :)
 
atanas13 каза:
Не е ли възможно без такава сложнотия?

Под всички мейл клиенти да ти е еднакъв енкодинга е почти невъзможно само с един header към mail() функцията...
 
Имаш ли нещо такова в във mail функцията ?

Код:
$headers .= 'Content-type: text/html; charset=UTF-8' . "\r\n";
 
Използвай този код!
Код:
$email = 'email@mail.bg'; // До кого ще изпращаш писмото
$email_subject = 'Заглавие';
$email_message = 'Съдържание на писмото';
$email_headers = "From: ТВОЕТО ИМЕ <ТВОЯТ ИМЕЙЛ>\n"
."Reply-To: ТВОЯТ ИМЕЙЛ\n" // Този ред го остави, само, ако искаш да получиш копие от писмото
."Content-Type: text/html; charset=utf-8\n"
."X-Mailer: PHP/".phpversion();

mail( $email, $email_subject, $email_message, $email_headers );
Освен това кодировката на страницата ти трябва да е utf-8 и да я конвертираш до UTF-8 (Без BOM). Това става от Оформление > Конвертирай до UTF-8 (Без BOM), ако използваш Notepad++.
 
misho каза:
Използвай този код!
Код:
$email = 'email@mail.bg'; // До кого ще изпращаш писмото
$email_subject = 'Заглавие';
$email_message = 'Съдържание на писмото';
$email_headers = "From: ТВОЕТО ИМЕ <ТВОЯТ ИМЕЙЛ>\n"
."Reply-To: ТВОЯТ ИМЕЙЛ\n" // Този ред го остави, само, ако искаш да получиш копие от писмото
."Content-Type: text/html; charset=utf-8\n"
."X-Mailer: PHP/".phpversion();

mail( $email, $email_subject, $email_message, $email_headers );
Освен това кодировката на страницата ти трябва да е utf-8 и да я конвертираш до UTF-8 (Без BOM). Това става от Оформление > Конвертирай до UTF-8 (Без BOM), ако използваш Notepad++.

Всичко това си го бях направил, ама за всеки случай пробвах да копирам товя код и пак същото дереже- mail.bg отказва да чете заглавието както трябва.
 
След доста ровене открих решението:
$subject= "=?utf-8?b?".base64_encode($subject)."?=";
Все пак благодаря за отделенеото време, да ми помогнете!
 

Back
Горе