diff --git a/app/mailers/concerns/email_delivery.rb b/app/mailers/concerns/email_delivery.rb index c9c79ecd9..01aa97035 100644 --- a/app/mailers/concerns/email_delivery.rb +++ b/app/mailers/concerns/email_delivery.rb @@ -11,7 +11,7 @@ def log_sent_email MemberEmailDelivery.create!( member: member, subject: mail.subject, - body: mail.body.to_s, + body: mail.html_part ? mail.html_part.body.to_s : mail.body.to_s, to: Array(mail.to), cc: Array(mail.cc), bcc: Array(mail.bcc) diff --git a/spec/mailers/member_mailer_spec.rb b/spec/mailers/member_mailer_spec.rb index f4ace5b85..fe71c319e 100644 --- a/spec/mailers/member_mailer_spec.rb +++ b/spec/mailers/member_mailer_spec.rb @@ -182,6 +182,10 @@ expect(log.member).to eq(member) expect(log.subject).to eq('It’s been a while, how are you doing? ♥️') expect(log.to).to eq([member.email]) + # premailer-rails converts the message to multipart/alternative during + # delivery, so the logged body must come from the html part + expect(log.body).to be_present + expect(log.body).to include('codebar workshop') end end end