⬆️ ⬇️

Encoding problems when sending @mail in PHP

Recently I ran into a problem, when sending gMail messages (and others too), could not correctly display my letter written by Cyrillic.

Climbed on the Internet, there this question has already been raised, and a solution was proposed. After reworking it for myself, I decided to put it here too. I think that some of you may find it useful too:



// The trim function removes spaces at the beginning and end

$ title = htmlspecialchars (trim ($ _ POST ['title']));

$ mess = htmlspecialchars (trim ($ _ POST ['mess'));



// Conversion

$ title = '=? koi8-r? B?'. base64_encode (convert_cyr_string $ title, "w", "k")). '? =';

$ to = 'some_main@gmail.com';

$ head = "Content-Type: text / plain; \ r \ n";

$ head. = "X-Mailer: PHP /". phpversion (). "\ r \ n";

$ head. = "Reply-To: admin@gmail.com \ r \ n";

$ head. = "To: $ name <$ to> \ r \ n";

$ head. = "From: admin@gmail.com \ r \ n";

$ head. = "Subject: $ title \ n";

')

// send

mail ($ to, $ title, $ mess, $ header);



Shl. I hope it will come in handy!

Source: https://habr.com/ru/post/22659/



All Articles