Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Как отправить письмо

Короткий ответ

Встроенная функция mail() отправляет письмо через почтовую программу сервера:

<?php
 
// send.php
 
$sent = mail('anna@example.com', 'Welcome', 'Thank you for signing up.', [
    'From' => 'site@example.com',
    'Content-Type' => 'text/plain; charset=utf-8',
]);
 
echo $sent ? 'Sent' : 'Failed';

Через SMTP

Письма от mail() часто попадают в спам. Надёжнее отправлять через SMTP библиотекой PHPMailer (composer require phpmailer/phpmailer):

<?php
 
// send.php
 
require 'vendor/autoload.php';
 
$mail = new PHPMailer\PHPMailer\PHPMailer(true);
 
$mail->isSMTP();
$mail->Host = 'smtp.example.com';
$mail->Port = 587;
$mail->SMTPAuth = true;
$mail->Username = getenv('MAIL_USER');
$mail->Password = getenv('MAIL_PASSWORD');
$mail->CharSet = 'UTF-8';
 
$mail->setFrom('site@example.com', 'Site');
$mail->addAddress('anna@example.com');
$mail->Subject = 'Welcome';
$mail->Body = 'Thank you for signing up.';
 
$mail->send();

Функции из этого ответа

  • mail — Отправляет письмо через почтовую программу сервера.
  • filter_var — Проверяет или очищает значение по заданному правилу.
  • error_log — Записывает сообщение в журнал ошибок.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.