收到附件时如何解决小于轨道中的实际大小?

时间:2016-01-19 09:55:35

标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-4

我正在使用Rails4。我正在尝试发送带附件的电子邮件。我的邮件工作正常,但附件文件的大小不合适。我发送的是一个64kb的pdf文件,但是当我收到一封邮件时它会显示1kb。我怎么解决这个问题?我的代码如下:

mailer.rv

 class RvMailer < ApplicationMailer

  default from: "info@example.com"

  def abc(contact)
    @contact = contact
     attachments["CRF.pdf"] = File.read("#{Rails.root}/public/attachment/CRF.pdf")
    mail(to: @contact.email, subject: 'Rupeevest')
  end

end

控制器:

    def create_mail
    @contactabc = Contact.new(contact_params)
    if @contactabc.save
      RvMailer.abc(@contactabc).deliver
      redirect_to :back
    else
      render contact_path
    end
  end

  private
    def contact_params
       params.require(:contact).permit(:name,:email)

    end

email.yml

development:
  :address: smtp.gmail.com
  :port: 587
  :Domain: mail.google.com
  :authentication: plain
  :user_name: info@example.com
  :password: XXXXXXXXX
  :enable_starttls_auto: true 

1 个答案:

答案 0 :(得分:0)

谢谢汤姆。我从你的链接中获得了添加模式:“rb”。它有效。

attachments["CRF.pdf"] = File.read("#{Rails.root}/public/attachment/CRF.pdf", mode: "rb")