I need to send batch emails, and every mail have unique message. I am trying foreach loop, but I keep getting Allowed memory size of 104857600 bytes exhausted (tried to allocate 66 bytes) error. Is it possible to perform foreach with swiftmailer, or there is some other way (message contains unique token). Code:
$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;
Sending emails:
static function oldUsers($userEmail, $token)
{
Yii::$app->mailer->compose('_oldUsers', ['token' => $token])
->setFrom('no-reply@sketchlist.com')
->setTo($userEmail)
->setBcc(['vlad@sketchlist.com'])
->setSubject('Sketchlist Account Activation')
->send();
}