Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. PHP

Отправить электронную почту в PHP, с использованием Swift Mailer

by
Difficulty:BeginnerLength:ShortLanguages:

Russian (Pусский) translation by Dima (you can also view the original English article)

В этой статье мы рассмотрим библиотеку Swift Mailer, которая позволяет отправлять электронные письма из приложений PHP. Начиная с установки и настройки, мы рассмотрим реальный пример использования, который демонстрирует различные аспекты отправки писем с использованием библиотеки Swift Mailer.

Что такое Swift Mailer?

Когда дело доходит до отправки писем в приложениях PHP, у вас есть множество вариантов на выбор. Возможно, вы даже создадите собственную оболочку, чтобы быстро настроить функции электронной почты. Тем не менее, вам повезло, если вы используете хорошую и многофункциональную библиотеку.

Swift Mailer - популярная библиотека для отправки электронных писем из приложений PHP, и она широко известна сообществу PHP. Это многофункциональная библиотека в том смысле, что она охватывает почти все аспекты отправки электронных писем, от настройки разных транспортов до настройки отправляемого сообщения.

Фактически, это простой процесс отправки электронной почты с использованием библиотеки Swift Mailer.

  1. Инициализируйте объект Transport (SMTP / Sendmail).
  2. Инициализируйте объект Mailer с помощью Transport.
  3. Инициализировать объект сообщения.
  4. Отформатируйте и отправьте сообщение.

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

Установка и настройка

В этом разделе мы рассмотрим установку и настройку библиотеки Swift Mailer. Установка довольно проста, поскольку она уже доступна в виде пакета Composer. Прежде чем идти дальше, убедитесь, что вы установили Composer, потому что нам понадобится установить библиотеку Swift Mailer.

После того, как вы установили Composer, перейдите и возьмите библиотеку Swift Mailer, используя следующую команду.

При этом должна быть установлена ​​библиотека Swift Mailer вместе с необходимыми зависимостями в каталоге поставщика. И содержимое созданного composer.json должно выглядеть так:

Итак, это часть установки, но как вы должны ее использовать? Фактически, это всего лишь вопрос о том, как файл autoload.php, созданный Composer в вашем приложении, показан в следующем фрагменте.

Как отправить письма

В предыдущем разделе мы рассмотрели, как установить библиотеку Swift Mailer с помощью Composer. В этом разделе мы приступим к реализации реального примера.

Идем дальше и создаем файл email.php со следующим содержимым.

Давайте рассмотрим, как работает этот код.

Инициализировать Swift Mailer

Библиотека Swift Mailer поддерживает различные транспорты, такие как SMTP и Sendmail, при отправке электронной почты. Итак, первое, что вам нужно сделать, это инициализировать transport объект.

В приведенном выше примере я использовал транспорт SMTP для отправки писем.

Конечно, если вы хотите использовать протокол Sendmail, вам нужно будет инициализировать соответствующий объект Swift_SendmailTransport.

После создания транспорта нам необходимо инициализировать объект почтовой программы и передать уже созданный транспорт.

Создать сообщение

После создания объектов транспорта и почтовой программы остается только создать экземпляр объекта Swift_Message и украсить его необходимыми атрибутами.

Теперь мы будем использовать объект $message для подготовки содержимого нашего сообщения. Для начала метод setSubject позволяет задать тему письма.

Метод setFrom используется для установки адреса "From" электронной почты.

Двигаясь вперед, давайте установим адрес «Кому» по электронной почте. Фактически, существует несколько вариантов настройки получателей электронной почты. Если вы хотите установить одного получателя, вы можете использовать метод addTo, а метод setTo, с другой стороны, используется для установки нескольких получателей.

Методы addCc и addBcc используются для установки адресов CC и BCC адреса электронной почты соответственно.

Присоединение файлов

Затем давайте посмотрим, как вы можете прикреплять файл к электронному письму.

Сначала необходимо создать экземпляр объекта Swift_Attachment с допустимым именем файла. После создания объекта вложения вы можете добавить его в электронное письмо с помощью метода attach. Кроме того, вы можете использовать метод setFilename, если хотите изменить имя файла, которое будет отображаться в приложении вложения.

Наряду с обычными файловыми вложениями иногда вы хотите вставлять изображения в текст сообщения. Вы можете сделать это, используя метод embed, как показано в следующем фрагменте. Метод embed возвращает уникальный идентификатор внедренного объекта, который вы можете использовать позже в сообщении, ссылаясь на изображение с помощью свойства src.

Тело сообщения

Затем добавим тело электронной почты с помощью метода setBody.

Если вы хотите установить HTML-версию сообщения, вы можете использовать метод addPart, как показано в следующем фрагменте. Как вы можете видеть, мы используем $cid для ссылки на ранее встроенный образ.

Отправить сообщение!

Наконец, мы будем использовать send метод объекта Mailer для отправки электронной почты.

Попробуйте запустить скрипт, и вы должны получить электронное письмо! Сообщите мне в разделе комментариев, если у вас возникнут какие-либо проблемы.

Заключение

Сегодня мы рассмотрели одну из самых популярных библиотек PHP для отправки электронных писем: Swift Mailer. С помощью этой библиотеки вы можете легко отправлять письма со своих PHP-скриптов.

Не стесняйтесь публиковать свои мысли и пожелания ниже.

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.