Мне нужно отправить пакетные письма, и каждая почта имеет уникальное сообщение. Я пытаюсь использовать цикл foreach, но я продолжаю получать Допустимый размер памяти 104857600 байт исчерпан (пытался выделить 66 байт) Ошибка. Можно ли выполнить foreach с swiftmailer, или есть другой способ (сообщение содержит уникальный токен). Код:Yii2 swiftmailer - foreach отправка почты (пакет)
$users = Users::find()->where(['email' => $emails])->all();
foreach($users as $user):
$user->scenario = 'saveToken';
$token = hash('sha256',microtime() . Yii::$app->security->generateRandomString(32));
$user->token = $token;
$user->save();
Email::oldUsers($user->email, $token);
endforeach;
Отправка сообщения электронной почты:
static function oldUsers($userEmail, $token)
{
Yii::$app->mailer->compose('_oldUsers', ['token' => $token])
->setFrom('[email protected]')
->setTo($userEmail)
->setBcc(['[email protected]'])
->setSubject('Sketchlist Account Activation')
->send();
}
Есть несколько вещей, ou может сделать, чтобы произвести эту ошибку. Возможно, вы исчерпываете память при создании большого массива получателей. ? Попробуйте получить одно электронное письмо за раз, а не все письма в 1 попытке? – izk