450 рублей на телефон, кто поможет решить проблему с Contact и SMTP

Главные вкладки

Аватар пользователя Error_code Error_code 11 сентября 2012 в 13:21

Добрый день! Подскажите, пожалуйста решение проблемы с обратной связью.

Есть модуль contact для обратной связи и есть модуль SMTM Authnticaition support.

Из формы обратной связи, письма отправляются только на адрес, который указан в настройках модуля contact, на любой другой отправлять отказывается!

Хотя при регистрации на сайте и из формы созданной в Webform всё отправляется отлично!!!

А из формы обратной связи никак не хочет..

И после отправки выдаёт 2 сообщения, Ваше сообщение успешно отправлено и одновременно, не отправлено, свяжитесь с администратором сайта.

Почта админская, находится на яндаксе.

В логах ошибка следующая: SMTP server error: 5.7.1 Sender address rejected: not owned by auth user.

Насколько я понимаю, он пытается подключиться к яндекс почте, используя тот e-mail, который указал анонимный пользователь.

НЕ пойму, что именно ковырнуть в модуле Contact

Скриншот можно тут глянуть:

http://www.drupal.ru/node/87098

Комментарии

Аватар пользователя AI AI 11 сентября 2012 в 14:02

Вообще-то SMTP протокол не требует вообще какой-либо авторизации при отправке письма на ящик.
Вы можете написать свой собственный код, вставить в тело странички обратной связи и при сохранении ноды обрабатывать отправку письма. Или модулем Rules, что более правильно. Кодов рассыльщиков писем в инете полно. Можете взять за основу любой. Наворачивать какой-то из уже разработанных - не имеет смысла для простой задачи. Делал такое, работало. Посмотрите правила оформления писем из php-кода.

Из проблем этого метода:
1. Вы готовы предоставить свой сайт в пользование спам-рассыльщиков? Ставьте капчу хотя-бы.
2. Есть особенности при отправке писем. Некоторые хостеры делают принудительную задержку отправки по SMTP протоколу на несколько секунд (например, agava ставит 5 секунд). Это будет проблемой, поскольку ответ об успешном завершении Вашего кода не будет получен и скрипт завершится неудачей. Письмо не будет отправлено. Хотя есть методы решения этой проблемы (например, Rules Вам в помощь).
3. Нет возможности наблюдать "исходящие" письма в Вашем ящике, хотя туда их можно засунуть как входящее (отправьте сообщение копией) и в том же Яндексе сделать сортировку в отдельную папку.
4. Готовьтесь засветить свой "исходящий" ящик как массово рассылающий спам.
5. Много еще чего, не буду продолжать.

Аватар пользователя AI AI 11 сентября 2012 в 14:27

Предложу иначе, Вам решать:
Создается тип материала "обратная связь".
При сохранении нода не публикуется, не лезет в менюхи и т.п.
Rules отрабатывает сохранение ноды уведомлением на почту админа.
Админ может посмотреть все оставленные сообщения через вьюху и обработать их.

Аватар пользователя Error_code Error_code 11 сентября 2012 в 14:44

Как я понял, Вы предлагаете обходные пути, да? ))

Можете подсказать, почему из формы обратной связи письма не уходят? (модуль Contact)

Этой мой собственный хост.

Аватар пользователя AI AI 11 сентября 2012 в 15:15

Модуль Contact забыт мной как страшный сон. Ощущение такое, что он использует достаточно серьезно и проработанно настроенные сервера, чего я сам обеспечить на своих серверах не в состоянии. Не скажу этого о Вас, но все может быть. Я бы в первую очередь посмотрел логи, потом делал выводы.

А обходные пути - это не страшно. Скорость работы превалирует над методами и средствами. Если не в ущерб общему качеству.
Вспоминается тот анекдот:
Два старых друга по консерватории встретились.
1: О, я гляжу ты совсем поизносился, пиджачок рваный, давно не брит. Чем занимаешься?
2: Да вот, пишу симфонию в семи актах. Концепция за четыре года в общих чертах набросана, сейчас буду заниматься детальной проработкой первого акта. А ты, гляжу, преуспел: крутой прикид, иномарка...
1: Да, есть такое...
2: В коммерцию подался?
1: Нет, тоже музыку сочиняю. Известную довольно.
2: ???????? И какую???????
1: Ну, например, из последнего: ""О-о-о-о, ДАНОН!"