We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 2747
    • 25 Posts
    Установил модэкс c UTF-8. В .htaccess utf-8 прописал.
    Все модули русский воспринимают адекватно - проблем нигде никаких.
    Только из WebLogin письма о напоминании пароля на ящики сыплются в крякозябрах.
    Куда копать?
      • 785
      • 2,113 Posts
      Попробуйте в файлах, находящихся в папке assets/snippets/weblogin найти

      "X-Mailer: Content Manager - PHP/".phpversion()


      и добавить примерно это

      ."\r\n"."MIME-Version: 1.0"."\r\n"."Content-Transfer-Encoding: 8bit"."\r\n".'Content-Type: text/html; charset="UTF-8"'


      Кстати, а зачем в .htaccess utf-8 прописывать?
        Создание сайтов на MODx, поддержка сайтов, поисковая оптимизация, программирование, копирайтинг
        Статьи о MODx, регулярно новые публикации
        • 2747
        • 25 Posts
        Хммм... сработало на mail.ru - на двух других ящиках не работает.
        Мне кажется проблема не решена. Mail.ru, по моему любые кодировки ловит отлично, даже если его мордой не тыкать.

        А вот Outlook Express напоминание пароля не понимает, даже если письму юникод-8 руками выставить.
        Кстати мне уже советовали этот способ, только X-Mailer не заменяли на MIME - и, к сожалению, с тем же упехом...

        А в .htaccess прописать utf мне хостер посоветова, сказал что именно так меняется кодировка сайта. И действительно инсталяция модекса после этого на русском пошла (раньше крякозябры выдавала).

        Есть ещё идеи?
          • 785
          • 2,113 Posts
          Вообще-то все достаточно просто – нужно сравнить приходящие письма (все поля, а не только содержимое) и изменить заголовок у тех, которые доходят неверно. И еще нужно посмотреть, откуда берутся русские буквы в письме – возможно, они из файла в иной кодировке. Сам я WebLogin не использовал, так что конкретно сказать не могу.

          Quote from: banev at Feb 13, 2008, 09:48 AM

          А в .htaccess прописать utf мне хостер посоветова, сказал что именно так меняется кодировка сайта.
          В принципе заголовки сервера должны правильно и без .htaccess формироваться. Может быть и проблема с почтой из-за особенностей хостинга?
            Создание сайтов на MODx, поддержка сайтов, поисковая оптимизация, программирование, копирайтинг
            Статьи о MODx, регулярно новые публикации
            • 2747
            • 25 Posts
            Не совсем понял что ты имеешь в виду... попробую конкретизировать.

            Письма приходят в следующем виде:

            Заголовок (в крякозябрах)
            Адрес получателя

            Дальше в теле письма следующая информация:

            MIME-Version: 1.0
            Content-Transfer-Encoding: 8bit
            Content-Type: text/html; charset="UTF-8"
            Message-Id: <[email protected]>
            Date: Wed, 13 Feb 2008 19:32:24 +0300 (MSK)

            Дальше содержание письма в крякозябрах...


            Русские буквы беруться вот отсюда:

            Админка модэкс -> раздел "Конфигурация" -> поле "Тема письма подтверждения регистрации:"
            Админка модэкс -> раздел "Конфигурация" -> поле "Напоминание пароля:" (в нём пишется инструкция по активации нового пароля с тегами автоподстановки имени юзера, нового пароля и т.д.)



            Не совсем понял что знацчит изменить заголовок у тех, которые доходят неверно... Где и когда его менять?
            И с трудом представляю в каком файле забита кодировка этих двух полей из админки (я предполагаю что если админка работает под UTF-8, то все поля во всех её разделах принимаю вводимый текст в UTF-8 или я не прав?).



              • 785
              • 2,113 Posts
              Так сложно что-то сказать – надо пробовать.
              Сам бы я взял в файле weblogin.common.inc.php функцию webLoginSendNewPassword и попробовал бы с ней некоторые эксперименты провести – набрать русскими буквами (изменив кодировку файла) текст и отослать письмо, вывести на экран подготовленный текст без отсылки письма и так далее. Может быть, там добавить перекодировку и все заработает, хотя это не совсем нормальный подход. Точнее ничего сказать не могу. Мне кажется, что вообще-то и так должно все работать.
                Создание сайтов на MODx, поддержка сайтов, поисковая оптимизация, программирование, копирайтинг
                Статьи о MODx, регулярно новые публикации
                • 897
                • 1,620 Posts
                к сожалению отправка писем происходит не всегда функцией webLoginSendNewPassword, есть еще файл weblogin.processor.inc.php там тоже надо добавлять к письму заголовок с кодировкой
                  "Und wenn du lange in einen Abgrund blickst, blickt der Abgrund auch in dich hinein."

                  Не используйте Revo для "просто сайтов". Используйте Evo

                  Who can defeat the Russian bear?
                  • 785
                  • 2,113 Posts
                  Quote from: aleksey.stepanov at Feb 13, 2008, 02:05 PM

                  отправка писем происходит не всегда функцией webLoginSendNewPassword
                  Я имел в виду, что можно экспериментировать с этой функцией, чтобы понять, в чем проблема. А когда проблема будет выявлена, тогда исправления нужно будет внести в несколько файлов.
                    Создание сайтов на MODx, поддержка сайтов, поисковая оптимизация, программирование, копирайтинг
                    Статьи о MODx, регулярно новые публикации
                    • 2747
                    • 25 Posts
                    Работать должно, но не работает =)

                    Это при том что я менял кодировки обоих файлов (и common и processor). Пожалуй это меняет только характер выдаваемых крякозябров (я даже в этом не уверен - они все такие кривые и непонятные).

                    Что касается смены русского текста в функции, кстати вот она:

                    // Send new password to the user
                    function webLoginSendNewPassword($email,$uid,$pwd,$ufn){
                    global $modx;
                    $mailto = $modx->config[’mailto’];
                    $websignupemail_message = $modx->config[’websignupemail_message’];
                    $emailsubject = $modx->config[’emailsubject’];
                    $emailsender = $modx->config[’emailsender’];
                    $site_name = $modx->config[’site_name’];
                    $site_start = $modx->config[’site_start’];
                    $message = sprintf($websignupemail_message, $uid, $pwd); // use old method
                    // replace placeholders
                    $message = str_replace("[+uid+]",$uid,$message);
                    $message = str_replace("[+pwd+]",$pwd,$message);
                    $message = str_replace("[+ufn+]",$ufn,$message);
                    $message = str_replace("[+sname+]",$site_name,$message);
                    $message = str_replace("[+semail+]",$emailsender,$message);
                    $message = str_replace("[+surl+]",dirname(PHP_SELF),$message);
                    if(!mail($email, $emailsubject, $message, "From: ".$emailsender."\r\n"."X-Mailer: Content Manager - PHP/".phpversion())) {
                    return webLoginAlert("Error while sending mail to $mailto",1);
                    }

                    Она, как видите, непосредственно вообще не использует сообщений импортируемых в тело письма, а берёт их из тегов прописываемых в разделе конфигурация адмики.

                    А вот код отправки (как я понял) из файла processor:

                    if(!mail($email, "New Password Activation for $site_name", $message, "From: ".$emailsender."\r\n"."X-Mailer: MODx Content Manager - PHP/".phpversion())) {

                    Здесь есть непосредственный текст "New Password Activation for" (кстати он, появился, по-моему только в свежайшей версии MoD-X от 13-го числа, которую я залил сегодня утром). Как этот текст не меняй - результат один и тот же. Кодировку самого файла я так же пробвал менять... Короче зол я. =)

                    В связи с этим у меня дилетантский вопрос: а не связано ли это програмным обеспечением хостера. Я так понимаю, что X-Mailer и MIME - это программы, отправляющие сообщение и им мы пытались назначить свойство отправлять их в нужной нам кодировке. Эти программы часть модэкс? Или это инструменты установленые на стороне хостера? Брежу наверное - но устройте мне ликбез... =)
                      • 2747
                      • 25 Posts
                      Ìäÿ... óø¸ë íà cp1251. Âñ¸ çàðàáîòàëî. Íó èõ íàôèã, ýòè ìåæäóíàðîäíûå ñòàíäàðòû. Óìîì Ðîññèþ íå ïîíÿòü.