Куча мала

...жизнь прекрасна

  • Увеличить размер
  • Размер по умолчанию
  • Уменьшить размер
Главная Комп joomla + virtuemart virtuemart : Не доходят письма Админу с вопросом о товаре

virtuemart : Не доходят письма Админу с вопросом о товаре

Оценка пользователей: / 7
ПлохоОтлично 

Проблема :

Не доходят письма Админу с вопросом о товаре

Решение :

В файле

administrator\components\com_virtuemart\classes\ps_communication.php

ищем строки


if (ORDER_MAIL_HTML == '0') {

 

// Письмо покупателю

vmMail( $vendor_email, $dbv->f("vendor_name"), $shopper_email, $shopper_subject, $shopper_msg, "" );

// Письмо продавцу

vmMail($shopper_email, $shopper_name, $vendor_email, $vendor_subject, $vendor_msg, "" );


 

Только имейте в виду, что каменты мной русифицированы

Если вы в свой файл внесёте хоть одну русскую букву - не забудьте перекодировать его в UTF-8.

 

Так вот, там, где // Письмо продавцу в качестве адреса отправителя указан адрес человека, который делал запрос (vmMail($shopper_email,), а через его почту Joomla не сможет отправить сообщение, хотя бы потому, что для этого надо иметь пароль от чужого ящика.

 

Меняем последнюю строчку на

vmMail( $vendor_email, $shopper_name, $vendor_email, $vendor_subject, $vendor_msg, "" );

Это относится к тем, у кого настроена отправка писем в текстовом формате.

С форматом писем в HTML мне разбираться лень, но там возможна аналогичная ошибка - смотрите сами чуть ниже в том же файле.

Формат писем устанавливается так : Админка - Компоненты - VirtueMart - Настройки, закладка "Общие настройки", бокс "Дополнительные настройки", пункт "Формат письма".

 

PS : у меня VirtueMart 1.1.5 stable на Joomla! 1.5.20 Stable

 

Комментарии 

 
+1 #1 Константин 07.11.2010 20:49
Рецепт не помогает. Как не доходило так и не доходит :(
может есть какие еще варианты. И как можно локализовать проблему?
Цитировать
 
 
+1 #2 Балодя 08.11.2010 17:20
Надо в админке джумлы выбрать способ отправки писем - Сервер SMTP и указать реквизиты своего действующего ящика.
Цитировать
 
 
0 #3 Константин 08.11.2010 19:53
админку джумлы исправил там стала работать и форма для связи из "контакты" причем и через PHP и через SMTP а вот в Virtuemart не приходит. Причем есть два разных сайта на одном работает хоть еще не совсем правильно на другом нет версию VirtueMart-a залил ту же самую что на оба. Не помогает :(
Цитировать
 
 
+2 #4 Константин 09.11.2010 20:56
для исправления в HTML версии в том же файле вот что делаем:
строка 223 возможно
было:
$vendor_mail = vmMail( $shopper_email, $shopper_name, $vendor_email, $vendor_subject , $body,

$vendor_msg, true, null, null, $EmbeddedImages );
стало:
$vendor_mail = vmMail( $vendor_email, $shopper_name, $vendor_email, $vendor_subject , $body,

$vendor_msg, true, null, null, $EmbeddedImages );
Цитировать
 
 
0 #5 Балодя 11.11.2010 00:50
Сырой какой этот virtuemart. Сама joomla по сравнению с ним отлично вылизана.
Цитировать
 
 
+1 #6 Константин 11.11.2010 04:06
Да нее, в компоненте "контакты" та же проблема с не верной подстановкой адреса. Так что встречается эта ошибка не только в Virtuemart...
Цитировать
 
 
+2 #7 Миклухо-Маклай 15.11.2010 19:53
Решение для случая, когда клиенту уведомление приходит, а вот админ остается с носом.

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

Вот ваша задача узнать у хостера сколько стоит задержка у вашего сервера.
У меня стоит в 0,3 секунды - потому код поправил так (можно прописать и 0,3 конечно - но я жадный).

Файл ВМ ps_checkout.php
Вставляем usleep(400000); в два места.
Первое:

// Mail receipt to the shopper
vmMail( $from_email, $mosConfig_from name, $shopper_email, $shopper_subjec t, $msg, "" );

usleep(400000);

$msg = $vendor_header . $shopper_messag e . $vendor_footer;

// Mail receipt to the vendor
vmMail($from_em ail, $mosConfig_from name, $vendor_email, $vendor_subject , $msg, "" );

и второе

$shopper_mail = vmMail( $from_email, $mosConfig_from name, $shopper_email, $shopper_subjec t, $shopper_mail_B ody, $shopper_mail_A ltBody, true, null, null, $EmbeddedImages );

usleep(400000);

$vendor_mail = vmMail( $from_email, $mosConfig_from name, $vendor_email, $vendor_subject , $vendor_mail_Bo dy, $vendor_mail_Al tBody, true, null, null, $EmbeddedImages , null, $shopper_email) ;

Все будет стрелять. При любых методах отправки - я юзаю например ПХПмейл.
Цитировать
 
 
0 #8 Александр 01.12.2010 00:47
Помогло обновление виртумарт с 1.1.4 до 1.1.6 и письма стали отправляться. через СМТП также отправляются теперь.
Цитировать
 
 
0 #9 Константин 01.12.2010 13:08
В моем случае глюк от версии не зависел. Сравнивал все файлы в разных магазинах. Рабочий с не рабочим. Искал ошибку. В итоге нашел. А версия что 1.5 что 1.4 картины не меняло.
Цитировать
 
 
0 #10 vadim 13.02.2011 04:46
Блин, поставил 1.1.7 и работать перестало.. =(
Цитировать
 

Добавить комментарий

Защитный код
Обновить

А это видели ?

Опросы

Выборы президента в 2012 году
 

Случайное изображение

Rover

Побежали !

Счётчики