Версия для печати
Оригинальная версия ( http://prestadev.ru/forum/tema-1793.html )

PrestaShop CMS :: Русская поддержка интернет-магазина PrestaShop > Установка, Настройка, Обновление > SMTP и почта


Разместил: rambez Время: 15-10-2010 03:42
Как и у многих тут есть проблемы с отправкой почты посредством smtp.
Вопрос состоит в следующем: всё настраиваю правильно, ставлю логин пароль сервер, нажимаю сохранить, сохраняет но поле с паролем остаётся пустым.

Есть ли какие соображения? или у всех так? и все работает?!

Разместил: rambez Время: 16-10-2010 23:10
у Всех все работает? Н утогда поделитесь опытом! Не жмоттесь.!

Разместил: Anterot Время: 19-10-2010 17:51
таже проблема, почта совсем не работает (( сосдал спец.файл по указанию хостера, с него проверка приходит а с сайта совсем никаких писем ни администратору ни пользователю (( как боротса, кто на шол выход? Русская версия подготовлена PrestaDev.ru Версия 1.3.1.1


Сообщение отредактировано Anterot 19-10-2010 18:52 ...

Разместил: rambez Время: 21-10-2010 04:19
Товарищи делитесь информацией!

Разместил: mtrubaev Время: 25-10-2010 00:10
У меня тоже вообще не пашет ни через SMTP, ни через маил(), что делать?

Разместил: mtrubaev Время: 25-10-2010 01:37
to rambez. У меня через SMTP заработало (проверь настройки, которые тебе дал хостер), поле с пустым паролем - ничего страшного, значение пароля надо задать один раз, а потом преста пароль берет из базы, даже если поле с паролем пустое

Разместил: yerzhan Время: 27-10-2010 15:55
не отправляет письма как решить данную проблему?

Разместил: CGIStandart Время: 28-10-2010 19:58
Записи доменной зоны можете показать?

Разместил: Anterot Время: 05-11-2010 17:32
лог сервера ?

[Fri Nov 05 11:27:22 2010] [error] [client 178.95.101.120] File does not exist: /home/zakaznik/zakaznik.com.ua/www/favicon.ico
[Fri Nov 05 12:24:45 2010] [error] [client 178.95.101.120] File does not exist: /home/zakaznik/zakaznik.com.ua/www/modules/blockcurrencies/blockcurrencies.js, referer: http://zakaznik.com.ua/
[Fri Nov 05 12:24:48 2010] [error] [client 178.95.101.120] File does not exist: /home/zakaznik/zakaznik.com.ua/www/modules/blockcurrencies/blockcurrencies.js, referer: http://zakaznik.com.ua/contact-form.php
[Fri Nov 05 12:24:55 2010] [error] [client 178.95.101.120] File does not exist: /home/zakaznik/zakaznik.com.ua/www

Разместил: Anterot Время: 06-11-2010 02:55

Поставил три версии, Version 1.3.2.3 с сайта PrestaShop и Версия 1.3.1.1 от PrestaDev.ru и третий PrestaShop v.1.4.0.
на хостенге с PHP 5.2 одна и тажа проблема у всех версий.

нашол в модулях
модуль
Почтовые предупреждения v2.2
Отправляет эл.уведомление клиенту и продавцу
включил его и настроил

Еще нашол Панель Управления >> Заказы >> Статусы
здесь тоже все включил и настроил

Отправка писем с магазина совсем не работала, ни с заказов ни с контактов когда клиент обращаетса в техподдержку, при регистрации, при заказах, ни с админки тестовые. По советах хостера сосдал файл тестовой отправки писем, работает, а с магазина все равно не работает, начал боротса.

в /tools/swift/Swift/Message.php строка #79

$this->setFrom("");

заменил на

$this->setFrom(" youremail@yourdomainname.comЭтот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript ");

youremail@yourdomainname.comЭтот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript ставим свое мыло.

/tools/swift/Swift.php после строки 370
if (!($has_reply_to = $message->getReplyTo())) $message->setReplyTo($from);

добавил следующий код:

if (!$has_reply_to0) $message->setReplyTo($from->getAddress());

/tools/swift/Swift/Plugin/MailSend.php в рядок # 159

вставил

$params = "";

Заработала отправка с админки тестовое письмо и приходит письмо админу при заказе. Отправка клиенту при регистрации, и при заказе так и не приходит. Если есть у кого-то идеи поделитесь, ато уже все перерыл и перечитал и найти не могу.

Пробовал менять РНР, на РНР 4.4, на РНР 5.2, на РНР 5.3 и РНР 6 alpha

ничего не помогло, вопрос остаетса открытим!

Помогите пожайлуста.

Разместил: yerzhan Время: 18-11-2010 12:14
мой лог сервера

http://shop.yerzhan.com/1.txt

Разместил: PLN Время: 01-12-2010 01:05
У меня была такая проблема, как я понял, она связана с настройками почтового сервера хостера (у меня хостер godaddy.com)

В админке престашопа в Настройки >> Эл.почта было указано "Использовать PHP функцию mail()"
В этом случае тестовое письмо с той же страницы отправлялось удачно (на адрес администратора). Почтовый ящик администратора у меня заведен на том же сервере.
Но письма из магазина не отправлялись (ссылка "Контакты"- contact-form.php), показывалась ошибка.

Я выполнил phpinfo(), нашел в рубрике PHP Core директиву SMTP = relay-hosting.secureserver.net
Поменял настройку в админке - Задать свои параметры для SMTP сервера. Указал этот сервер, ввел пустой логин и пустой пароль. (как выяснилось, есть указание хостера на этот счет - http://help.godaddy.com/article/951

Теперь письма из contact-form.php отправляются, но только в том случае, если в поле Эл. Адрес указан адрес администратора (на том же хостинге). Думаю, это такая защита от спамеров, что нельзя поле From устанавливать произвольное. Думаю, надо избавиться от поля Эл. Адрес в contact-form.php
Уведомления о заказах тоже приходят (у них поле To и поле From совпадают)


Сообщение отредактировано PLN 01-12-2010 00:09 ...

Разместил: mititch Время: 05-12-2010 15:32
я для себя понял что 90% проблем связано с хостером и с этим особо не поборешься
я штук пять хостеров поменял пока не нашел нормальный http://arvixe.ru/
почта работает без проблем

Разместил: Леминг Время: 17-01-2011 22:03
Блин, я смотрю не у одного меня такая проблема... А решения нет...

Разместил: karavanbusin Время: 19-01-2011 21:38
Мучался этим же вопросом больше 3 месяцев...
Спасибо Anterot... ввел все как написано все заработало...

+ в настройках почты вписал все смтп сервера ...
http://www.karavanbusin.com

День сегодня прошел не зря!

Разместил: Леминг Время: 21-01-2011 06:11
странная фигня... само по себе заработало.... никакие настройки не менял. Неделю отправка писем не работала, а сегодня вдруг все заработало. Я так думаю это от хостинга зависит.

Разместил: karavanbusin Время: 31-01-2011 19:27
Блин а у меня перестало работать... и еще и сервера мейл ру считают спамом...

Капец...

Разместил: ors Время: 31-01-2011 20:37
Скорее всего первое следствие второго. Настройте отправку через SMTP

Разместил: karavanbusin Время: 01-02-2011 20:07
исправил... но с нюансами

тест мейл работает.
С контакформы все отправляеться
Но, при заказе , письма не приходят заказчикам, админу приходит письма, а заказчуки нет :( И дальнейшие статусы заказов не доходят :(
Не знаю что делать

Разместил: geomagi Время: 03-02-2011 23:06
А у меня все на оборот. Клиентам письмо приходит во всех случаях а админу о заказе нет :no: если кто решил проблему отпишитесь пожалуйста.

Разместил: geomagi Время: 04-02-2011 02:44
Нашел у себя рабочую версию престы,которая отсылает письма и покупателю и админу, замена файлов в не рабочей версии не принес результатов,но вот перекидываю на БД рабочего и все работает. Кто знает какая таблица связана с отправкой меила?

Разместил: geomagi Время: 04-02-2011 05:28
Поставил из другого пакета престы Mail alerts v2.2 и все заработала :)

Разместил: maken Время: 13-03-2011 02:36
У меня почта заработала. Хостинг у меня от sweb.ru . В настройках указал через php() и внизу прописал e-mail от хостинга. Отправил сообщение с целью проверки,пришло письмо, что сервер настроен правильно. До этого пытался указать и mail.ru почту и e-mail от моего провайдера - ничего не работало. С настройками SMTP тоже не разобрался,а вот что выше написал заработало.

Разместил: kap3 Время: 15-04-2011 20:17
Цитата:( rambez @ 21-10-2010 05:19 Смотреть сообщение )
Товарищи делитесь информацией!


Решение проблем с почтой в prestashop.
В этой статье я хочу рассказать об отправке почты из php скриптов под Windows.
С точки зрения php программиста отправка почты выполняется с помощью стандартной функции mail().
И вот тут у многих начинающих разработчиков возникает проблема. Скрипт, прекрасно работающий на сервере хостера, выдает ошибки на локальном компьютере.
Обычно эти ошибки имеют примерно такое описание:
Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in E:\www\simplemail\mailer.php on line ......

Дело в том, что функция mail сама по себе почту не отправляет, она просто вызывает программу sendmail, которая в дистрибутив web сервера и php интерпретатора не входит (и не должна).
Sendmail, в свою очередь, для отправки почты использует SMTP сервер.
Таким образом, чтобы php скрипт мог отправлять почту нужно установить и настроить sendmail и SMTP сервер.
Версию sendmail для Windows можно скачать здесь http://shoplinza.akado-ural.ru/sendmail/ в Opere можно скачать нажимая правой кнопкой мыши на файл wamp.rar /сохранить в папку загрузки
E-mail в prestashop, и в файле sendmail.ini обязательно должны быть разными
Пример, в prestashop (лан@рамблер.ru) а в файле sendmail.ini (пупкин@рамблер.ru)
Установка и настройка выполняется в три этапа.
1) Распаковываем архив на тот же диск, где установлен php. Например, я создал папку C:\wamp\sendmail.
2) Вносим изменения в файл php.ini: (мой веб сервер)
[mail function]
SMTP =
sendmail_from =
sendmail_path ="C:\wamp\sendmail\sendmail.exe -t"
Как видите, нужно только указать путь к sendmail чтобы php мог ее найти.
3) Настраиваем sendmail. Все настройки находятся в файле sendmail.ini (расположен в папке с sendmail).
Но перед тем как приступать к настройке пару слов об SMTP сервере. Вам совсем не обязательно устанавливать сервер на вашем компьютере. Многие почтовые сервисы предоставляют бесплатный доступ к своим серверам.
Ниже я покажу пример настройки sendmail для работы с SMTP сервером mail.ru, но, естественно, вы выбрать любой другой.
Итак, открываем sendmail.ini и устанавливаем следующие параметры:
smtp_server=smtp.mail.ru ; адрес SMTP сервера
smtp_port=25 ; порт SMTP сервера
default_domain=mail.ru ; домен по-умолчанию
error_logfile=error.log ; файл в который будет записываться лог ошибок
debug_logfile=debug.log ; очень полезная на этапе отладки опция. Протоколируются все операции, которые выполняет sendmail
auth_username=account_name@mail.ru ; имя вашего аккаунта
auth_password=account_password ; ваш пароль
; следующие три опции используются если перед авторизацией на SMTP сервере требуется авторизация на POP3 сервере
pop3_server=pop.mail.ru
pop3_username=account_name@mail.ru
pop3_password=account_password
; параметр для команды MAIL FROM
force_sender=account_name@mail.ru
hostname=mail.ru
Теперь не забудьте перезапустить web сервер, чтобы изменения вступили в силу.
Как видите, ничего сложного в настойке почты нет.
Удачи!
Буду благодарен если кто-то выложит рабочий модуль WebMoney у меня v1.4 или подскажет что нужно поправить
Проблема после оплаты покупателем WebMoney не попадает обратно на сайт, ошибка The operation timed out (-2147012894) step=132



Разместил: Fant63 Время: 16-04-2011 02:06
http://prestalab.ru/moduli-oplaty/16-priem-platezhej-webmoney.html
Оптимизирован для PrestaShop 1.4

Разместил: geomagi Время: 16-04-2011 04:51
Для тех у кого настроен сервер на локальном компе с применением XAMPP,LAMPP,Vertrigo и т.п (кроме Denwer-а так как та это уже есть) создание заглушки sendmail.
Для создания заглушки sendmail для XAMPP (или других серверов) нам необходимо сделать следующее:
В папке sendmail (если нет то создаем) в домашней директории XAMPP создаем файл sendmail.php:
Цитата:
<?php
//путь папки в которую будем сохранять почту
define('DIR','D:/xampplite/tmp/sendmail/');

//получаем из потока тело письма
$stream = '';
$fp = fopen('php://stdin','r');
while($t=fread($fp,2048))
{
if( $t===chr(0) )
break;
$stream .= $t;
}
fclose($fp);

//Сохраняем в уникальный файл
$fp = fopen(mkname(),'w');
// Конвертируем в другую кодировку при желании
//$stream = iconv("UTF-8","CP1251",$stream)
fwrite($fp, $stream);
fclose($fp);

//Функция создания уникального имени файла
function mkname($i=0) {
if($i > 0) $str_i = '_'.$i;
else $str_i = '';
$fn = DIR.date('Y-m-d_H-i-s').$str_i.'.eml';
if ( file_exists($fn) )
return mkname(++$i);
else return $fn;
}

?>

В файле «\php\php.ini» ищем строчку
Цитата:
sendmail_path = "\"\xampplite\sendmail\sendmail.exe\" -t"

и заменяем ее на:
Цитата:
sendmail_path = "D:\xampplite\php\php.exe D:\xampplite\sendmail\sendmail.php"

Пути нужно подправить в соответствии с той директорией, куда вы установили XAMPP.(или другой сервер)
Перезапускаем сервис Apache, и проверяем работу заглушки. Если вы все сделали правильно, все отправленные письма будут находиться в папке «/tmp/sendmail/«.

Разместил: Intabsme Время: 18-04-2011 23:20
Люди, да как сделать почту то? Почтовый ящик от gmail.com все настроил SMTP как сказанно. Но нет реакции.. что делать? подскажите.

Разместил: geomagi Время: 19-04-2011 00:50
Не знаю на сколько поможет Вам но вот фикс для почты
Цитата:
http://www.presto-changeo.com/en/content/9-fix-e......-email-problems

Разместил: kap3 Время: 21-04-2011 20:31
Цитата:( Intabsme @ 19-04-2011 00:20 Смотреть сообщение )
Люди, да как сделать почту то? Почтовый ящик от gmail.com  все настроил SMTP как сказанно. Но нет реакции.. что делать? подскажите.


Если бесплатный e-mail так луче рамблер.ру, а в идеале, платный у провайдера, тогда проблем не будет.

Разместил: kap3 Время: 21-04-2011 20:35
Цитата:( Intabsme @ 19-04-2011 00:20 Смотреть сообщение )
Люди, да как сделать почту то? Почтовый ящик от gmail.com  все настроил SMTP как сказанно. Но нет реакции.. что делать? подскажите.



Забыл уточнить. Ты внес изменения в файл php.ini: (на своем веб сервер)

Разместил: selko Время: 28-04-2011 17:03
Цитата:( Intabsme @ 19-04-2011 00:20 Смотреть сообщение )
Люди, да как сделать почту то? Почтовый ящик от gmail.com  все настроил SMTP как сказанно. Но нет реакции.. что делать? подскажите.


Не расскажу как 100% настроить отправку, но поделюсь опытом.
Через функцию PHPmail() письма скорей всего отсылаются, но попадают в спамлисты почтовиков. Такие письма у меня только gmail.com принимает, ukr.net и прочее игнорит по полной.
Через SMTP отправляло, но была тенденция, то отправляет то нет. Лекарство вроде нашел - увеличить таймаут!!! меняется прямо в РНР файле classes/Mail.php строка около 62 (см. скриншот)
Ну и в настройках канечно SMTP сервер своего провайдера

Разместил: sYN Время: 26-05-2011 04:33
Сижу пока на локалхосте с админским ящиком на яндексе, последняя версия престы по умолчанию не отсылает через php mail(), только через smtp, что меня устраивает.

Но все уведомления отправляются заказчику, а мне нужна простая схема отправки о поступающем заказе на админский ящик, после чего он начнёт вручную обрабатываться.

Такое без сторонних модулей типа Mail alerts возможно организовать?

Разместил: ors Время: 26-05-2011 11:09
А чем Mail alerts не нравится? это не стороний модуль

Разместил: sYN Время: 26-05-2011 13:52
Мне бы поменьше модулей, как вы уже поняли, наверное.

Значит, без этого модуля не добиться уведомлений для админа, то есть встроенная функция рассчитана только на заказчиков?

Хотя в настройках есть выбор посылать заказчику или вебмастеру, но отсылает только заказчику при любом выборе.

Разместил: sYN Время: 26-05-2011 20:35
Увеличили бы время для редактирования сообщений.

В общем, как я понял, и без модуля отправка админу предусматривается, но нюансов так много, что лучше использовать Mail alerts.


Сообщение отредактировано sYN 26-05-2011 16:38 ...

Разместил: 4315700 Время: 17-11-2011 18:17
Мое решение:
не отправлялись письма при регистрации и заказах клиенту.
Был выбран способ отправки через smtp
Все было настроено и прописанно кроме Домена! Указал домен "мойсайт.ru" и все заработало.

Разместил: DexusMaximus Время: 19-11-2011 16:45
Если кому еще интересна тема.
Мои действия:
1. Устанавливаем модификатор http://prestadev.ru/addons/override/22-modifikaciya-reschayushaya-problemy-s-otpravkoy.html
2. Создаем почтовый ящик на сервере.
3. Указываем его в Настройки - контакты.
4. В настройках эл. почты выбираем smtp.
5. Вносим smtp данные (включая домен) созданного ящика.

После этого все заработало.


Осталась другая проблема - некоторые серваки воспринимают почту с престы как СПАМ. Как бороться - пока не решил.

Разместил: fedorchuk Время: 17-12-2011 20:26
Поделюсь своим опытом настройки отправки писем из Prestashop.

Во время установки престы указал контактный еmail обычный от яндекса. Сообщения с сайта на него приходили, но я решил изменить email. Настроил почту с доменом сайта через google apps (shop@мой-магазин.ru) и тут начались проблемы. Через Php mail он все отправлял но ничего не доходило, а через smtp все варианты которые нашел в инете также перепробовал - либо он не мог даже отправить тестовое сообщение (выдавал ошибку) либо отправлял, но письмо не понятно куда приходило.

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

Потом я "долго" рылся в панели управления хостингом и нашел там одну MX запись mail (хотя все mx записи я настраивал у регистратора) и вот такую галочку "Use this server to handle my emails."
После удаления записи и снятия галки все заработало как песня.

Правда сообщения попадали в спам и адрес отпраителя был написан в такой форме "shop@мой-магазин.ru via домен-хостера.ru"

Тогда я изменил адрес в message.php на contact-form@мой-магазин.ru и после очередного попадания в спам просто добавил этот еmail в контакт лист.

Вот и все. Может потом еще какие-то проблемы вылезут, не знаю, но пока вопрос решен.

Разместил: ivolga Время: 18-02-2012 22:20
Цитата:( ors @ 26-05-2011 07:09 Смотреть сообщение )
А чем Mail alerts не нравится? это не стороний модуль


А есть для Престы? Дайте ссылку плиз, а то яндех дает только сторонние варианты.

Разместил: silverscan Время: 22-09-2013 23:48
Кто нибудь может сказать, как сделать чтоб уведомление на почту о новом заказе добавилась картинка товара
Цитата:


 
К Вам поступил новый заказ от {fo_name}.
 
Артикул: {reference}
Товар: {product_name} {product_attribute}

Количество: {product_quantity}

 
Имя: {fo_name}
E-mail : {fo_email}
Телефон: {fo_phone}
 
Пожелания клиента:
{fo_address}

Разместил: djener87 Время: 08-10-2014 14:09
Ребята
всем привет
меня мучило это же проблема но я пака справился
правда в prestashop 1.6.0.9
smtp mail.ru на prestashop 1.6.0.9
вот скрин

:cof:

Разместил: djener87 Время: 08-10-2014 14:11
если менять порт то не работает

www.prestadev.ru