В просторах интернета наткнулся на такое решение:

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

Что же мы имеем: Компонент Virtuemart использует свой класс для отправки почты, который использует библиотеку phpmailer с классом PHPMailer.
В моем случае Joomla была настроенна на отправку почты через php функцию mail. После долгих разбирательств было выяснено, что все равботает в штатном режиме, но когда дело уже доходит до фактической отправки, функция mail выполняется с ошибкой, и возвращает результат false. Но, самое интересное, что Virtuemart не проверяет результат выполнения функции, а сообщает о том, что все замечательно.
Всё дело оказалось в 5 параметре функции mail «$additional_parameters», этот параметр используется для передачи дополнительных параметров программе, которая производит непосредственную отправку почты.

PHP код:
bool mail string $tostring $subjectstring $message [, string $additional_headers [, string $additional_parameters]] ) 
В PHPMailer туда присваивается такое значение:

PHP код:
$params sprintf("-oi -f %s"$this->Sender); 
Не в даваясь в подробности, скажу, что это правильно так и нужно делать, но не на всех хостингах это разрешено. Здесь фактически и возникает сама проблема: на хостинге запрещено использование некторых дополнительных параметров для почтовой программы, функция mail не может отправить письмо, о чем честно сообщает в возвращаемом результате, а Virtuemart безразлично ушло письмо или нет.
Для решение этой проблемы достаточно изменить выше указанную строчку в файле «libraries/phpmailer/phpmailer.php» на

PHP код:
//    $params = sprintf("-oi -f %s", $this->Sender);
    
$params ''
Полностью скопировано с - http://www.dev-joomla.ru/obshhie-vop...-1/#comment-59