Search by

aleksandr.ru / multipart-email

aleksandr.ru

Multipart email sender

Package info

github.com/Aleksandr-ru/MultipartEmail

pkg:composer/aleksandr.ru/multipart-email

Statistics

Installs: 4 038

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

1.1.5 2026-10-22 10:07 UTC

This package is auto-updated.

Last update: 2026-10-22 10:15:30 UTC


README

A simple class to send email with attachments via PHP. Features:

  • Send UTF8 email with base64 encoded all parts
  • Send email with HTML and text parts (alternative)
  • Send email with attachments (multipart)
  • Send HTML email with images (embed, multipart related)

Emails is sent by built-in mail() function, no direct connection to SMTP server required. Class uses any input charset: UTF8 (default), Windows-1251 etc.

See example below.

Also available via composer:

composer require aleksandr.ru/multipart-email

MultipartEmail (ru)

Максимально простой класс для отправки почты с вложениями на PHP. Возможности:

  • Отправка почты в UTF8 с кодированием в base64 всех частей сообщения
  • Отправка почты с HTML и текстовой частями (alternative)
  • Отправка почты со вложенными файлами (multipart)
  • Отправка HTML со встроенными изображениями (embed, multipart related)

Отправка осуществляется функцией mail(), а не прямым соединением с SMTP сервером. Класс работает с любой кодировкой входных данных: UTF-8 (по-умолчанию), Windows-1251 и т.д.

Пример использования:

<?php   
$email = new MultipartEmail();
$email->setFrom("Me <me@localhost.ru>");
$email->setSubject("Поздравляем с отправкой почты!");
$email->setTo("Адресат <some@one.ru>, Другой адресат <else@some.one>");
$email->setText("Дорогие товарищи! ...");
$email->setHtml("<h1>Дорогие товарищи!</h1> <img src=\"image.jpg\"> ...");
$email->addAttachement('/path/to/file.jpg', 'image/jpeg', 'image.jpg', false, true);
$email->send();

Проверка из консоли

php send-test.php sender@example.com recipient@example.com
php send-test.php sender@example.com recipient@example.com false

Первый аргумент — адрес отправителя, второй — адрес получателя. Необязательный третий аргумент true или false задаёт setLfForTransport(); без него используется значение библиотеки по умолчанию (true, переносы LF). Значение false включает CRLF. Скрипт отправляет тестовое HTML-письмо с текстом Lorem ipsum и текстовой альтернативой через библиотеку. Для отправки должна быть настроена функция PHP mail(). Код выхода — 0 при успешной передаче письма почтовой системе, 1 при ошибке. Успешная передача не гарантирует доставку получателю.