Если получателей "ограниченное" количество - 3, 5 или 10, то можно и в цикле, а если их сотни - то лучше задействовать крон, а задание добавлять через, например,
https://github.com/yiisoft/yii2-queue. Таким образом админ создает лэйаут письма, дату и прочие настройки, нажимает кнопку - задание попадает в очередь, и дальше уже отрабатывает в фоне.
Yii::$app->queue->delay(5 * 60)->push(new MassSendMailJob([
'emails' => Clients::findAll(['notify_me' => true]),
'text' => $text,
]));