2009-12-15 3 views
1

Я использую следующий код, чтобы отправить письмо с вложенным PDF:Как предотвратить вложения электронной почты от Rendering Инлайн с использованием ActionMailer

class StudyMailer < ActionMailer::Base 
    def notify_office(study, sent_at = Time.now) 
    subject "Email Subject Goes Here" 
    recipients '[email protected]' 
    from  "#{study.sender.full_name} <#{study.sender.email}>" 
    sent_on sent_at 
    body  :study => study 
    for document in study.documents 
     attachment :content_type => "application/pdf", :body => File.read(document.document.path) #absolute path to .pdf document 
    end 
    end 
end 

Когда электронная почта отправляется, вложение, кажется, делают встроенные в двоичном виде а не как .pdf-приложение.

Как отредактировать .pdf как типичное приложение, а не встроенное?

ответ

1
attachment :content_type => "application/pdf", 
    :content_disposition => "attachment", 
    :filename => File.basename(fattach), 
    :body => File.new(fattach,'rb').read() 

Обратите внимание на строку содержания.

+0

добавления прикрепленного в блоке, кажется, не влияет, как вложение оказывается – rswolff

+0

оказывается эта проблема была больше связана с именем шаблона просмотра электронной почты чем что-либо другое, но я отмечаю это как ответ, потому что также нужен элемент content_disposition. – rswolff

0

Я считаю, что вы должны указать многосекционный характер электронной почты, поэтому добавьте эту строку под from линии:

content_type "multipart/alternative" 
+0

Добавление content_type, похоже, не влияет на визуализацию вложения. – rswolff

0

ли ваш электронный шаблон? Если в письме нет шаблона, вложение отображается в строке, даже если все остальное настроено правильно. Создайте шаблон электронной почты для вложения.

просмотров/уведомитель/attachment.html.erb

<p> Please see attachment </p> 

Тогда в Notifier, указать, чтобы использовать этот шаблон.

notifier.rb

def my_email_method 
    ... 
    mail(:template_name => 'attachment', :from => from_address, ...) 
end 

 Смежные вопросы

  • Нет связанных вопросов^_^