Добрый день, уважаемые гуру! Поскольку устал искать проблему сам решил обратиться за помощью к обществу. Помощь могу оплатить (WM или Ядом), но буду рад и бесплатному совету. Ситуация: сто лет уже как юзаю некий скрипт для отправки почты в формате HTML (качать здесь http://www.novosel.ru/mail.rar). Скрипт использует упрощенную библиотеку MimeMail от Richard Heyes. Тестировал на многих почтовых программах - все выглядело хорошо. Недавно пользователи, читающие почту через веб-интерфейс mail.ru, стали жаловаться, что они не видят текст сообщения. Стал проверять - текст действительно отсутствует, если на аккаунте не отмечена галочка "Показывать HTML тексты в письме". Решив эту проблему на Mail.ru получаю, что в Outlook text/plain приходит в виде вложения в отдельном файле, что не хорошо. Кроме того, на Mail.ru картинки, включенные в письмо, не отображаются в тексте, а показываются как вложения. В Outlook и The Bat такой проблемы нет. Требуется решить эти проблемы с Mail.ru не создав новых в других почтовых клиентах (тестирую как минимум в Outlook 2007, Outlook Express, The Bat, Mail.ru, Gmail.com). Полагаю, что проблема ерундовая, но понять не могу. Предложения и/или решения пишите в личку или ICQ 9445145
Это стандарт. Есть письмо с HTML, к нему должен прилагаться обычный текст. Как воспримет письмо почтовый клиент это дело почтового клиента и пользователя. Обычно HTML воспринимают, как дополнительное вложение, если пользователь не указал обратного (разрешил показывать письма в формате HTML). А вы хотите заставить пользователя видеть HTML в письме даже если пользователь не хочет читать письма в формате HTML? Не получится.
Возьмите из Zend Framework компонент Zend Mail и генерируйте письмо с его помощью - всё работает на ура. А так как он может работать как и просто библиотека, то решается подключение его парой include.
Батенька, стандартом для таких случаев предусматривается отдельная секция HTML, отдельная text/plain в письме. Речь как раз о том, что секция text/plain в письме есть, а Mail.ru ее не отображает.
Да я собственно и использовал стандартную библиотеку, просто другую. Попробовал сегодня еще несколько - то понос, то золотуха. В одной появляются проблемы с кодировками, в другой те же проблемы с инклюдами. Я бы не писал, если проблему можно было бы решить так просто. Все равно, спасибо за совет. Попробую ещё и Zend Mail. Но вопрос/предложение ещё актуально!
А кто-нибудь может сказать строго оно по стандарту, или нет? Насколько я понимаю, стандартов здесь множество. И это не одна страничка на ненашем языке. Разбираться просто нет времени. Факт в том, что письмо, отправленное из Outlook на Mail.ru, читается нормально и в HTML-представлении и в plain/text. Т.е. задача по идее решается и без support mail.ru.
Диди, про HTML я чё-то на автомате. Но. Но, ироничный батенька, посмотрите содержание письма сформированного вами и Outlook и сравните. Узнаете почему Outlook верно проставляет заголовки, а вы нет. Точнее, где вы накосячили.
lexa, если попробуете практически осуществить то, что предлагаете, то поймете, почему я прошу помощь клуба и готов за это заплатить. Сравнивать просто два письма как файлы сложно, т.к. они: 1. Частью закодированы. 2. Могут иметь разный порядок и набор полей, что может иметь, а может и не иметь принципиального значения для решения вопроса. Поэтому правильно сравнивать сообщения, отпарсенные через, например imap_fetchstructure, imap_fetchheader а для этого нужно писать, хоть и не сложный но коннектор-парсер. А что делать дальше с найденными различиями? Собственно, сравнением файлов я тоже занимался, и на уровне полей какие-то различия видны. А дальше все равно нужно разбираться с тем, почему этот стандартный класс делает то, что он делает, и как это нужно изменить. Просто я убью на это слишком много времени, потому что с предметом (MIME) не знаком абсолютно. Может быть кто-то знает предмет и согласится помочь?
Не могу понять, кто же из нас косячит. Просто открыть файлы блокнотом и сравнить заголовки. Если содержание и закодировано, то а) это всего лишь base64, и б) заголовки всё-равно не кодируются. Просто открыть два файла и пробежать глазами: может где-то перенос строки не выставлен, может между заголовками и текстом нет двойного переноса строки, может разделитель, если есть, для какого-то куска неверно указан. Как-то вот, да.
Вот потому что у них было время разбираться у них и отправляется, а вы занимаетесь демагогией ну или все, потому что ничего там сложного нет, один раз разберешься и хватит на всю жизнь
Костян Вообще-то рекомендую посмотреть на раздел. Тебе должно быть абсолютно фиолетово по каким причинам ему нужно это сделать, поскольку ничего неадекватного в запросе нет.
Да я ж не говорю, что не могу решить проблему. Могу, наверное. :? Просто времени, которое уже потрачено, и которое скорее всего придется потратить жалко. Много других вопросов. Именно поэтому, как справедливо заметил уважаемый Simpliest, вопрос в разделе Free-lance. Кто уже разобрался и может платно помочь - обращайтесь.