Проверить отправку почты функцией mail и через SMTP
# mail()
$to = "yourmail@mmail.com";
$subject = "Test - subject";
$message = "Test msg";
$headers = "From: yourmail@mmail.com";
if ( mail( $to, $subject, $message, $headers ) )
{
echo "Письмо отправлено";
}
else
{
echo "Письмо НЕ отправлено";
}
# SMTP
# https://github.com/PHPMailer/PHPMailer
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\SMTP;
use PHPMailer\PHPMailer\Exception;
require 'vendor/autoload.php';
$mail = new PHPMailer(true);
try
{
$mail->SMTPDebug = SMTP::DEBUG_SERVER; # отладка
$mail->isSMTP();
# yandex smtp - https://yandex.ru/support/mail/mail-clients/others.html
# google smtp - https://support.google.com/mail/answer/7126229?hl=ru
$mail->SMTPAuth = true;
$mail->Host = 'ssl://smtp.mail--server.com';
$mail->Port = 587;
$mail->Username = 'company@mail--server.com';
$mail->Password = 'password';
$mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS;
$mail->setFrom('company@mail--server.com', 'Компания'); # от кого
$mail->addAddress('client---1@public--mail.net', 'Иван Петров'); # кому
$mail->addAddress('client---1--reserve@public--mail.net'); # кому
$mail->addReplyTo('company@mail--server.com', 'Служба поддержки'); # адрес для получения ответа
$mail->addCC('manager@mail--server.com'); # копия письма
$mail->addBCC('director@mail--server.com'); # скрытая копия письма
# Прикреплённые файлы
$mail->addAttachment('/var/tmp/docs.tar.gz');
$mail->addAttachment('/tmp/bill.jpg', 'bill.jpg');
# Содержимое
$mail->isHTML(true);
$mail->Subject = 'Тема письма';
$mail->Body = 'Содержимое письма с html';
$mail->AltBody = 'Содержимое письма без html';
$mail->send();
echo "Письмо отправлено";
}
catch (Exception $e)
{
echo "Письмо НЕ отправлено. Mailer Error: ". $mail->ErrorInfo;
}
Комментарии
0Нашли ошибку или хотите дополнить материал?