带有rails3的邮件中的图像附件

时间:2012-07-31 07:28:53

标签: ruby-on-rails ruby actionmailer

这里我需要用邮件附上一张图片,像这样的传递图像

**imageurl** = "https://chart.googleapis.com/chart?chs=200x200&cht=qr&chl=%22hai%22&choe=UTF-8"

class UserMailer < ActionMailer::Base
 default :from => "mail@example.com"

 def welcome_email(**imageurl**,bname,mailid)
  **attachments['image.png'] = File.read(imageURL)**
  mail(:to => mailid,
  :subject => "Code for "+bname+"",
  :body => "code for bname" )
  end
 end
end

这里我有一些附件错误。这个附件有变化吗?

感谢

2 个答案:

答案 0 :(得分:2)

我认为你有一个URL,即File.read无法读取的字符串。

require 'open-uri'
class UserMailer < ActionMailer::Base
  def welcome_email(image_url,bname,mailid)
    attachments['image.png'] = open(URI.parse(image_url))
    ...
  end
end

以上应该是我认为的伎俩。

答案 1 :(得分:0)

require 'open-uri'
class UserMailer < ActionMailer::Base
  def welcome_email(image_url,bname,mailid)
    mail.attachments[image.png] = { :mime_type => type*, :content => open(URI.parse(image_url)}
    ...
  end
end

其中type *是你的案例中附件的类型('image / png')