Medik 6 Опубликовано: 27 апреля 2008 Рассказать Опубликовано: 27 апреля 2008 Версия DataLife Engine: 6.7 Тип лицензии скрипта: Лицензия активирована Версия PHP 5.2.5 Версия MySQL 5.0.27-community-nt-log MySQL Module mod_rewrite Включен Домен: 21region.org ОС: Windows При отправке сообщения через форму обратной связи, выходит ошибка: Incorrect FROM address: (здесь моя почта) Скопированный из дистрибутива файл feedback.tpl не помог. feedback.php без изменений. Настройки в админ-центре: E-Mail адрес администратора: m21r@ya.ru Метод отправки почты: SMTP SMTP хост: smtp.yandex.ru SMTP Порт: 25 SMTP Имя пользователя: m21r SMTP Пароль: (здесь пароль) Метод отправки почты: PHP (mail) выдаёт ошибку. Данная настройка стоит на нашем форуме, и отлично работает. На мыло приходят уведомления о новых сообщениях и.т.п. Спасибо. Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 076 Опубликовано: 27 апреля 2008 Рассказать Опубликовано: 27 апреля 2008 При отправке сообщения через форму обратной связи, выходит ошибка: Incorrect FROM address: (здесь моя почта) эта ошибка невозможна если в настройках скрипта стоит метод PHP mail как вы пишите. Это ошибка возможна при неккоректной отправке только если в настройках скрипта стоит отправка через smtp сервер Цитата Ссылка на сообщение Поделиться на других сайтах
Medik 6 Опубликовано: 27 апреля 2008 Рассказать Опубликовано: 27 апреля 2008 (изменено) Автор Извините, немного сбил всё в кучу... Настройки в админ-центре: E-Mail адрес администратора: m21r@ya.ru Метод отправки почты: SMTP SMTP хост: smtp.yandex.ru SMTP Порт: 25 SMTP Имя пользователя: m21r SMTP Пароль: (здесь пароль) Данная настройка стоит на нашем форуме, и отлично работает. На мыло приходят уведомления о новых сообщениях и.т.п. Метод отправки почты: PHP (mail) тоже выдаёт ошибку. Изменено 27 апреля 2008 пользователем Medik Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 076 Опубликовано: 27 апреля 2008 Рассказать Опубликовано: 27 апреля 2008 Medik, эту ошибку возвращает сам сервер smtp.yandex.ru он не принимает ваш адрес m21r@ya.ru в качестве указания обратного адреса и возвращает статус ошибки, которую скрипт пишет вам. 1 Цитата Ссылка на сообщение Поделиться на других сайтах
Medik 6 Опубликовано: 27 апреля 2008 Рассказать Опубликовано: 27 апреля 2008 Автор Medik, эту ошибку возвращает сам сервер smtp.yandex.ru он не принимает ваш адрес m21r@ya.ru в качестве указания обратного адреса и возвращает статус ошибки, которую скрипт пишет вам. В ошибке указана моя личная почта, а почта m21r@ya.ru открыта только ради портала. А когда допустим другой пользователь портала пишет письмо мне, то в ошибке указывается его почта. Это ограничение почтового сервера Yandex? С форума IPB почта приходит от m21r@ya.ru, а в DLE насколько я понимаю применяется личная почта того пользователя, кто пишет сообщение... Но это не работает... 1 Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 076 Опубликовано: 27 апреля 2008 Рассказать Опубликовано: 27 апреля 2008 Это ограничение почтового сервера Yandex? Думаю что это ограничение яндекса, чтобы отправитель был именно зарегистрированный на на яндексе E-Mail Цитата Ссылка на сообщение Поделиться на других сайтах
Medik 6 Опубликовано: 27 апреля 2008 Рассказать Опубликовано: 27 апреля 2008 Автор Попробовал через mail.ru, такая же ошибка... Прочитал требование на http://www.mail.ru/pages/help/index.html В настройках почтовой программы необходимо указать, что сервер исходящей почты (или сервер SMTP) требует авторизации. При отправке писем через наш SMTP-сервер содержимое поля From: должно совпадать с именем почтового ящика, в котором была осуществлена SMTP-авторизация: если в настройках почтовой программы указан почтовый ящик mailname@mail.ru ( listname@list.ru, bkname@bk.ru или inboxname@inbox.ru ), то именно это имя почтового ящика должно указываться в поле From:. Это выполняется в скрипте? Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 076 Опубликовано: 27 апреля 2008 Рассказать Опубликовано: 27 апреля 2008 нет конечно. Почему скрипт должен подстраиватся под ограничения бесплатных сервисов? В обратной связи используется e-mail отправителя, т.е. того кто отправляет письмо, и делается это для того чтобы при получении данного письма и нажатии на кнопку "Ответить" ответ уходил тому кто написал это письмо, а не на адрес который стоит у вас в настройках. Цитата Ссылка на сообщение Поделиться на других сайтах
Medik 6 Опубликовано: 28 апреля 2008 Рассказать Опубликовано: 28 апреля 2008 Автор Спасибо. Буду искать другой почтовый сервис. Цитата Ссылка на сообщение Поделиться на других сайтах
Mr.Roman 1 Опубликовано: 1 октября 2008 Рассказать Опубликовано: 1 октября 2008 Сижу переписываю скрипт DLE для исправления этой ошибки )). Логика у оригинала абсолютно верная, но решить задачу надо сей час, и даже установка на сервер собственного почтового сервера не решает проблему, т.к. бесплатные сервисы как mail.ru или google.com напроч отказываются принимать с него почту, а времени на одобрение моего почтового сервера просто нет, т.к. займет это дело не меньше месяца. Все что нужно - в скрипте отправки заменить поле FROM на параметр адреса из конфига (т.е. админский). Поменял вот это дело $this->smtp_send_cmd("MAIL FROM: moemylo@bk.ru"); но проблему не решил. Копаю дальше. Может кто уже переписал, поделитесь пожалуйста наработкой. Цитата Ссылка на сообщение Поделиться на других сайтах
Mr.Roman 1 Опубликовано: 2 октября 2008 Рассказать Опубликовано: 2 октября 2008 (изменено) Раз никто не ответил, напишу таки решение задачи. Задача: Произвести изменения в скрипте отправки писем с сайта в связи с ограничениями бесплатных почтовых служб на соответствие адреса отправителя и поля ОТ в письме. Заполнять при отправке поле ОТ адресом администратора из раздела Настройка системы > Настройки E-Mail, поле E-Mail адрес администратора (не путайте с почтой Пользователя с правами Администратора). Для начала логика: Т.к. меняется поле ОТ необходимо где-то в письме указывать адрес отправителя, чтобы знать кому в итоге отвечать. Для этого заходим в Админку > Шаблоны E-Mail сообщений Заглядываем во второй шаблон Настройка E-Mail сообщения, которое отсылается через форму обратной связи И добавляем еще один параметр, то есть в итоге получается так Данное письмо вам отправил {%username_from%} ({%username_from_email%}) с сайта... Теперь техническая сторона: Открываем feedback.php Примерно на середине находим: $row['template'] = stripslashes($row['template']); $row['template'] = str_replace("{%username_to%}",$recipient['fullname'], $row['template']); $row['template'] = str_replace("{%username_from%}",$name, $row['template']); Далее добавляем строку $row['template'] = str_replace("{%username_from_email%}",$email, $row['template']); Далее (на пару строчек ниже) находим $mail->from = $email; Заменяем на $mail->from = $config['admin_mail']; Всё. Изменено 2 октября 2008 пользователем Mr.Roman 1 Цитата Ссылка на сообщение Поделиться на других сайтах
jem777 0 Опубликовано: 8 декабря 2008 Рассказать Опубликовано: 8 декабря 2008 (изменено) Mr.Roman, спасибо большое! У меня получилось. Изменено 8 декабря 2008 пользователем jem777 Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.