Force 0 Опубликовано: 22 октября 2007 Рассказать Опубликовано: 22 октября 2007 Домен: odlar-yurdu.ru Версия DataLife Engine: 6.3 Тип лицензии скрипта: Лицензия активирована Итак. Настроил, сайт работает, но везде где требуется работа с почтовым сервером возникает ошибка: This SMTP server does not support authorisation Сервер почты не мой, а хостера, сам сайт на моем серваке (почта другом, потому что влом разбираться с настройками и спамом, и открывать дополнительную уязвимость сервера). У хостера авторизация включена, это 100%. Mozilla нормально почту отправляет с авторизацией. Но DLE отказывается. Пробовал оба метода при SMTP возникает вышеуказанная ошибка, при PHP mail(); пишет что все удачно отправил, но на самом деле ничего на тестовый ящик не приходит (отправленное Mozillой приходит сразу). Подглядел код и решил вручную попробовать telnet'ом. В файле mail.class.php следующий порядок: $this->smtp_send_cmd("HELO ".$this->smtp_host); .... $this->smtp_send_cmd("AUTH LOGIN"); Результат: telnet> open (to) mail.odlar-yurdu.ru 25 Trying 89.108.67.148... Connected to mail.odlar-yurdu.ru. Escape character is '^]'. 220-cp118.agava.net ESMTP Exim 4.63 #0 Mon, 22 Oct 2007 20:16:48 +0400 220-We do not authorize the use of this system to transport unsolicited, 220 and/or bulk e-mail. helo odlar-yurdu.ru 250 cp118.agava.net Hello odlar-yurdu.ru [217.172.17.37] auth login 503 AUTH command used when not advertised Значит дальше по сценарию: if ( $this->smtp_code == 334 ) { ... } else { $this->smtp_error("This SMTP server does not support authorisation"); return; } Кто то нарушает протокол? Или может сервер и клиент просто говорят на разных языках? Повторю Мозилла работает нормально. Прошу помощи, ща начну ловить пакеты Mozilla, результат напишу. Цитата Ссылка на сообщение Поделиться на других сайтах
Force 0 Опубликовано: 22 октября 2007 Рассказать Опубликовано: 22 октября 2007 (изменено) Автор Значит половил пакеты, все получилось. Мзилла отправляет команду не HELO, а EHLO. Метод тот же, тоесть SMTP. Открываем файл engine\classes\mail.class.php Находим строку $this->smtp_send_cmd("HELO ".$this->smtp_host); Меняем на: $this->smtp_send_cmd("EHLO ".$this->smtp_host); У меня все заработало, у вас не знаю как Изменено 22 октября 2007 пользователем Force Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.