PHP

PHP класс для отправки E-mail

Возможности:

  • Отправляет письмо в кодировке UTF-8.
  • Письмо отправляется в формате HTML, настроены стили для основных тегов.
  • Позволяет приложить к письму файлы. 
  • Возможность сохранять копию письма на сервере в файле .eml.
  • У получателя можно указать несколько адресов через запятую, на каждый e-mail придет отдельное письмо.

Скачать файл класса с GitHub

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

$mail = new Mail;

// От кого.
$mail->from('EMAIL_ОТПРАВИТЕЛЯ', 'ИМЯ_ОТПРАВИТЕЛЯ');

 // Кому, можно указать несколько адресов через запятую.
$mail->to('EMAIL_ПОЛУЧАТЕЛЯ', 'ИМЯ_ПОЛУЧАТЕЛЯ');

// Тема письма.
$mail->subject = 'Рассылка c сайта';

// Текст.
$mail->body = '
    <h1>Здравствуйте!</h1>
    <p>Мы хотим предложить...</p>
';

// Отправка.
$mail->send();

Отправка письма с файлами 

Путь до файлов должен быть абсолютным.
Общий размер файлов не должен превышать 25 Мб.

$mail = new Mail;
$mail->from('EMAIL_ОТПРАВИТЕЛЯ', 'ИМЯ_ОТПРАВИТЕЛЯ');
$mail->to('EMAIL_ПОЛУЧАТЕЛЯ', 'ИМЯ_ПОЛУЧАТЕЛЯ');
$mail->subject = 'Рассылка c сайта';

// Добавление  файлов к письму.
$mail->addFile(__DIR__ . '/price.xls');
$mail->addFile(__DIR__ . '/logo.png');

$mail->body = '<h1>Здравствуйте!</h1>...';
$mail->send();

Рассылка на адреса из массива

$mail = new Mail;
$mail->from('EMAIL_ОТПРАВИТЕЛЯ', 'ИМЯ_ОТПРАВИТЕЛЯ');
$mail->subject = 'Рассылка c сайта';
$mail->body = '<h1>Здравствуйте!</h1>...';
$mail->addFile(__DIR__ . '/logo.png');

// Отправка писем в цикле.
foreach ($list as $row) {
    $mail->to($row['email'], $row['name']);
    $mail->send();
}

Сохранение копии письма в файле .eml

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

$mail = new Mail;

// Включение дампа и установка директории.
$mail->dump = true;
$mail->dumpPath = __DIR__ . '/sendmail';

$mail->from('EMAIL_ОТПРАВИТЕЛЯ', 'ИМЯ_ОТПРАВИТЕЛЯ');
$mail->to('EMAIL_ПОЛУЧАТЕЛЯ', 'ИМЯ_ПОЛУЧАТЕЛЯ');
$mail->subject = 'Рассылка c сайта';
$mail->body = '<h1>Здравствуйте!</h1>...';
$mail->send();

Пример письма в яндекс почте

include_once('mail.php');

$mail = new Mail;
$mail->from('mail@site.com', 'Site.com');
$mail->to('ivan@site.com', 'Иван Иванов');
$mail->subject = 'Подтверждение заказа с сайта Site.com';
$mail->body = '
    <h1>Здравствуйте Иван Иванов!</h1>
    <p>
        Уважаемый покупатель, заказ принят и ему присвоен номер <strong>1953</strong>.
        <br />Используйте этот номер для уточнения заказа.
        <br />Пожалуйста проверьте информацию ниже и в случае ошибки свяжитесь с нами.
    </p>
    <ul>
        <li><strong>Имя:</strong> Иван Иванов</li>
        <li><strong>E-mail:</strong> ivan@site.com</li>
        <li><strong>Способ доставки:</strong> самовывоз</li>
    </ul>
    <h2>Данные о товарах:</h2>
    <table>
        <thead>
            <tr>
                <th>№</th>
                <th>Наименование товара</th>
                <th>Кол-во</th>
                <th>Цена</th>
                <th>Сумма</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td style="text-align: center;">1</td>
                <td>
                    Настенный газовый котел Buderus Logamax U072-12K 7736900359RU
                    <br>Артикул: 7736900359RU
                </td>
                <td style="text-align: center;">2 шт.</td>
                <td style="text-align: center;">30 0000 руб.</td>
                <td style="text-align: center;">60 0000 руб.</td>
            </tr>
        </tbody>
    </table>
    <h4>ИТОГО: 60 0000 руб.</h4>
    <hr>
    <p>
        С уважением, Site.com
        <br><a href="http://site.com">http://site.com</a>
    </p>
';

$mail->addFile(__DIR__ . '/prods.docx');
$mail->send();
21 декабря 2016
В последнее время письма отправляемые с хостингов через функции mail() и mb_send_mail() часто попадают или совсем не...
cURL PHP – это библиотека предназначенная для получения и передачи данных через такие протоколы, как HTTP, FTP, HTTPS....
В статье приведены основные примеры работы с расширением PHP PDO. Такие как подключение к БД, получение, изменение и...
Библиотека GD дает возможность работать с изображениями в PHP. Далее представлены примеры как изменить размер, вырезать...