Goldensites | CMS Joomla | Joomla 1.5 | Статьи Joomla | Как в Joomla! работает отправка почты?

Как в Joomla! работает отправка почты?

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

# определяем необходимые параметры
$subject = "You have a new message";
$body = "Here is the body of your message.";
$to = " Данный адрес e-mail защищен от спам-ботов, Вам необходимо включить Javascript для его просмотра. ";
$from = array(" Данный адрес e-mail защищен от спам-ботов, Вам необходимо включить Javascript для его просмотра. ", "Brian Edgerton");

# создаем объект JMail класса
$mailer = JFactory::getMailer();

# присваиваем отправителя
$mailer->setSender($from);

# определяем получателя, тему и тело письма
$mailer->addRecipient($to);
$mailer->setSubject($subject);
$mailer->setBody($body);

# если хотите отправить письмо как HTML
$mailer->isHTML(true);

# отправляем письмо
$mailer->send();
Вот и все, что нужно сделать для отправки почты средствами Joomla! Если вы хотите отправить копии письма другим получателям, включите следующие методы перед отправкой почты:

$mailer->addCC("
 Данный адрес e-mail защищен от спам-ботов, Вам необходимо включить Javascript для его просмотра.
 ");

# Add a blind carbon copy
$mailer->addBCC(" Данный адрес e-mail защищен от спам-ботов, Вам необходимо включить Javascript для его просмотра. ");
Если хотите прикрепить к письму что-то:

$file = JPATH_SITE."/path/to/file.doc";
$mailer->addAttachment($file);
Для отправки почты средствами CMS Joomla! Вы также можете использовать JMailHelper. Рассмотрим следующий пример:

# Import JMailHelper
jimport('joomla.mail.helper');

$to = JRequest::getVar('to', '', 'post');
$subject = JRequest::getVar('subject', '', 'post');
$body = JRequest::getVar('body', '', 'post');
$from = JRequest::getVar('from', '', 'post');

if (!JMailHelper::isEmailAddress($to) || !JMailHelper::isEmailAddress($from)) :
return false;
endif;

if (!JMailHelper::cleanAddress($to) || !JMailHelper::cleanAddress($from)) :
return false;
endif;

$subject = JMailHelper::cleanSubject($subject);
$body = JMailHelper::cleanText($body);
Такая отправка сообщений является более безопасной благодаря проверке параметров.

Комментарии 

 
0 #6 NUR 04.04.2017 12:09
Извините за глупый вопрос куда именно нужно вставить эти куски кода если можно то по подробнее пожалуста и будет ли работать этот код в Joomla! 2.5.28 Stable
Цитировать
 
 
0 #5 skinny 16.12.2015 21:15
да. Статья хорошая, у меня в закладках. Всё время подсматриваю. Только вот 1 не понял. Как то можно задать имя прикреплённого файла, а то приходится ему генерировать случайное.
Цитировать
 
 
+1 #4 veditor 15.02.2014 10:50
Если вы хотите отправить копии письма другим получателям....
ВОПРОС: куда этот код надо добавить и как это работает
Цитировать
 
 
0 #3 Cerebrum 29.09.2011 11:31
Насколько я понимаю ответ на Ваш вопрос в самом вопросе - Вам необходимо включить Javascript в браузере

Необязательно. Это может быть вызвано конфликтом какого либо расширения с плагином emailcloak или подобным, который маскирует email адреса от спамботов.
попробуй заменить на что-нить другое.
Цитировать
 
 
0 #2 javascript 14.03.2011 17:54
Насколько я понимаю ответ на Ваш вопрос в самом вопросе - Вам необходимо включить Javascript в браузере
Цитировать
 
 
0 #1 Serg 14.03.2011 11:55
Добрый день!
Полезная статья. У меня возникла ошибка, и не могу понять откуда она взялась. Поделитесь пожалуйста мыслями на этот счет :)
Этот адрес e-mail защищен от спам-ботов, Вам необходимо включить Javascript, что бы его увидеть.
Цитировать