Автор Тема: Отправка писем где то работает, а где то нет.  (Прочитано 52 раз)

22 Ноября 2016, 16:42:20
  • Новичок
  • *
  • Сообщений: 31
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Доброго времени суток! Стоит преста 1.6.1.6 Не работали никакие способы отправки писем кроме отправки письма прямо из настроек клиента. Тестовая отправка письма писала о неверных настройках. Зашел в php.ini и прописал путь.

sendmail_path = /usr/sbin/sendmail -t -i

Тестовая отправка перестала выдавать ошибку и начала писать что все отправлено на указанный email, но указанный email пуст(и спам). Веб-сервер на локальном компьютере, не на хостинге. В престе выбрано:"Использовать функцию PHP mail". Подскажите, пожалуйста, что может быть и где копать?
22 Ноября 2016, 17:11:08
Ответ #1
  • Ветеран
  • *****
  • Сообщений: 2169
  • Репутация: +49/-4
  • Сообщество PrestaShop
    • Просмотр профиля
Проверь отправку из консоли
php -r "mail('mymail@site.ru', 'Тест','Это тест.');"после проверь лог, узнаешь в чем причина.
23 Ноября 2016, 11:47:35
Ответ #2
  • Новичок
  • *
  • Сообщений: 31
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Выдало:"failed to connect to mailserver at localhost port 25 verify your smtp and smtp_port setting in php.ini".

Вот настройки php.ini

Подскажите кто знает в чем проблема? Настраиваю под винду.
23 Ноября 2016, 11:53:50
Ответ #3
  • Ветеран
  • *****
  • Сообщений: 2169
  • Репутация: +49/-4
  • Сообщество PrestaShop
    • Просмотр профиля
Порт закрыт, открыть нужно и настроить smtp php.ini:
smtp = localhost
smtp_port = 25
23 Ноября 2016, 11:59:43
Ответ #4
  • Новичок
  • *
  • Сообщений: 31
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
У меня так и настроено. :( Так же уточню что выбрана:"Использовать функцию PHP mail".

[mail function]
; For Win32 only.
; http://php.net/smtp
SMTP = localhost
; http://php.net/smtp-port
smtp_port = 25

; For Win32 only.
; http://php.net/sendmail-from
;sendmail_from = you@yourdomain

; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
; http://php.net/sendmail-path
sendmail_path = "C:\wamp\bin\apache\Apache2.2.21\SMTP -t -i"
23 Ноября 2016, 12:54:15
Ответ #5
  • Ветеран
  • *****
  • Сообщений: 2169
  • Репутация: +49/-4
  • Сообщество PrestaShop
    • Просмотр профиля
Порт открыт? По умолчанию в винде порт 25 закрыт.
23 Ноября 2016, 13:08:20
Ответ #6
  • Новичок
  • *
  • Сообщений: 31
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
По идее порт открыл. А как проверить?
23 Ноября 2016, 13:13:04
Ответ #7
  • Ветеран
  • *****
  • Сообщений: 1195
  • Репутация: +28/-1
  • Сообщество PrestaShop
    • Просмотр профиля
А у вас установлен sendmail?
Может на  25 порту нет SMTP сервера который мог бы отправить почту.
23 Ноября 2016, 13:37:51
Ответ #8
  • Новичок
  • *
  • Сообщений: 31
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
А у вас установлен sendmail?
Может на  25 порту нет SMTP сервера который мог бы отправить почту.

Нет, но я ведь отправляю через phpmail. Разве мне надо ставить sendmail?
23 Ноября 2016, 13:44:21
Ответ #9
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 20838
  • Репутация: +25276/-0
  • Prestashop - просто и эффективно
    • Просмотр профиля
Проверь отправку из консоли
php -r "mail('mymail@site.ru', 'Тест','Это тест.');"после проверь лог, узнаешь в чем причина.
Функция mail сама по себе почту не отправляет, она просто вызывает mta (exim, sendmail, postfix...), которую нужно установить.
Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!
23 Ноября 2016, 13:49:02
Ответ #10
  • Ветеран
  • *****
  • Сообщений: 1195
  • Репутация: +28/-1
  • Сообщество PrestaShop
    • Просмотр профиля
Функция mail сама по себе почту не отправляет, она просто вызывает mta (exim, sendmail, postfix...), которую нужно установить.
Если начинать с начала, то установить не только sendmail , но и для отправки почты нужен SMTP сервер. После установки нужно еще и настроить sendmail и SMTP сервер.
23 Ноября 2016, 13:52:55
Ответ #11
  • Новичок
  • *
  • Сообщений: 31
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Функция mail сама по себе почту не отправляет, она просто вызывает mta (exim, sendmail, postfix...), которую нужно установить.

Ну я же отправляю через phpmail. Я так понимаю sendmail мне не нужен.
23 Ноября 2016, 13:59:04
Ответ #12
  • Ветеран
  • *****
  • Сообщений: 1195
  • Репутация: +28/-1
  • Сообщество PrestaShop
    • Просмотр профиля
В yandex сделайте запрос "PHP mail под Windows. Отправка почты из PHP скриптов". Есть много статей по использованию PHP mail под Windows.
23 Ноября 2016, 14:01:03
Ответ #13
  • Ветеран
  • *****
  • Сообщений: 1195
  • Репутация: +28/-1
  • Сообщество PrestaShop
    • Просмотр профиля
Доброго времени суток! Стоит преста 1.6.1.6 Не работали никакие способы отправки писем кроме отправки письма прямо из настроек клиента. Тестовая отправка письма писала о неверных настройках. Зашел в php.ini и прописал путь.

sendmail_path = /usr/sbin/sendmail -t -i

Тестовая отправка перестала выдавать ошибку и начала писать что все отправлено на указанный email, но указанный email пуст(и спам). Веб-сервер на локальном компьютере, не на хостинге. В престе выбрано:"Использовать функцию PHP mail". Подскажите, пожалуйста, что может быть и где копать?
А путь менять к sendmail пробывали?
sendmail_path = "C:\wamp\sendmail\sendmail.exe -t"
23 Ноября 2016, 14:25:27
Ответ #14
  • Ветеран
  • *****
  • Сообщений: 2169
  • Репутация: +49/-4
  • Сообщество PrestaShop
    • Просмотр профиля
Установи вирт машину. В ней ubuntu и не мучайся с виндой. Так у тебя будет полноценный вебсервер.