Доброго времени суток! Столкнулся с проблемой.
Выставляю в форме (созданной в webform):
E-mail от имя: ФИО
От кого: E-mail
В итоге на почту приходит сообщение вот с таким заголовком:
"=?UTF-8?B?0JXQu9GM0L3QuNC60L7QsiDQkNC70LXQutGB@fe21.hc.ru, 0LXQuSDQkdC+0YDQuNGB0L7Qsg==?= =?UTF-8?B?0LjRh@fe21.hc.ru, w==?=" fe21.hc.ru
Где "=?UTF-8?B?0JXQu9GM0L3QuNC60L7QsiDQkNC70LXQutGB@fe21.hc.ru, 0LXQuSDQkdC+0YDQuNGB0L7Qsg==?= =?UTF-8?B?0LjRh@fe21.hc.ru, w==?=" fe21.hc.ru - Зашифрованное Ф.И.О.
На сервере iWeb таких проблем нет (также как и на Инфобоксе) - а вот на HC.ru - есть.
Писал в поддержку - сказали, что все проблемы у меня.
Если это все-таки проблема у хостера с обработкой заголовков - распишите каким образом это объяснить поддержке.
Комментарии
Скорее всего ваш почтовый клиент (Outlook?) не умеет отображать заголовки писем в UTF8.
2 Krotty[at]drupal[dot]org
Маловероятно. Повторяюсь, заголовки с идентичного сайта на другом сервере приходят в нормальном виде.
p.s. у меня thunderbird, через web-интерфейc MS Exchange - тоже самое.
А сервер хостера по умолчанию какие кодировки кажет? Мне вот, например, пару лет назад пришлось долго общатся со своим, чтобы выяснить, что все-таки весь сервак по дефолту отдает win1251. Ну, в htaccess прописал потом UTF8, но вот с почтой от webforms такая проблема тоже бывает. Просто почтовик всетаки не UTF8. Спросите у них какая у них дефолтовая кодировка на почтовом сервере....
Поменяли на UTF8... Все равно продолжается
Особенность, если отправляется только одно имя, например "Иван" - то все нормально.
А вот если, например "Иван Иванович Иванов" - то опять кракозябры.
У меня возникла такая же проблема
И как, она решилась с провайдером?
(сайт http://soli.su )
и у меня такая же проблема.
Нашлось решение?
Никак не решилась, РБК наотрез отказываются что-то делать.
Решение.
В настройках конфигурации "опросника" изменить значение "От кого" во вкладке "Conditional e-mail recipients", поставить галочку в значении Component: E-mail.
Где находиться поле "Component":
* Configuration
> Вкладка "Webform mail settings"
> Вкладка "Conditional e-mail recipients"
Немного не понял решение Said'а. Но благодаря нему понял как решить для себя.
Для себя решил следующим образом:
В настройках формы (на странице Configuration) нужно в группе Webform mail settings установить для поля E-mail from name: вариант Component и указать поле.
Теперь outlook все видит правильно.
Патч MAIL.INC && webform.module
строка 181 файла mail.inc, функция drupal_mail_send()
foreach ($message['headers'] as $name => $value) {
- $mimeheaders[] = $name .': '. mime_header_encode($value);
+ $pattern="/([\s]*)([_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*([ ]+|)@([ ]+|)([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,}))([\s]*)/i";
+ preg_match_all($pattern, $value, $matches);
+ $mail = $matches[0][0];
+ $value = str_replace(' <'.$mail.'>', '', $value);
+ $mimeheaders[] = $name .': '. mime_header_encode($value). ( $mail ? ' <'.$mail.'>' : '');
}
Патч WEbform 3.x:
строка 2873 файла webform.module, функция webform_format_email_address()
if ($encode) {
- $name = mime_header_encode($name);
+ //$name = mime_header_encode($name);
}
- return '"'. $name .'" <' . $address . '>';
+ return $name . ' <' . $address . '>';
}
В случае использования webform 3.х происходит перекодировка поля FROM в UTF-8, затем тоже самое делает функция drupal_mail_send(), причем функция drupal_mail_send() кодирует имя вместе с email'ом. В итоге в заголовке FROM email представлен некорректно.
Если работаете с модулем Mimemail и Webform, то патч №2 следует изменить так:
if ($encode && module_exists('mimemail')) {
// if mime mail module is enabled
$name = mime_header_encode($name);
}
Не забудьте изменить формат писем на HTML. Патч сделан "на скорую руку", уверен есть решение лаконичнее.
Тоже с этим столкнулся
Хостинг свой, поэтому предъявлять некому)))
Решения описанные zaletnev не помогли либо я что то сделал не так, хотя там сложно ошибиться)
Даже кеш в отчаянии почистил...
Текст сообщения примерно такой, это содержание взято из письма с ошибкой:
...
Subject: =?UTF-8?B?0JTQvtCx0LDQstC70LXQvdCwINC30LDQstC60LAg0L3QsCDQstGB0YLRg9C/0Ls=?= =?UTF-8?B?0LXQvdC40LUg0LIg0YXQvtGA?=
...
From: =?UTF-8?B?0JfQsNGP0LLQutCwINC90LAg0LLRgdGC0YPQv9C70LXQvdC40LUg0LIg0YXQvg==?= =?UTF-8?B?0YA=?=
п·я┌п©я─п╟п╡п╩п╣п╫п╬ п▓я┌п╬я─п╫п╦п╨, п║п╣п╫я┌я▐п╠я─я▄ 13, 2011 - 16:49
п·я┌п©я─п╟п╡п╩п╣п╫п╬ п╟п╫п╬п╫п╦п╪п╫я▀п╪ п©п╬п╩я▄п╥п╬п╡п╟я┌п╣п╩п╣п╪:
[ip.addresss.255.255]
п·я┌п╡п╣я┌я▀: :
--п· я│п╣п╠п╣--
п▓п╟я┬п╣ п╦п╪я▐: я┌п╣я│я┌п╬п╡1
п▓п╟я┬п╟ п╓п╟п╪п╦п╩п╦я▐: я┌п╣я│я┌
--п· я─п╣п╠п╣п╫п╨п╣--
п≤п╪я▐ я─п╣п╠п╣п╫п╨п╟: п▓п╟я│я▐
п▓п╬п╥я─п╟я│я┌ я─п╣п╠п╣п╫п╨п╟: 112
п÷п╬п╩ я─п╣п╠п╣п╫п╨п╟: п°п╟п╩я▄я┤п╦п╨
--п п╬п╫я┌п╟п╨я┌п╫п╟я▐ п╦п╫я└п╬я─п╪п╟я├п╦я▐--
п╜п╩п╣п╨я┌я─п╬п╫п╫п╟я▐ п©п╬я┤я┌п╟: user_email@gmail.com
п п╬п╫я┌п╟п╨я┌п╫я▀п╧ я┌п╣п╩п╣я└п╬п╫: 1324567
п п╬п╪п╪п╣п╫я┌п╟я─п╦п╧: 123п╡п╟п©
А в начале него стоит еще такое:
Hi. This is the qmail-send program at mail1.host.ru.
I'm afraid I wasn't able to deliver your message to the following addresses.
This is a permanent error; I've given up. Sorry it didn't work out.
:
User and password not set, continuing without authentication.
ip.100.ip.20 failed after I sent the message.
Remote host said: 550 Message was not accepted -- it contains invalid headers. More specially, 'From:' header must match user you are sending mail from.
Аналогичная проблема, скажите как решили
Знаю, неправильно поднимать темы через 3 года, но вдруг кому пригодится: для себя нашёл решение в отключении имени отправителя, в таком случае при отправлении письма указывается только обратный e-mail, а он точно будет без кириллицы (если, конечно, он у вас не в зоне .рф).
В Drupal 7 это настраивается на странице admin/config/content/webform (Управление > Конфигурация > Работа с содержимым > Настройки Webform > Дополнительные настройки > Формат e-mail адреса):