我是 Ruby on Rails 的新手。我有一个使用 Ruby 版本 2.6.5 的项目。这个项目有一个使用 imagemagick 的图片帖子。当我创建一个新帖子时,目前我可以将帖子发送到我的电子邮件,但没有帖子的图片。
如何处理带有图片帖子的附加电子邮件?
我做了什么:-
class NotifierMailer < ApplicationMailer
default from: ENV['ADMIN_MAIL']
layout 'mailer'
def new_post(post)
@post = post
mail(to: @post.email,
bcc: ENV['ADMIN_MAIL'],
subject: " New Post.")
end
end
答案 0 :(得分:0)
因此,是否使用 ImageMagick 无关紧要。解决这个问题的方法是 做这样的事情:
def new_post(post, file_path)
@post = post
# You can add multiple attachments in a loop, just ensure the file names are uniq
attachments[File.basename(file_path)] = File.read(file_path)
mail(to: @post.email,
bcc: ENV['ADMIN_MAIL'],
subject: " New Post.")
end
这里的关键是文件需要在本地可用,应该是这样,因为这是一个新帖子。如果不是,您需要先将文件下载到临时文件,否则您将没有本地文件路径可供读取。