Отправить письмо на email
1-ый способ: стандартная функция mail()
Письмо на email отправляется через функцию mail()
.
$headers = [ 'From' => '"Name" <noreply@example.ru>', 'Content-Type' => 'text/html; charset=utf-8' ]; mail('username@domain.ru', 'Тема письма', '<p>Сообщение</p>', $headers);
В версии ниже PHP 7.2 заголовки передавались как строка.
$headers = 'From: "Name" <noreply@example.ru>'."\n"; $headers .= 'Content-Type: text/html; charset=utf-8'; mail('username@domain.ru', 'Тема письма', '<p>Сообщение</p>', $headers);
Отправлять письма рекомендуется через стороний почтовой сервис, например, «Яндекс.Почта», т.к. это может избежать попадания писем в спам (отправить письмо через SMTP).
2-ой способ: библиотека PHPMailer
Сначала надо установить библиотеку PHPMailer. Устанавливается библиотека через composer (установку composer можно прочитать на странице установка Yii).
Ссылка на библиотеку: https://github.com/PHPMailer/PHPMailer
composer require phpmailer/phpmailer
Код отправки
require 'vendor/autoload.php'; use PHPMailer\PHPMailer\PHPMailer; use PHPMailer\PHPMailer\Exception; $mail = new PHPMailer(true); try { $mail->CharSet = 'UTF-8'; // Кодировка письма $mail->setFrom('login@yandex.ru', 'Name'); // От кого $mail->addAddress('address@yandex.ru'); // Кому $mail->isHTML(true); // Отправлять как HTML $mail->Subject = 'Тема письма'; $mail->Body = 'HTML-контент письма'; $mail->send(); echo 'Сообщение успешно отправлено'; } catch (Exception $e) { echo 'Ошибка: '.$mail->ErrorInfo; }
Поддержать автора