0

我有 ActionMailer 工作并发送普通电子邮件。但是当我尝试附加文件时,我得到:#<Encoding::UndefinedConversionError: "\xFF" from ASCII-8BIT to UTF-8> - nil

我这样做的片段是:

mail(subject: "test test",
         from: "o@myemail.com",
         to: ["b@reciepient.com"],
         date: Time.now,
         content_type: "text/html",
         attachments[file[:filename]] => file[:data] )

有什么建议可能会出错吗?

谢谢!

4

2 回答 2

2

当您尝试在不使用二进制模式的情况下附加文件处理程序但文件不是文本文件时,通常会生成此错误。

我在您创建文件处理程序的代码中看不到。你应该用wb它来打开它。

File.open(path, 'wb')

代替

File.open(path, 'w')

请记住,如果附件不是文本文件,则 content_type 也是错误的。

你附加什么类型的文件?

于 2013-11-14T13:15:12.673 回答
1

尝试这个

class Mailer < ActionMailer::Base

def my_mailing_method
  attachments[file[:filename]] => file[:data]
  mail(subject: "test test",
         from: "o@myemail.com",
         to: ["b@reciepient.com"],
         date: Time.now,
         content_type: "text/html")
end
于 2013-11-14T13:14:13.237 回答