Ответ Тедди хорош, за исключением того, что если вы хотите, чтобы каждое сообщение имело другой идентификатор, вам нужно сделать лямбду по умолчанию.В первом блоке кода в своем ответе он вычисляет идентификатор сообщения один раз, при инициализации, и использует один и тот же для каждого сообщения.
Вот как я делаю это в своем приложении:
default "Message-ID" => lambda {"<#{SecureRandom.uuid}@#{Rails.application.config.mailgun_domain}>"}
... с доменом, взятым из пользовательской переменной конфигурации приложения (и с использованием SecureRandom.uuid, который немного более прост, чем SHA-2 на основе временной метки IMO.)