Возможности:
- Отправляет письмо в кодировке UTF-8.
- Письмо отправляется в формате HTML, настроены стили для основных тегов.
- Позволяет приложить к письму файлы.
- Возможность сохранять копию письма на сервере в файле .eml.
- У получателя можно указать несколько адресов через запятую, на каждый e-mail придет отдельное письмо.
$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();
}
В классе реализована функция дампа отправленных писем. В данном примере файлы сохраняются в директорию /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();