我有一个 Ruby on Rails 7 应用程序,在我的 localhost:3000 上本地运行。我可以发送电子邮件,但我还想在电子邮件内包含徽标图像,内联,不可下载的附件。这是代码:
class XYZMailer < ApplicationMailer
def create_xyz_email(first, second)
@first = first
@second= second
attachments.inline['logo.png'] = File.read(Rails.root.join('app', 'assets', 'images', 'logo.png'))
mail(to: @second.user.email, subject: "New XYZ #{@first.title} for you")
end
end
我在 html 视图中尝试了不同的选项,但没有一个有效:
<%= image_tag attachments['logo.png'].url, alt: "logo", style: "text-align: center; max-width: 96px;" %>
<img src="cid:logo.png" alt="logo" style="text-align: center; max-width: 96px;">
<%= image_tag attachments['logo.png'].url %>
<img src="cid:logo.png" alt="XYZ Logo" style="text-align: center; max-width: 96px;">
<img src="data:image/png;base64,YourBase64EncodedImageHere" alt="logo" style="text-align: center; max-width: 96px;">
<img src="data:image/png;base64,<%= Base64.encode64(File.read('app/assets/images/logo.png')).gsub("\n", '') %>" alt="XYZLogo">
知道我应该做什么才能使图像在电子邮件中可见吗?
我想你已经很接近了。
对于我的项目来说,
<img src="cid:'logo.png'" ...>
有效。请注意单引号。