Небольшая статья о том как отправлять средствами Joomla Framework письма!

Для того что бы отправлять письма средствами Joomla Framework нужно получить экземпляр объекта класса JMail, установить нужные нам поля и вызвать метод который выполнит отправку письма.
Для отправки письма будет использоваться тот метод который указан у нас в настройках сайта и нам не нужно будет вручную писать много лишнего кода!

Итак рассмотрим пример отправки письма:

//Получаем экземпляр класса JMail
$mailer = JFactory::getMailer();
//Указываем что письмо будет в формате HTML
$mailer->IsHTML( true );
//Указываем отправителя письма
$mailer->setSender( array( 'email_отправителя', 'имя отправителя' ) );
//указываем получателя письма
$mailer->addRecipient( 'email_получателя' );
//добавляем получателя копии
$mailer->addCC( 'email_получателя_копии' );
//добавляем вложение
$mailer->addAttachment( 'путь_к_файлу_вложения' );
//Добавляем текст письма
$mailer->setBody('<h1>Hello User!</h1>');
//Отправляем письмо
$mailer->send();

Если вы хотите что бы в качестве отправителя устанавливался E-mail который в поле "E-mail сайта" в общих настройках системы, и именем отправителя было название сайта? то необходимо написать следующий код:

//получаем настройки сайта
$config = & JFactory::getConfig();
//Получаем экземпляр класса JMail
$mailer = JFactory::getMailer();
//Указываем что письмо будет в формате HTML
$mailer->IsHTML( true );
//Указываем отправителя письма
$mailer->setSender( array( $config->get( 'config.mailfrom' ), $config->get( 'config.fromname' ) ) );
//указываем получателя письма
$mailer->addRecipient( 'email_получателя' );
//Добавляем текст письма
$mailer->setBody('<h1>Hello User!</h1>');
//Отправляем письмо
$mailer->send();

Если же мы хотим послать письмо нескольким адресатам сразу то можно вызвать функцию addRecipient несколько раз. Она добавит в список получателей несколько адресатов! Как это сделать можно посмотреть в примере ниже:

//список всех кому отправлять письмо
$emailList = array( 'mail1', 'mail2', 'mail3' );
//получаем настройки сайта
$config = & JFactory::getConfig();
//Получаем экземпляр класса JMail
$mailer = JFactory::getMailer();
//Указываем что письмо будет в формате HTML
$mailer->IsHTML( true );
//Указываем отправителя письма
$mailer->setSender( array( $config->get( 'config.mailfrom' ), $config->get( 'config.fromname' ) ) );
//в цикле перебираем всех получателей
foreach ( $emailList as $email ) {
	//указываем получателя письма
	$mailer->addRecipient( $email );
}
//Добавляем текст письма
$mailer->setBody( '<h1>Hello User!</h1>' );
//Отправляем письмо
$mailer->send();