class ActionMailer::MailDeliveryJob
def perform(mailer, mail_method, delivery_method, args:, kwargs: nil, params: nil)
def perform(mailer, mail_method, delivery_method, args:, kwargs: nil, params: nil) mailer_class = params ? mailer.constantize.with(params) : mailer.constantize message = if kwargs mailer_class.public_send(mail_method, *args, **kwargs) else mailer_class.public_send(mail_method, *args) end message.send(delivery_method) end