Ошибка SERVER -> CLIENT: 452 4.5.3: слишком много получателей

#php #email #client-server #phpmailer #contact-form

#php #Адрес электронной почты #клиент-сервер #phpmailer #контактная форма

Вопрос:

Уважаемые убийцы гоблинов (разработчики), я пытался решить эту проблему в течение двух дней.. Я пытаюсь создать почтовую программу для маркетинговых целей для компании, основанной на PHP mailer, мой код работал нормально, когда мы отправляли HTML-файл 6-8 (более или менее) получателям, но когда мы пытались отправить HTML-файл более чем ста получателям через мой локальный хост, я получаю следующую ошибку:

 2021-03-12 14:10:30 SMTP INBOUND: "452 4.5.3 Error: too many recipients"
2021-03-12 14:10:30 SERVER -> CLIENT: 452 4.5.3 Error: too many recipients
 

Мой код следующий :

 <?php

use PHPMailerPHPMailerPHPMailer;
use PHPMailerPHPMailerSMTP;
use PHPMailerPHPMailerException;

require_once 'folder/dbh.inc.php';
include 'folder/index.inc.php';

$content = file_get_contents('body_file.html');

// An array that contains the List of recipients

$emailst = array("100-500 recipients");

$emailst_length = count($emailst) - 1;

//Load Composer's autoloader
require 'vendor/autoload.php';


//Instantiation and passing `true` enables exceptions
$mail = new PHPMailer(true);

try {
    
    require 'folder/credentials.inc.php';


    //Recipients
    $mail->setFrom('emailOfTheCompany.com', 'company name');
    $mail->addAddress('another email of the company', 'company name');
    
    for ($i=0; $i <= $emailst_length; $i  ) { 
        $mail->addBCC($emailst[$i]);
    }

//Content
    $mail->isHTML(true);                                  //Set email format to HTML
    $mail->CharSet = 'utf-8';
    $mail->Subject = 'Welcome To Subject';
    $mail->Body    = $content;
    //$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}";
}

?>
 

Ответ №1:

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

Самый простой способ предотвратить эту ошибку — создать списки рассылки с разумным количеством адресов электронной почты. По возможности менее 25 получателей, хотя ваш сервер может разрешить от 50 до 75 получателей в каждом списке.

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

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

1. Спасибо, я учитываю ваш комментарий.

2. Я думаю, что теперь я должен обойти проблему и найти способ минимизировать список получателей до 25 получателей при каждой операции отправки, пока каждый получатель в нашей базе данных не получит электронное письмо, чтобы убедить сервер в том, что наш список не слишком большой.. Возможно, условный цикл будет работать нормально

3. Точно! Хорошая идея. Не стесняйтесь принять мой ответ, если это помогло.