Demetrius
Новичок
Надкусянный контент, или особенности национального mail()'а
Пишу класс для отправки писем mail()'ом. (Прим: "проверенный" скрипт даёт тот же результат, и дело скорее всего не в скрипте, а где-то после). Возникла одна очень странная ситуация, объяснения которой найти не могу. Коллеги, может кто сталкивался? ФАКи, поиски и т.п. - смотрел. Итак, суть.
Я создаю base64-кодированную и chunk_split'нутую строку для отправки картинки в письме:
1) В виде аттача;
2) Всё тело письма состоит из картинки и content-type письма "image/...".
Результат один и тот же, а именно: при получении письма, и даже при вскрытии его из очереди smtp-сервера моя картинка оказывается на 5 байт короче. Как выяснилось (методом открывания блокнотом и сравнением файлов), в base64-коде таки да нету пяти байт. В 14-ой, и каждой следующей 13-ой строке (строки стандартные, кажись по 76 символов). Символы выедены произвольные, логики не уловил. Также её нет в позиции символов. Привожу пример (1-ая строчка из неотправленного оригинала, 2-я из готового письма):
1) UQRa1JMKjwgCBjLBhRkgQxJilUQxQqADDXyCACzYnzl8EAUsdEEWjzhAJS4BARcAYxYkQIY8XvAF
2) UQRa1JMKjwgCBjLBhRkgQxJilUQxQADDXyCACzYnzl8EAUsdEEWjzhAJS4BARcAYxYkQIY8XvAF
Как видно, после "QxQ" пропущен "q". Вот так пропали мои 5 байтов, что перманентно приводит к нечитабельности картинки.
Прим.: text/plain&html (не кодированный) доходит нормально.
Я проверял правильность чтения файла и кодирования - всё верно; пытался найти закономерности потерь - тщетно. Известно лишь, что 14-ую и каждую следующую 13-ую строку кто-то или что-то вандальски погрызло. Буду рад выслушать соображения.
Пишу класс для отправки писем mail()'ом. (Прим: "проверенный" скрипт даёт тот же результат, и дело скорее всего не в скрипте, а где-то после). Возникла одна очень странная ситуация, объяснения которой найти не могу. Коллеги, может кто сталкивался? ФАКи, поиски и т.п. - смотрел. Итак, суть.
Я создаю base64-кодированную и chunk_split'нутую строку для отправки картинки в письме:
1) В виде аттача;
2) Всё тело письма состоит из картинки и content-type письма "image/...".
Результат один и тот же, а именно: при получении письма, и даже при вскрытии его из очереди smtp-сервера моя картинка оказывается на 5 байт короче. Как выяснилось (методом открывания блокнотом и сравнением файлов), в base64-коде таки да нету пяти байт. В 14-ой, и каждой следующей 13-ой строке (строки стандартные, кажись по 76 символов). Символы выедены произвольные, логики не уловил. Также её нет в позиции символов. Привожу пример (1-ая строчка из неотправленного оригинала, 2-я из готового письма):
1) UQRa1JMKjwgCBjLBhRkgQxJilUQxQqADDXyCACzYnzl8EAUsdEEWjzhAJS4BARcAYxYkQIY8XvAF
2) UQRa1JMKjwgCBjLBhRkgQxJilUQxQADDXyCACzYnzl8EAUsdEEWjzhAJS4BARcAYxYkQIY8XvAF
Как видно, после "QxQ" пропущен "q". Вот так пропали мои 5 байтов, что перманентно приводит к нечитабельности картинки.
Прим.: text/plain&html (не кодированный) доходит нормально.
Я проверял правильность чтения файла и кодирования - всё верно; пытался найти закономерности потерь - тщетно. Известно лишь, что 14-ую и каждую следующую 13-ую строку кто-то или что-то вандальски погрызло. Буду рад выслушать соображения.
