Joomla 1

У цій замітці розказано про те, як відправляти пошту, використовуючи механізми надані Joomla 1.5 (клас JMail). З коду розробляється вами компонента.

Отримуємо екземпляр об'єкта mail

Об'єкт пошти в Joomla 1.5 представляє клас JMail. який по суті являє собою обгортку для класів PHPMailer - а. Тобто по суті ми будемо використовувати PHPMailer але Joomla - функціями. Клас JMail, як і багато інших - реалізований за допомогою паттерна Singleton і що б отримати примірник його об'єкта нам потрібно звернутися до глобальної Joomla - фабриці таким чином:

Установка відправника.

Установка одержувача.

Якщо у вашого листа кілька одержувачів, то функції JMail :: addRecipient ($ recipient) потрібно передати як параметр і індексний масив з іменами одержувачів:

готуємо пошту

Тепер необхідно створити тему і тіло листа. Тема листа задається за допомогою методу

JMail :: addRecipient (/ * string * / $ subject).

Найпростіший спосіб створення тексту повідомлення електронної пошти - це створити його у вигляді простого тексту. Що б додати в повідомлення текст листа - використовуйте функцію:

Так само можна прикріпити файл за допомогою методу:

JMail :: addAttachment (/ * mixed * / $ filename)

Він приймає один параметр - це або рядок - ім'я файлу, або масив рядків - імен файлів.

Якщо вам потрібно відправити лист в форматі HTML. то це дуже просто. Потрібно просто повідомити про це системі за допомогою методу:

При відправці повідомлення HTML потрібно встановити назву кодування як base64. щоб уникнути небажаних символів в даних. Установка теми і вкладення - робляться так само, як зазначено вище, за винятком зображень застосовуються в HTML - коді листи - їх потрібно прикріплювати тдельно за допомогою методу:

Ось опис інтефейс цього методу:

А ось так його можна застосувати:

Як правило так не надходять, а роблять наступним чином: в HTML - коді листи просто звертаються до зображень, розташованому на вашому сервері, вказуючи в тезі img відповідний атрибут src, щоб зменшити розмір листа і час відправки.

Відправка пошти.

Він повертає логичеких true разі успіху, або об'єкт JError в іншому випадку.

Приклад використання об'єкта JMail можна подивитися ще в менеджері контактів Joomla. Дивіться файл joomla / components / com_contact / controller.php

Ось і все по роботі з поштою. оригінал статті

Схожі статті