Я знаю, что уже есть принятый ответ, но переключение порядка attachments[]
и mail()
не решило его для меня.Что отличается от моей ситуации, так это то, что я пытался прикрепить вложение текстового файла (.txt)
. Для меня работает установка значений по умолчанию content_type
и parts_order
для почтовой программы.
MyMailer < ActionMailer::Base
default :from => "Awesome App <support@example.com>",
:content_type => 'multipart/alternative',
:parts_order => [ "text/html", "text/enriched", "text/plain", "application/pdf" ]
def pdf_email(email, subject, pdfname, pdfpath)
attachments[pdfname] = File.read(pdfpath)
mail(:to => email, :subject => subject)
end
def txt_email(email, subject, filename, filebody)
attachments[filename] = filebody
mail(:to => email, :subject => subject)
end
end
Если вы пытаетесь отправить электронное письмо в Rails 3 с простым текстовым файлом (.txt), попробуйте добавить :content_type
и parts_order
к вашим значениям по умолчанию, чтобы текстовый файл не отображался над сообщением вВаш электронный адрес.