Проблема с Laravel в PHPMailer

#php #phpmailer

#php #phpmailer

Вопрос:

У меня возникла проблема с использованием класса PHPMailer в laravel, иногда электронное письмо отправляется, и в очень редких случаях оно не отправляется, но после функции $mail-> send() весь остальной скрипт работает нормально, и он даже не выдает никаких ошибок, и я не могу выяснить, что не так. ниже приведен мой код.

  $to_email = '';
        $from_email = 'banca@jubileegeneral.com.pk';
        $mail = new PHPMailer();
        try {
            $mail->SMTPOptions = array(
                'ssl'  => array(
                       'verify_peer' => false,
                       'verify_peer_name' => false,
                       'allow_self_signed' => true
                               )
            );
            //Server settings
            $mail->SMTPDebug = 1;                      // Enable verbose debug output
            $mail->isSMTP();                                            // Send using SMTP
            $mail->Host       = 'smtp.something.com.pk';                    // Set the SMTP server 
            $mail->SMTPAuth   = true;                                   // Enable SMTP authentication
            $mail->Username   = 'something@gmail.com';                     // SMTP username
            $mail->Password   = 'xyz';                               // SMTP password
            $mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS;  
            $mail->Port       = 25;                                     // TCP port to connect to
            //Recipients
            $mail->setFrom($from_email, 'TESTING');
            $mail->addAddress(Auth::user()->email);
            $mail->addBCC('something@abc.com.pk');
            $mail->isHTML(true);     
            $mail->Subject = 'XYZ ';
            $mail->Body    = 'Hey';
            $mail->AltBody = '';
            $mail->send();
 

Комментарии:

1. Если иногда письма могут быть отправлены, но иногда это не удается, тогда я предлагаю вам проверить, применяют ли получатели очень строгую, ограничительную политику спама в случаях сбоев исходящей почты.

2. Неудивительно, что вы не видите, что что-то идет не так, потому что у вас нет обработки ошибок, вы не проверяете возвращаемые значения, а ваш уровень отладки недостаточно высок, чтобы показать вам, что говорит сервер. Установите $mail->SMTPDebug = 2; , но также посмотрите на любой из примеров, предоставляемых с PHPMailer, чтобы узнать, как обрабатывать сообщения об ошибках, включать исключения и т. Д.

3. Просто любопытно, почему вы используете PHPMailer вместо встроенных почтовых функций ?