В идеале у тебя должно быть несколько джобов: 1 например выбирает данные из БД и подготавливает данные к рассылке(составляет письма, темы, рандомизацию и т.д) и добавляет все в 1 объект,далее закидывает этот объект в другой джоб, который непосредственно занимается рассылкой(подлкючается к API сервиса и выполняет запрос). И да, как сказали уже база данных для этого не подходит, используй кролика. Джоб который готовит данные 1, который рассылает, может работать во много потоков, сюда же можно джобавить еще один джоб, который будет заниматься обновлением статистики рассылки. Ну и как уже сказали выше, нужна апишка, так как без прогрева сервак не отправит такой объем, + на многих закрыты 25 порты + будет копиться очередь и появятся вопросы легальности твоей базы. Ну и через сервис они тоже могут появиться