我正在尝试获取要在电子邮件中显示的 QR 码图像。我曾尝试在 SO 应用类似问题的解决方案,但无法使它们的任何变体起作用。我不想从网站上下载它。
在我的 user_mailer.rb 中:
def email_qrcode(from_whom, to_addy)
@from_whom = from_whom
@to_addy = to_addy
attachments["qrcode.png"] = File.read(Rails.root + "public/images/qrcode.png")
mail( :to => to_addy, :from => @from_whom.email, :subject => "QR Code" )
end
在我的 email_qrcode.html.erb 中:
<body>
<p>Here is the QR Code:</p>
<p><img src="cid:qrcode.png"></p>
</body>
显示的电子邮件内容:
Here is the QR Code: (followed by the little blue question mark indicating no image)
它也作为附件包含在内,但必须双击它才能打开它,这会破坏便利因素。
谢谢你的帮助。
更新:
良好的营销是为了消除所有障碍,使潜在客户更容易。无需查找并单击另一个链接即可显示 QR 码的次数越多,结果就越好。所以,要明确...
- 附件在那里。在某些电子邮件客户端 Web 邮件服务器中,它甚至会显示为电子邮件下方的附件。但是,许多(也许大多数……不确定)电子邮件客户端和网络邮件服务器不会显示附件,除非您单击它们以打开它们……再次单击(障碍)。
- 此外,许多客户端和网络邮件服务器会阻止图像的下载和显示,而无需单击链接以批准图像的显示。但是,其中许多客户端和服务器不会阻止嵌入在电子邮件中的图像。换句话说,放入下载图像的链接会增加显示被阻止的可能性,需要点击(潜在客户的障碍)才能打开图像。
另一个更新:解决方案
user_mailer.rb:
attachments.inline["qrcode"] = {
:data => File.read("#{Rails.root.to_s + '/public/images/qrcode.png'}"),
:mime_type => "image/png",
:encoding => "base64"
}
email_qrcode.html.erb:
<%= image_tag( attachments['qrcode'].url, :id => 'qrcode' ) %>