Проблемы с почтой { Плохой хостинг }

Тема в разделе "Ошибки и их решения", создана пользователем KIVIn, 21 мар 2016.

  1. KIVIn

    KIVIn Пользователь

    Сообщения:
    38
    Симпатии:
    5
    Не работает форма обратной связи, пишет что сообщение отправлено но на почту ничего не приходит. Помогите настроить.
    На форуме ветки прочел, с хостером связался, проверили работоспособность функции mail php, создал файл test.php в нем прописал свою почту, все отработало нормально, тестовое сообщение пришло на почту. Opencart 2.1.0.2 (rs.1)

    код файла test.php
    Код:
    $email = "моя почта"; // Receiving email address
    $headers .= "From: Example <$email>\n";
    $headers .= "Reply-To: $email\n";
    $headers .= "MIME-Version: 1.0\n";
    $headers .= "Content-Type: text/html; charset=iso-8859-1\n";
    $headers .= "X-Priority: 1\n";
    $headers .= "X-Mailer: PHP / ".phpversion()."\n";
    $headers .= "Return-Path: <$email>\n";
    
    $subject = "TEST";
    
    mail("$email","$subject","This is a test email from your hosting company to ensure your email is working properly. Please disregard this email.", $headers);
    
    echo "Email sent to $email";
     
    Последнее редактирование: 24 мар 2016
  2. Ravilr

    Ravilr Специалист

    Сообщения:
    3.962
    Симпатии:
    1.081
    Ну что делать с одинаковыми темами ? Только отправлять в хлам. Пусть другие тоже мучаются и ищут по обрывкам? Ведь некому не нужно решение проблем, все хотят решить только свою проблему?

    Если вы нашли на форуме тему с такой же проблемой, а она была, то писать нужно ИМЕННО там, а не отдельно!

    Как пишут во всем темах, то что скорей всего хостер блокирует отправку, если письмо отправляется с адресом другого отправителя отличного от почты хостера. А при обратной связи именно так и происходит.

    Так же не стоит забывать про папку спам и то что почтовик может вообще не принимать письма, да же в спам. Такое часто бывает на гугле. Поэтому для проверки, всегда нужно пробовать сменить почту на яндекс например.
     
  3. KIVIn

    KIVIn Пользователь

    Сообщения:
    38
    Симпатии:
    5
    Я особо ничего и не воротил, почту пробовал разную и локальную и google, через тестовый php приходит и туда и туда, через обратную связь тишина.
    Шаблон у меня стандартный (правил только картинки и немного css),
    из дополнений стоит:
    Export/Import Tool (V2.29) for OpenCart 2.x mhccorp.com 2.x-2.29 Включено 05.03.2016
    Fast Multi Upload Images OpenCart 2.0 azadlezgi@yandex.ru 1.0 Отключено 05.03.2016
    Local copy OCMOD by iSenseLabs iSenseLabs 1.2 Включено 04.03.2016
    Menu Item for the Acute Category Manager tabook 1.0 Включено 05.03.2016
    Это могло повлиять на работоспособность сайта? все ставил через OCMOD
     
  4. optimlab

    optimlab Продвинутый пользователь

    Сообщения:
    924
    Симпатии:
    240
    Ваш сервер не принимает фиктивную почту от самого себя с помощью Функции PHP Mail. Это стандартная ошибка хостера почты для доменов mail.ru.
    Аналогичная проблемма часто бывает если вы настроили почту для домена на стороннем сервисе, а почтовый домен забыли удалить на хостинге....

    Сторонние модули редко влияют на отправление писем. Им это не надо.
    Если бы вы более подробно выложили описание проблеммы, то возможно ее было бы быстрее решить чем гадать на гуще вероятностей...
     
  5. KIVIn

    KIVIn Пользователь

    Сообщения:
    38
    Симпатии:
    5
    Ну как не принимает? если я с помощью проверочного скрипта который приведен выше отправляю почту и к себе на домен и на google почту, без проблем. Или я что-то неправильно понял. Что мне спросить у хостера или попросить проверить?
     
  6. Vlad

    Vlad Эксперт

    Сообщения:
    4.146
    Симпатии:
    1.003
    В проверочном скрипте в отправителе укажите почту чужую, и попробуйте отправить.
     
  7. KIVIn

    KIVIn Пользователь

    Сообщения:
    38
    Симпатии:
    5
    Отправлял и на свой хостинг на доменную почту, и на почту гугл, сейчас проверил на почту yandex друга все отправляется и доходит без проблем
     
  8. optimlab

    optimlab Продвинутый пользователь

    Сообщения:
    924
    Симпатии:
    240
    У вас почта вообще где находится?
     
  9. KIVIn

    KIVIn Пользователь

    Сообщения:
    38
    Симпатии:
    5
    Почта на адресе моего домена у моего хостера. Но пробовал в настройках сайта ставить и другую почту google,yandex не работает все равно.
     
  10. optimlab

    optimlab Продвинутый пользователь

    Сообщения:
    924
    Симпатии:
    240
    Еще раз: где физически находится почтовый ящик? Он не может находиться на домене, он или на сервере вашего хостинга или на серверах Яндекса Гугла Мейла и прочих сервисов.
     
  11. KIVIn

    KIVIn Пользователь

    Сообщения:
    38
    Симпатии:
    5
    Ну если я отправляю на свою почту то физически почтовый сервер находится у моего хостера, если я отправляю на Google то почта находится серверах на Google. Пробовал отправлять и туда и туда.
     
    Последнее редактирование: 23 мар 2016
  12. optimlab

    optimlab Продвинутый пользователь

    Сообщения:
    924
    Симпатии:
    240
    Т.е. Ваш ящик физически не существует? Вы просто пользуете функцию PHP для отправки писем?
     
  13. KIVIn

    KIVIn Пользователь

    Сообщения:
    38
    Симпатии:
    5
    Физически мой почтовый ящик находится у хостера, и он работает через web hord нормально. Так же как и другая почта google. Как я думал opencart как раз и использует функцию PHP для отправки писем и какие либо настройки почты ей не нужны?
     
  14. optimlab

    optimlab Продвинутый пользователь

    Сообщения:
    924
    Симпатии:
    240
    Пишите хостеру. А лучше не париться и завести почту для домена на Яндексе.
     
  15. Vlad

    Vlad Эксперт

    Сообщения:
    4.146
    Симпатии:
    1.003
    нет. я написал вам чтобы в отправителе для проверки указали адрес не свой. Любой другой чужой.
    Не в получателе, а именно в отправителе!!!

    А сейчас у вас, что отправитель, что получатель, это один емайл. Конечно хостер пропустит.
     
  16. KIVIn

    KIVIn Пользователь

    Сообщения:
    38
    Симпатии:
    5
    А теперь понял о чем вы, сейчас исправил код:
    Код:
    $email = "почта@gmail.com"; // Receiving email address
    $femail = "help@lмойдомен.ru"; // From email address
    
    $headers .= "From: Example <$femail>\n";
    $headers .= "Reply-To: $email\n";
    $headers .= "MIME-Version: 1.0\n";
    $headers .= "Content-Type: text/html; charset=iso-8859-1\n";
    $headers .= "X-Priority: 1\n";
    $headers .= "X-Mailer: PHP / ".phpversion()."\n";
    $headers .= "Return-Path: <$email>\n";
    
    $subject = "TEST";
    
    mail("$email","$subject","This is a test email from your hosting company to ensure your email is working properly. Please disregard this email.", $headers);
    
    echo "Email sent to $email";
    ?>
    Отработало все нормально почта пришла на ящик google c ящика моего домена.
     
    Последнее редактирование: 24 мар 2016
  17. Romans

    Romans Administrator Команда форума

    Сообщения:
    1.447
    Симпатии:
    786
    Вы создаете неправильные условия для тестирования.
    Вот какой заголовок отправляется по умолчанию при отправке письма с формы обратной связи.
    Код:
    MIME-Version: 1.0
    Date: Thu, 24 Mar 2016 19:13:11 +0400
    From: =?UTF-8?B?bmFtZQ==?= <23@df.ty>
    Reply-To: =?UTF-8?B?bmFtZQ==?= <23@df.ty>
    Return-Path: 23@df.ty
    X-Mailer: PHP/5.4.29
    Content-Type: multipart/related; boundary="----=_NextPart_b349bbdd6cebef0f447f20826b1294c6"
    Посмотрите сколько раз там указывается адрес отправителя 23@df.ty

    Именно с такими данными и нужно тестировать.

    Вам нужно было просто в переменной email указать адрес отправителя и все.
     
  18. KIVIn

    KIVIn Пользователь

    Сообщения:
    38
    Симпатии:
    5
    Извините но я не совсем может быть понимаю, но в первом примере вверху страницы у меня указан как раз один адрес и он отрабатывает нормально.
    Если вас не затруднит можно пример кода, я его запущу проверю.
    Хостер как бы лояльный претензий нет ixwebhosting.com, он проверил и говорит функция маил отрабатывает корректно, говорит может проблема в коде ( я сомневаюсь), а как задать ему еще нужные вопросы я не знаю.
     
    Последнее редактирование: 25 мар 2016
  19. Vlad

    Vlad Эксперт

    Сообщения:
    4.146
    Симпатии:
    1.003
    Код:
    $email = "krakaka@mail.ru"; // Receiving email address
    $headers .= "From: Example <$email>\n";
    $headers .= "Reply-To: $email\n";
    $headers .= "MIME-Version: 1.0\n";
    $headers .= "Content-Type: text/html; charset=iso-8859-1\n";
    $headers .= "X-Priority: 1\n";
    $headers .= "X-Mailer: PHP / ".phpversion()."\n";
    $headers .= "Return-Path: <$email>\n";
    
    $subject = "TEST";
    
    mail("$email","$subject","This is a test email from your hosting company to ensure your email is working properly. Please disregard this email.", $headers);
    
    echo "Email sent to $email";
    ничего в коде не меняйте и проверьте.
     
  20. Vlad

    Vlad Эксперт

    Сообщения:
    4.146
    Симпатии:
    1.003
    с импортными хостерами всегда проблемы. То они блокируют письма с русскими символами, то еще что то не нравится итд.
    Надо было наверно сразу спросить что за хостер (