по нормальному, лист должен жить в базе,
у каждого мыла статус меняется по факту как настроите (ухода письма, команды на отправку, истечения времени)
и mailwizz и interspire имеют API/SDK , значит прогер может настроить отправку на основе любых данных
дальше обычная логика
время = мин/мах( триггер, время закрытия предыдущего), если время меньше/больше 1 с = выполнить (шаг1/шаг2/шаг3)
т.е. оперирование данными (мейлами и статусами) - отдельно, отправка - отдельно.