I’m attempting to generate emails with inline attachments. I’m using
Action Mailer 4.1.6 and the attachment.inline method, but for some
reason all of my attachments are coming through as regular downloadable
attachments, not as inline attachments. Here’s the relevant code:
In emails_mailer.rb:
def send_email(email)
attachments.inline[‘receipt.jpg’] = {:data =>
File.read(“public/items/receipt.jpg”).force_encoding(“BINARY”),
:mime_type => “image/jpg”}
mail(to: email.recipient, subject: “Email sent on #{Date.today}”,
body: email.body)
end
Still, the email always comes through as a downloadable image. I’m
using Rails 4.1.6.
Any advice or pointers in the right direction?
I notice that you’re not setting the encoding to base64 as suggested in
the first link you posted.
Also, have you examined the actual email raw source as delivered? Even
after get the image properly encoded inline, it’s up to the email client
whether or not it decides to actually display it inline.
Still, the email always comes through as a downloadable image. I’m
using Rails 4.1.6.
Any advice or pointers in the right direction?
I notice that you’re not setting the encoding to base64 as suggested in
the first link you posted.
Also, have you examined the actual email raw source as delivered? Even
after get the image properly encoded inline, it’s up to the email client
whether or not it decides to actually display it inline.
Good advice. I removed the base64 encoding because the image wasn’t
showing up at all.
I actually discovered the problem shortly after posting this: in
send_email, I am setting body: email.body. So the view will never
render.
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.