PHP: Проверить отправку почты функцией mail

Проверить отправку почты функцией 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;
}



PHP up: 1.2 г. просмотров: 1.4k