我需要發送批量電子郵件,並且每封郵件都有唯一的消息。我正在嘗試foreach循環,但我不斷收到允許內存大小104857600字節用盡(試圖分配66字節)錯誤。 是否有可能使用swiftmailer執行foreach,或者有其他方法(消息包含唯一標記)。代碼: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();
}
有幾件事情y你可能會這樣做來產生這個錯誤。 也許你在創建大量的收件人時耗盡了內存。 ?嘗試一次只收到一封電子郵件,而不是嘗試一次所有電子郵件? – izk