Ratibor |
|
---|---|
Нашел глюк с отправкой мыла с сайта.
Поставил плагин contactus. В насройках плагина пишу: Администратор <my@email.ru>; Заполняю форму, отправляю, пишется что все отправлено нормально. А вот письмо не приходит. Сперва подумал может плагин кривой, ставлю его под денвером, там есть заглушка для сендмайла и письма складываются в папку. Отправляю письмо под денвером, все нормально, письмо лежит в папке. Вывод один, сервак рубит это письмо. Меняю в настройках плагина: Administrator <my@email.ru>;Отправляю письмо и оно наконец то приходит. Начал проверять у себя в зебате заголовки в письмах, дак вот в письмах поля From и To тоже кодируются base64. А у нас только поле Subject. Надо бы поправить это. Это было раз. Теперь два: Не хватает еще одной строки в заголовке. Надо в function sed_mail перед: $headers .= "Content-Transfer-Encoding: 8bit\n"; добавить строку: $headers.= ("Content-type: text/plain; charset=\"".$cfg['charset']."\"\n"); и убрать charset из строки: $headers = (empty($headers)) ? "From: \"".$cfg['maintitle']."\" <".$cfg['adminemail'].">\n"."Reply-To: <".$cfg['adminemail'].">\n"."Content-Type: text/plain; charset=".$cfg['charset']."\n" : $headers; Ну а теперь о главном. function sed_mail это конечно хорошо, но нет возможности отправлять письма через smtp. Столкнулся с этим не давно, настраивая знакомым сайт, дак вот у того прова через mail письма можно отправлять только на те адреса, которые зарегистрированы в админпанели. А на все остальные, только через smtp. Надо бы реализовать отправку писем и через smtp. P.S. ИМХО может стоит заменить строку: $subject = mb_encode_mimeheader($subject, $cfg['charset'], 'B', "\n"); на: $subject= "=?".$cfg['charset']."?B?".base64_encode($subject)."?=\n"; А то чтото мне не нравиться что mb_encode_mimeheader разбивает строку на несколько частей. Вот пример, заголовок - Предложение о сотрудничестве. После mb_encode_mimeheader получаем: Subject: =?UTF-8?B?0J/RgNC10LTQu9C+0LbQtdC90LjQtSDQviDRgdC+0YLRgNGD0LTQvdC40Yc=?= =?UTF-8?B?0LXRgdGC0LLQtQ==?= а во втором варианте: Subject: =?UTF-8?B?0J/RgNC10LTQu9C+0LbQtdC90LjQtSDQviDRgdC+0YLRgNGD0LTQvdC40YfQtdGB0YLQstC1?= Не задавай глупых вопросов, не услышишь вранья.
|
|
Відредаговано: Ratibor (26.02.2009 05:21, 16 років тому) |