Отправка писем где то работает, а где то нет.

Автор AsadyLlag, 22 ноября 2016, 16:42:20

« назад - далее »

AsadyLlag

Доброго времени суток! Стоит преста 1.6.1.6 Не работали никакие способы отправки писем кроме отправки письма прямо из настроек клиента. Тестовая отправка письма писала о неверных настройках. Зашел в php.ini и прописал путь.

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

Тестовая отправка перестала выдавать ошибку и начала писать что все отправлено на указанный email, но указанный email пуст(и спам). Веб-сервер на локальном компьютере, не на хостинге. В престе выбрано:"Использовать функцию PHP mail". Подскажите, пожалуйста, что может быть и где копать?

Миколас

Проверь отправку из консоли
php -r "mail('mymail@site.ru', 'Тест','Это тест.');"
после проверь лог, узнаешь в чем причина.

AsadyLlag

Выдало:"failed to connect to mailserver at localhost port 25 verify your smtp and smtp_port setting in php.ini".

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

Подскажите кто знает в чем проблема? Настраиваю под винду.

Миколас

Порт закрыт, открыть нужно и настроить smtp php.ini:
smtp = localhost
smtp_port = 25

AsadyLlag

#4
У меня так и настроено. :( Так же уточню что выбрана:"Использовать функцию 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"

Миколас

Порт открыт? По умолчанию в винде порт 25 закрыт.

AsadyLlag


Mr.Sen

А у вас установлен sendmail?
Может на  25 порту нет SMTP сервера который мог бы отправить почту.

AsadyLlag

Цитата: Mr.Sen от 23 ноября 2016, 13:13:04
А у вас установлен sendmail?
Может на  25 порту нет SMTP сервера который мог бы отправить почту.

Нет, но я ведь отправляю через phpmail. Разве мне надо ставить sendmail?

PrestaMan

Цитата: Миколас от 22 ноября 2016, 17:11:08
Проверь отправку из консоли
php -r "mail('mymail@site.ru', 'Тест','Это тест.');"
после проверь лог, узнаешь в чем причина.
Функция mail сама по себе почту не отправляет, она просто вызывает mta (exim, sendmail, postfix...), которую нужно установить.
Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!

Mr.Sen

Цитата: PrestaMan от 23 ноября 2016, 13:44:21
Функция mail сама по себе почту не отправляет, она просто вызывает mta (exim, sendmail, postfix...), которую нужно установить.
Если начинать с начала, то установить не только sendmail , но и для отправки почты нужен SMTP сервер. После установки нужно еще и настроить sendmail и SMTP сервер.

AsadyLlag

Цитата: PrestaMan от 23 ноября 2016, 13:44:21
Функция mail сама по себе почту не отправляет, она просто вызывает mta (exim, sendmail, postfix...), которую нужно установить.

Ну я же отправляю через phpmail. Я так понимаю sendmail мне не нужен.

Mr.Sen

В yandex сделайте запрос "PHP mail под Windows. Отправка почты из PHP скриптов". Есть много статей по использованию PHP mail под Windows.

Mr.Sen

Цитата: AsadyLlag от 22 ноября 2016, 16:42:20
Доброго времени суток! Стоит преста 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"

Миколас

Установи вирт машину. В ней ubuntu и не мучайся с виндой. Так у тебя будет полноценный вебсервер.