Ошибка SMTP Ошибка: данные не принимаются в PHPMailer - PullRequest
0 голосов
/ 30 июня 2019

Я использую PHPMailer около 2 месяцев на своем веб-сайте, чтобы отправить электронное письмо своим пользователям с некоторой информацией о технологиях и чем-то в этом роде. Это электронное письмо отправляется, когда пользователь заходит на сайт и нажимает кнопку «Получить мою газету за месяц». Содержание письма - это просто текст на теле и файл PDF с информацией. Все работало очень хорошо, электронные письма были отправлены без проблем, но сегодня пользователь отправил мне электронное письмо, сообщающее, что он не получил свое электронное письмо, когда он нажимал на кнопку. когда я проверял файл php mailsender, я получил это сообщение об ошибке:

 SMTP Error: data not accepted.

Я использовал $ mail-> SMTPDebug = true, чтобы получить более подробную информацию об ошибках, и я это часть полученного сообщения:

//this is the first part of the message:

2019-06-30 02:29:11 SMTP INBOUND: "235 2.7.0 Authentication successful"
2019-06-30 02:29:11 SERVER -> CLIENT: 235 2.7.0 Authentication successful
2019-06-30 02:29:11 CLIENT -> SERVER: MAIL FROM:<here is the same email of SMTP username>
2019-06-30 02:29:11 SMTP INBOUND: "250 2.1.0 Sender OK"
2019-06-30 02:29:11 SERVER -> CLIENT: 250 2.1.0 Sender OK
2019-06-30 02:29:11 CLIENT -> SERVER: RCPT TO:<here the email of the user>
2019-06-30 02:29:11 SMTP INBOUND: "250 2.1.5 Recipient OK"
2019-06-30 02:29:11 SERVER -> CLIENT: 250 2.1.5 Recipient OK
2019-06-30 02:29:11 CLIENT -> SERVER: DATA
2019-06-30 02:29:10 Connection: opening to smtp.office365.com:587, timeout=20, options=array()
2019-06-30 02:29:10 Connection: opened

//this is the part where show the error:
2019-06-30 02:29:12 SMTP INBOUND: "554 5.2.0 STOREDRV.Submission.Exception:InvalidLicenseException; Failed to process message due to a permanent exception with message Mailbox 'here the mailbox code' doesn't have a valid license. InvalidLicenseException: Mailbox 'here the mailbox code' doesn't have a valid license. [Hostname=here the host code]"
SMTP Error: data not accepted.
SMTP Error: data not accepted.
2019-06-30 02:29:12 CLIENT -> SERVER: QUIT
2019-06-30 02:29:12 SMTP INBOUND: "221 2.0.0 Service closing transmission channel"
2019-06-30 02:29:12 SERVER -> CLIENT: 221 2.0.0 Service closing transmission channel
2019-06-30 02:29:12 Connection: closed

Это мой файл emailsender.php, в котором код для отправки электронной почты:

    use PHPMailer\PHPMailer\PHPMailer;
                use PHPMailer\PHPMailer\Exception;

                /* Exception class. */
                require 'PHPMailer/src/Exception.php'; //PHPMailer

                /* The main PHPMailer class. */
                require 'PHPMailer/src/PHPMailer.php';

                /* SMTP class, needed if you want to use SMTP. */
                require 'PHPMailer/src/SMTP.php';

                $mail = new PHPMailer(TRUE);
                $mail->isSMTP();

                $mail->Host= 'smtp.office365.com';     // (SMTP)
                $mail->SMTPAuth= 'true';
                $mail->Username= 'username email for SMTP'; 
                $mail->Password= 'here the password of SMTP';   
                $mail->SMTPSecure= 'tls';   
                $mail->Port= '587';   
                $mail->SMTPDebug = true;
                $mail->Timeout = 20;

                $emailUsers = trim("usermail@mailserver.com", " ");
                $message = "";

               try {
               /* Set the mail sender. */
               $mail->setFrom("here the same email of USERNAME SMTP", "Admin"); 
               $mail->addAddress($emailUsers); 

               /* Set the subject. */
               $mail->Subject = 'Month Newspaper';

               $mail->isHTML(TRUE);

               /* Set the mail message body. */
               $message = '<html>'.
                                '<head><title>Nivagastro Order Details</title></head>'.
                                '<body><h4 style="color: blue;"> Welcome to your Month Newspaper. UserAddress:  '.utf8_decode('here the address of the user').' UserAuthWord: '.utf8_decode('This is the auth word of user').'!</h4>'.
                                '<hr style="margin-right: 100px;">'.
                                '<span>We will have new surprises for you the next month. More topics and news. Back soon!</span>'.
                                '</body>'.
                                '</html>';

               $mail->Body = $message;
               $mail->MsgHTML = $message;
               $mail->AltBody = $message;

               $mail->AddAttachment("files/NewspaperJun19.pdf"); // attachment
                if(!$mail->send()) 
                {
                    //echo "Mailer Error: " . $mail->ErrorInfo;
                } 
                else 
                {
                    echo "YOUR EMAIL HAS BEEN SEND SUCCESSFULY";
                }

                }
                catch (Exception $e)
                {
                   /* PHPMailer exception. */
                   echo $e->errorMessage();
                }
                catch (\Exception $e)
                {
                   /* PHP exception (note the backslash to select the global namespace Exception class). */
                   echo $e->getMessage();
                }

Есть ли у вас представление о том, почему эта ошибка отображается сейчас, когда она работала до вчерашнего дня? и как я могу это решить?

1 Ответ

0 голосов
/ 30 июня 2019

Посмотрите журнал отладки SMTP:

2019-06-30 02:29:12 SMTP INBOUND: "554 5.2.0 STOREDRV.Submission.Exception:InvalidLicenseException; Failed to process message due to a permanent exception with message Mailbox 'here the mailbox code' doesn't have a valid license. InvalidLicenseException: Mailbox 'here the mailbox code' doesn't have a valid license. [Hostname=here the host code]"

Входящее входящее сообщение "InvalidLicenseException: почтовый ящик" здесь код почтового ящика "не имеет действующей лицензии. [Имя хоста = здесь код хоста]" указывает на основную проблему почтовый ящик пользователя, похоже, не имеет необходимой лицензии.

Отправил ли пользователь, о котором идет речь, электронное письмо с тем же адресом отправителя, который использовался при регистрации на вашем сайте? В этом случае ответ на это письмо может быть интересным тестом - доходит ли он до пользователя или нет ...

...