Sends an email notification. Emails will always be sent with deliver_later
deliver_by :email, mailer: "UserMailer"
-
mailer- RequiredThe mailer that should send the email
-
method: :invoice_paid- OptionalUsed to customize the method on the mailer that is called
-
format: :format_for_email- OptionalUse a custom method to define the params sent to the mailer.
recipientwill be merged into the params. -
enqueue: false- OptionalUse
deliver_laterto queue email delivery with ActiveJob. This isfalseby default as each delivery method is already a separate job.
Use YourMailer.with({ recipient: user }).mailer_method_name to set up a ActionMailer::Preview. And you can pass any number of params into the Hash but you will need the recipient key.
# test/mailers/previews/comment_mailer_preview.rb
class CommentMailerPreview < ActionMailer::Preview
def mailer_method_name
CommentMailer.with({ recipient: User.first }).mailer_method_name
end
end