- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
// Вот код скрипта для отправки емейла:
mb_internal_encoding ("utf-8");
$from = "Иван Иванов <[email protected]>";
$to = $name."<$email>";
$subject = "Подтверждение подписки";
$message = "текст письма здесь";
$headers = "From: ".$from."\nReply-To: ".$from."\nContent-Type: text/plain; charset=utf-8\nContent-Transfer-Encoding: 8bit";
mail ($to, $subject, $message, $headers);
// И что характерно, само тело письма приходит в правильной кодировке. А вот поля отправителя,
// получателя и сабж письма - в краказябинах. Сами тексты этих полей 100% написаны в utf-8, код скрипта тоже в utf-8.
// Вот что что я вижу в почте:
// Subject: РРѕРґСРІРµСждение РїРѕРґРїРёСРєРё
// From: Рван Рванов <[email protected]>
// Reply-To: Рван Рванов <[email protected]>
// ...
// Проблема решилась следующим образом:
$subject = "=?utf-8?B?" . base64_encode("Подтверждение подписки") . "?=";
// И так для каждого поля.
gost 20.05.2020 12:49 # 0
ropuJIJIa 20.05.2020 12:55 # +1
Как думаете, для чего первая строка? Оказывается, если не приклеить строчку <?xml encoding="UTF-8"> к HTML-файлу, объект DOMDocument пидорасит кодировку и отказывается воспринимать символы за пределами Latin-1.
bormand 20.05.2020 12:58 # 0
ropuJIJIa 20.05.2020 13:08 # 0
Функция «mail» клеить вложения не умеет.
Расширение «mailparse» умеет разбирать, но не клеить.
Клеить умеет... расширение «IMAP»:
https://www.php.net/manual/ru/function.imap-mail-compose.php
Логично, да?
gost 20.05.2020 13:10 # +2
Ух, бля, какая консистентность-то.
MAKAKA 20.05.2020 13:24 # 0
Иными словами, функция их хвалёной стандартной библиотеки пыха -- mail -- ненужное говно.
А есть в вашем компоститоре нормальная функция?
ropuJIJIa 20.05.2020 13:34 # 0
guest8 20.05.2020 13:52 # −999
jojaxon 20.05.2020 13:54 # 0
bormand 20.05.2020 13:54 # 0
jojaxon 20.05.2020 13:55 # 0
bormand 20.05.2020 13:56 # +1
ropuJIJIa 20.05.2020 13:55 # 0
Ну это примерно как была «Почта России». Потом прикрутили «Почта-банк». Потом на почте стали макаронами торговать.
MAKAKA 20.05.2020 14:07 # +1
Это как человеку из 1989-го года сказать "сфотографируй на телефон и пошли фотку телеграммом"
ropuJIJIa 20.05.2020 13:48 # 0
https://pear.php.net/manual/en/package.mail.mail-mime.php
1024-- 20.05.2020 13:44 # 0
Напомню главные правила
1. Не надо читать советские газеты и любые форумы.
2. Не надо писать на любых форумах.
3. Не надо открывать ссылки на подозрительные сайты.
4. Любой сайт с "php" в домене - подозрителен.
5. Не надо писать вопросы и ответы на стэкпитухе, можно только гуглить готовые ответы на стэкпитухе.
jojaxon 20.05.2020 13:47 # +2
COBA_Hukorga_HE_cnum 20.05.2020 13:50 # 0
guest8 20.05.2020 13:52 # −999
1024-- 20.05.2020 14:09 # 0
Но не форумы, где постят питушню и спрашивают, как сложить 2+2 в jQuery.