• Как переехать с стандартной mail() на phpmailer?

    @deadokmagadan Автор вопроса
    Stalker_RED, mail(..) стандартная функция php, вот она перестала работать. Хостер посоветовал использовать phpmailer - это отдельный класс для php, там есть функция авторизации через smtp.

    И вот такой код, например, работает:
    <?php
    use PHPMailer\PHPMailer\PHPMailer;
    use PHPMailer\PHPMailer\Exception;
    
    require 'Exception.php';
    require 'PHPMailer.php';
    require 'SMTP.php';
    
    $mail = new PHPMailer(true);                              // Passing `true` enables exceptions
    try {
        //Server settings
        $mail->SMTPDebug = 3;                                 // Enable verbose debug output
        $mail->isSMTP();                                      // Set mailer to use SMTP
        $mail->Host = 'mail.site.com';
        $mail->Port = 465;                                    // TCP port to connect to	// Specify main and backup SMTP servers
        $mail->SMTPAuth = true;                               // Enable SMTP authentication
        $mail->Username = 'admin@site.com';                 // SMTP username
        $mail->Password = 'PaSSword';                           // SMTP password
        $mail->SMTPSecure = 'ssl'; 
    $mail->SMTPOptions = array(
        'ssl' => array(
            'verify_peer' => false,
            'verify_peer_name' => false,
            'allow_self_signed' => true
        )
    );	// Enable TLS encryption, `ssl` also accepted
    
    
        //Recipients
        $mail->setFrom('admin@site.com', 'magboom');
        $mail->addAddress('poluchatel@mail.ru', 'Joe User');     // Add a recipient
        $mail->addAddress('poluchatel_2@mail.ru');               // Name is optional
       $mail->addReplyTo('admin@.site.com', 'отправитель');
    //    $mail->addCC('cc@example.com');
     //   $mail->addBCC('bcc@example.com');
    
        //Attachments
    //    $mail->addAttachment('/var/tmp/file.tar.gz');         // Add attachments
     //   $mail->addAttachment('/tmp/image.jpg', 'new.jpg');    // Optional name
    
        //Content
        $mail->isHTML(true);                                  // Set email format to HTML
        $mail->Subject = 'Here is the subject';
        $mail->Body    = 'This is the HTML message body <b>in bold!</b>';
        $mail->AltBody = 'This is the body in plain text for non-HTML mail clients';
    
        $mail->send();
        echo 'Message has been sent';
    } catch (Exception $e) {
        echo 'Message could not be sent. Mailer Error: ', $mail->ErrorInfo;
    }


    Это код из примеров работы класса. Мне нужна помощь в его адаптации под мой код на сайте.
  • Как переехать с стандартной mail() на phpmailer?

    @deadokmagadan Автор вопроса
    Логи
    2018-11-02 03:27:49 [6020] 1gINJV-0001Yz-0W ** magboom@mail.ru F= P= R=dnslookup T=remote_smtp H=mxs.mail.ru [94.100.180.31]:25 I=[188.127.230.15]:54982 X=TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256 CV=yes DN="/C=RU/L=Moscow/O=LLC Mail.Ru/OU=IT/CN=*.mail.ru": SMTP error from remote mail server after end of data: 550 spam message rejected. Please visit help.mail.ru/notspam-support/id?c=zud_nAPuChnqb-Al... or report details to abuse@corp.mail.ru. Error code: 9C7FE7CE190AEE0325E06FEAF235704BE97583F86F3224B26923942233A924D557583EF174659870. ID: 0000000600001B942FDA6C5B.

    2018-11-02 03:55:53 [14182] 1gINke-0003gV-Uk ** magboom@mail.ru F= P= R=dnslookup T=remote_smtp H=mxs.mail.ru [94.100.180.104]:25 I=[188.127.230.15]:52374 X=TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256 CV=yes DN="/C=RU/L=Moscow/O=LLC Mail.Ru/OU=IT/CN=*.mail.ru": SMTP error from remote mail server after end of data: 550 5.7.1 This message was not accepted due to domain (mail.shared-22.smartape.ru) owner DMARC policy (RFC 7489) https://help.mail.ru/mail-help/postmaster/dmarc


    Просто mail.ru отклоняет приём письма, по smtp c phpmailer работает.