ЭНЦИКЛОПЕДИЯ СОВРЕМЕННОГО САЙТОСТРОЕНИЯ

Кодировка. Проблема с перенаправлениями писем.

Тема в разделе "Другие вопросы по созданию сайта", создана пользователем Мефистофель, 6 фев 2016.

  1. Мефистофель

    Мефистофель Гуру Команда форума Эксперт

    Сообщения:
    398
    Рейтинг:
    198
    Род занятий:
    Интернет-маркетинг
    Откуда:
    Новосибирск
    Полез копировать материал для того, чтобы разместить пост на этом форуме в данной теме, но углубился и пропал там на полтора часа. В итоге все сделал, все работает, а хронологию действий и саму проблему я сейчас уже не смогу описать... Но вопрос решен!

    Примерная проблема:
    Письмо в html форме на сайте отправлялось при помощи php-скрипта, поступало на сервер, обрабатывалось по правилу в php.ini, отправлялось по указанному в скрипте адресу, после того отправлялось на ящик, на который была настроена переадресация.

    Как итог - письмо отправленное в форме "свяжитесь с нами" приходило на почту сервера в двух экземплярах. В одном из них были указаны данные, заполненные в полях на форме связи, в другом то же самое, только без данных, но с названиями полей. На ящик переадресации поступало также 2 письма.

    Пусть
    mail@server.ru - ящик на сервере (куда должны уходить письма из формы);
    mail@user.ru - ящик, указанный в ПУ почтой на сервере для переадресации поступивших писем.

    Письмо из формы (письмо Х) имеет вид:

    Тема: Тема111
    От кого: Евлампий
    Текст сообщения: Сообщение пользователя Евлампий - его гнев по поводу падения курса рубля.

    Проблема выглядит так:

    Евлампий заходит на сайт отправляет через форму обратной связи письмо, заполняя при этом все поля. И тут начинается:

    На ящик mail@server.ru приходит 2 письма:
    1. ---------------

    Отправитель: mail@server.ru

    Тема: Тема111
    От кого: Евлампий
    Текст сообщения: Сообщение пользователя Евлампий - его гнев по поводу падения курса рубля.
    2. ---------------

    Отправитель: mail@server.ru

    Тема:
    От кого:
    Текст сообщения
    :


    И на ящик mail@user.ru приходит 2 письма:

    1. ---------------
    Отправитель: mail@server.ru

    Тема: Тема111
    От кого: Евлампий
    Текст сообщения: Сообщение пользователя Евлампий - его гнев по поводу падения курса рубля.
    2. ---------------
    Отправитель: mail@server.ru



    Получается так, что я сам себе отправил "полтора письма", еще и на личный отправил их же.

    Заморочился, стал ковырять.
    Залез в php.ini на сервере и указал там новый ящик (несуществующий, но на моем домене): agent@madmark.ru. На него же изменил скрипт отправки из формы.

    Попробовал отправить форму. Пришло по одному (полноценному!) письму на mail@server.ru и на mail@user.ru. При этом отправитель был указан как agent@madmark.ru.

    Из этой ситуации я сделал такой вывод (не бейте, это всего лишь догадки):
    Письмо из формы проделывает следующий путь: идет из формы по адресу, получает обработку в пхп.ини, отправляется на почту, но приходит от имени обрабочика пхп.ини - agent@madmark.ru. Далее идет переадресация. И все пучком.
    До того момента в пхп.ини был указан адрес такой же, как и целевой адрес - mail@server.ru. Получается что на него приходило 2 письма по следующей причине - приходило само целевое письмо из формы и вторым приходило что-то вроде отчета сервера о том, что пришло такое-то письмо на один из адресов домена. То есть сервер прислал письмо, а потом еще и сообщил о том, что его прислал. После изменений в пхп.ини он стал только присылать целевое письмо и перенаправлять его на ящик "юзер", как задано в настройках.


    Все сумбурно, но если у кого будут подобные проблемы - вникнут и разберутся)


    До смены настроек я установил почтовый клиент и зарядил в него почтовые ящики. Все. Представьте, у меня открыты окна почты + клиент. Все со звуком. Проверяю форму обратной связи, пишу одно сообщение. И с разницей в секунду у меня приходят сообщения (по 2 штуки) в каждое окно - на сервер, на личную и по два в клиенте на каждый адрес. Итого 8 сообщений. Громкость стояла на 100%. Чуть заикаться не стал=)) Но сейчас все хорошо, форма работает. Пишите! MADMARK.RU




     
    #1
  2. Загрузка...
  3. Мефистофель

    Мефистофель Гуру Команда форума Эксперт

    Сообщения:
    398
    Рейтинг:
    198
    Род занятий:
    Интернет-маркетинг
    Откуда:
    Новосибирск
    Я меня выдалась странная неделя. Я туплю раз за разом. Сейчас мне снова пришло 2 сообщения. Одно полноценное, одно без значений переменных. Я сел и пялился молча в монитор. Через 5 минут я осторожно отправил письмо из формы. Мне пришло оно на почту, как и положено. И снова посидеол 5 минут. Потом со страницы уведомления об успешной отправки перешел на главную страницу сайта. Как обычно. Не перенаправлением по ссылке "вернуться назад", а кнопочкой "назад" в браузере. И в ту же секунду на мой ящик упало письмо без переменных.

    Что это за %38"№;%:?*" происходит??? Почему скрипт все-таки второй раз обрабатывает форму, но не видит введенные в нее данные и отправляет письмо?
     
    #2
  4. Мефистофель

    Мефистофель Гуру Команда форума Эксперт

    Сообщения:
    398
    Рейтинг:
    198
    Род занятий:
    Интернет-маркетинг
    Откуда:
    Новосибирск
    Кстати, в теме я указал и о проблеме с кодировкой. Письма из формы на почту сервера приходят нормально, с почты сервера на линую на mail.ru приходят нормально, а вот в Thumberbird приходит все криво. Изменил в настройках кодировку на UTF-8, но не помогло. Тогда решил так - убрал "автоопределение кодировки для всех входящих." Проблема решена.
     
    #3