[Решено!]Virtuemart не отправляет письма активации пользователя или заказа

[Решено!]Virtuemart не отправляет письма активации пользователя или заказа

Вы сделали свой интернет-магазин на Virtuemart. Но, осталась одна проблема: при регистрации пользователю не приходит письмо активации аккаунта или заказа, в тоже время сама Joomla успешно отправляет письма.

Давайте решить данную проблему. Всем известный компонент Virtuemart использует свой класс для отправки почтовых писем, который использует библиотеку phpmailer. Изначально Joomla настроенна на отправку почтовых писем через php функцию mail.

Вот интересно, всё работает нормально до тех пор когда дело доходит до фактической отправки, функция mail выполняется с ошибкой, и возвращает false. Наш любимый Virtuemart не проверяет результат выполнения, а сообщает что все замечательно.

Вся проблема в пятом параметре функции mail «$additional_parameters», данный параметр используется для передачи дополнительных параметров программе, которая производит непосредственную отправку почты.

bool mail ( string $to, string $subject, string $message [, string 
$additional_headers
[, string $additional_parameters]] )

В PHPMailer туда присваивается следующие значение:

$params = sprintf("-oi -f %s", $this->Sender);

На хостингах запрещено использование некторых параметров для почты, функция mail не может отправить письмо, о чем честно сообщает в возвращаемом результате, а компоненту Virtuemart безразлично ушло письмо или нет.

Для решении проблемы, достаточно изменить выше указанную строчку в файле «libraries/phpmailer/phpmailer.php» на:

// $params = sprintf("-oi -f %s", $this->Sender);
$params = '';

После завершения изменении, почта будет работать как надо. Надеюсь у Вас всё получится в противном случае готов рассмотреть ваши вопросы.

Комментарии  

 
0 #8 Константин 10.09.2014 06:52
Поменял исходный код как вы посоветовали в статье, однако письмо приходит только если я указываю свой ящик, который привязан к виртумарту. т.е с другой почты опять же не пашет. ХЭЛП! :cry:
Цитировать
 
 
0 #7 Сергей 19.02.2014 18:59
Пробовал, ничего не получается. У меня форма "Задать вопрос" - ссылка вот http://weicheng.ru/oborudovanie/fzqs-vytyazhnaya-mashina-detail/askquestion.html?tmpl=component . После того, как отправляешь вопрос - пишется сообщение, что отправлен, но возникает две проблемы:
1. кнопка закрыть - не работает. Не знаю, где поменять это(буду очень признателен за помощь.
2. письма не отправляются. Уже и менял файл phpmailer и в настройках магазина и джумлы адреса ставил, и в домене делал, чтобы вся почта пересылалась на адрес.

Помогите пожалуйста
Цитировать
 
 
0 #6 Nipons 05.02.2014 12:55
Олег, рад что вам помогло.
Цитировать
 
 
+1 #5 Олег 04.02.2014 11:11
А мне помогло, спасибо! ;-)
Цитировать
 
 
+5 #4 Роман 11.11.2013 22:42
Надо зайти в админке virtuemart -> Настройки -> Оформление заказа
И в "Статус заказа по умолчанию для отправки эл.письма покупателю" добавить "В ожидании"
Тоже самое сделать и в "Статус заказа по умолчанию для отправки эл.письма продавцу"

После добавления "В ожидании", письма отправляются сразу после подтверждения заказа в корзине.
Цитировать
 
 
+3 #3 Сергей 16.10.2013 09:10
пробовал, не сработало. жаль
Цитировать
 
 
0 #2 Nipons 14.11.2012 13:44
Цитирую Александр:
пробовал, не сработало. жаль

Странно, многим рекомендую данный фикс, вроде у всех все нормально.
Пишете подробнее, какие php ошибки получились.
Цитировать
 
 
+5 #1 Александр 27.10.2012 17:38
пробовал, не сработало. жаль
Цитировать
 

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


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

MOD_BREADCRUMBS_HERE Главная страницаJoomla[Решено!]Virtuemart не отправляет письма активации пользователя или заказа
?> milfxxxvideo