Для массовой рассылки вам обязательно нужно отправить ее через службу (мы используем Postbox, SendGrid - еще один вариант).В дополнение к нагрузке на серверы, сервис также, вероятно, будет лучше подходить для отскоков, блокировщиков спама и т. Д., И, вероятно, будет предлагать дополнительные преимущества, такие как отслеживание.
Использует ли большинство людейотложенные задания даже для писем с одним получателем (т.е. подтверждение регистрации пользователя)?
Для писем с одним пользователем я бы пошел с прямыми электронными письмами в контроллере.
Является ли мой код наиболее эффективным способом массовой рассылки?
Вы не хотели бы, чтобы действие контроллера управляло постановкой в очередь задач, поскольку это повлияетотзывчивость ваших сайтов.Используйте задание cron и задание rake, чтобы сделать это в фоновом режиме.
Если, например, есть 1000 пользователей.Имеет ли это большое значение в ресурсах (например, пропускная способность, процессор и т. Д.), Если я отправляю всем одно и то же письмо с BCC.Если это так, я просто передаю хэш почтовой программе (т. Е. Удаляю for ... each и меняю параметр opt_in_user на @opt_in_users) и меняю получателя на bcc?
Я думаю, что BCCштраф за использование ресурсов, но ваш сервер будет подвержен любым скачкам, и это дополнительный сервис для управления, поэтому я бы пошел с сервисом, как упоминалось ранее
Кстати, для #each vsдля ... каждого вопроса стоимость итератора будет настолько низкой, что об ИМО не стоит думать.