В данном фрагменте текста страницы моего сайта я хочу продавать контекстные ссылки

Как отправить e-mail из своего расширения

18 октября 2010 - Администратор
Получение объекта электронной почты

Ссылка на глобальный объект электронной почты JMail получается с помощью объекта JFactory. Это создание нашего объекта JMail.

$mailer =& JFactory::getMailer();

Получение объекта электронной почты

Ссылка на глобальный объект электронной почты JMail получается с помощью объекта JFactory. Это создание нашего объекта JMail.

$mailer =& JFactory::getMailer();

Установка отправителя

Отправитель письма устанавливается с помощью метода JMail->setSender. Функция принимает массив с адресом электронной почты и именем в качестве аргумента. Мы получили имя и адрес электронной почты из глобальной конфигурации сайта. Они устанавливаются в административной части сайта (Общие настройки -> Сервер -> Настройки почты).

$config =& JFactory::getConfig();
$sender = array(
                    $config->getValue(’config.mailfrom’),
                    $config->getValue(’config.fromname’)
                );
$mailer->setSender($sender);

Установка получателя

Вы устанавливаете получатель электронной почты с помощью метода JMail->addRecipient. Для того что-бы задать e-mail адрес текущего авторизованного пользователя, мы возьмём его из объекта пользователя.

$user =& JFactory::getUser();
$recipient = $user->email;
$mailer->addRecipient($recipient);

Если у нас есть несколько адресатов, мы можем отправить их в виде массива.

$recipient = array(’person1@domain.com’, ’person2@domain.com’, ’person3@domain.com’);
$mailer->addRecipient($recipient);

Создание письма

Мы должны указать тему письма и создать содержимое. тема письма устанавливается с помощью метода JMail->setSubject.

Простой способ создания сообщения в виде строки текста. Используйте функцию JMail->setBody для добавления сообщения к письму. Выможете так же прикрепить файл >Framework/Mail/JMail.html#addAttachment JMail->addAttachment. В качестве аргумента может быть имя одного файла или массив имён нескольких.

$body   = "Your body string
in double quotes if you want to parse the 
newlines etc";
$mailer->setSubject(’Your subject string’);
$mailer->setBody($body);
// Optional file attached
$mailer->addAttachment(PATH_COMPONENT.DS.’assets’.DS.’document.pdf’);

Если вы предпочитаете HTML-формат письма, вы должны это указать. Это делается с помощью метода JMail->IsHTML. Темы и любые вложения обрабатываются, как указано выше, за исключением изображений встроенных в HTML. Они обрабатываются методом JMail->AddEmbeddedImage.

$body   = ’<h2>Our mail</h2>’
         .’<div>A message to our dear readers’
         .’<img src="cid:logo_id" alt="logo"/></div>’;
$mailer->isHTML(true);
$mailer->setBody($body);
// Optionally add embedded image
$mailer->AddEmbeddedImage(PATH_COMPONENT.DS.’assets’.DS.’logo128.jpg’, ’logo_id’, ’logo.jpg’, ’base64’, ’image/jpeg’);

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

Отправка почты

Письмо отправляется с помощью метода JMail->Send. Он возвращает true при успешной отправке или объект ошибки JError.

$send =& $mailer->Send();
if ($send !== true)
{
    echo ’Error sending email: ’.$send->message;
}
else
{
    echo ’Mail sent’;
}

Возможно вы хотите написать свой обработчик ошибок.

Объект JMail используется для отправки почты в компоненте контактов. Смотрите файл joomla/components/com_contact/controller.php.

Рейтинг: 0 Голосов: 0 4318 просмотров
Комментарии (0)

Нет комментариев. Ваш будет первым!

Яндекс цитирования
В случае перепечатки материалов активная ссылка на cattus.ru обязательна
© 2004-2013 cattus.ru