我正在使用Rails 3.2.13並一直遵循ActionMailer指南(http://guides.rubyonrails.org/action_mailer_basics.html#sending-emails-with-attachments),但我在發送電子郵件附件時遇到困難。Rails 3 ActionMailer破壞附件
執行後,電子郵件發送正常,但附件始終損壞。特別是,我看到呈現的電子郵件和附件的正確文件名,但是作爲無法打開的1KB文件。我已經看到類似的堆棧溢出問題和其他地方(例如Rails 3: Sending Mail with Attachment - corrupted file after first send和Rails 3.0.7 ActionMailer attachment issue),但是沒有一個解決方案能夠提供幫助。我嘗試了兩種不同的傳輸方式(Gmail SMTP和Sendgrid),幾種文件類型(png,pdf等)以及內嵌和常規附件,但始終具有相同的效果。
這裏的郵件程序的代碼:如果我稱它在我的控制器
class UserMailer < ActionMailer::Base
# A hash of default values for email messages
default from: "[email protected]"
def welcome_email(user)
@user = user
@url = "http://localhost:3000"
attachments['logo_email.png'] = File.read("public/img/logo_email.png")
mail(:to => user.email, :subject => "Welcome")
end
end
它看起來像這樣(我用的delayed_job這裏,但附件,即使沒有它已損壞):
UserMailer.delay.welcome_email(@user)
這發生在我身上太..:■你解決呢? – Lichtamberg
@萊希坦堡遺憾的是,沒有。 :(我最近還沒有使用過Rails,所以我沒有回頭去看看。 –