Отправить письмо на 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;
}