Как добавить вложения в электронное письмо, не показывая их в теле в Rails - PullRequest
0 голосов
/ 07 мая 2020

Я использую ActionMailer в Rails 5 для отправки электронной почты с вложениями. Это мой код:

class ReportMailer < ApplicationMailer
  layout false

  attr_reader :report

  def send_report(report, email)
    @report = report
    add_uploads_attachments
    mail(to: email,
         subject: 'subject',
         reply_to: 'no-reply@test.com',
         from: 'Leti')
  end

  private

  def add_uploads_attachments
    report.uploads.each do |report_upload|
      filename = report_upload.file.file.filename
      attachments[filename] = report_upload.file.read
    end
  end

  # ...
end

Как видите, я не использую inline, как если бы вы хотели, чтобы вложения отображались на теле (или это то, что я понял) из Rails. c.

https://guides.rubyonrails.org/action_mailer_basics.html#adding -attachments

Вложения отправляются правильно, но они также появляются в конце тела, чего я не хочу, потому что это так не хорошо выглядеть. Я просто хочу, чтобы они были доступны через значок буфера обмена, но не в самом теле. Возможно ли это?

Так вот как это выглядит на самом деле (неприятно).

enter image description here enter image description here

1 Ответ

0 голосов
/ 04 июня 2020

Я считаю, что использование гема inky-rb для создания адаптивного макета может решить эту проблему.

Следуйте исходной документации из Foundantion Emails DO C

А это видеоурок

...