Sending email with attachments in Ruby with the Pony Gem

余生颓废 提交于 2019-12-09 21:14:52

问题


I am writing a script that is going to be sending out emails to a list of people and with this email there is going to be an attachment.

I keep running into this issue:
/usr/local/lib/ruby/1.9.1/net/smtp.rb:942:in 'check_response': 552 sorry, that message size exceeds my databytes limit (#5.3.4) (Net::SMTPFatalError)

The attached file is only 110kb

Code:

    Pony.mail(
        :to => to,
        :from => 'Me <me@me.com>',
        :subject => html_entity_decoder.decode(options[:subject]),
        :html_body => "#{options[:body]}".html_safe,
        :attachments => {File.basename("#{attachment}") => File.read("#{attachment}")},
        :headers => { "Content-Type" => "multipart/mixed", "Content-Transfer-Encoding" => "base64", "Content-Disposition" => "attachment" },
        :via => :smtp, 
        :via_options => {
          :address        => ADDRESS,
          :port           => '25',
          :enable_starttls_auto => true,
          :user_name      => USERNAME,
          :password       => PWD,
          :authentication => :plain,
          :domain         => DOMAIN
          }
      )

Any idea on what could be wrong?


回答1:


This is telling you that the mailbox you are sending it to, has run out of space.

The error is an SMTP error : 552 Requested mail action aborted: exceeded storage allocation

outlined in the rfc http://www.ietf.org/rfc/rfc2821.txt.

So either the mail box is full or you are sending something that will not fit in it




回答2:


Please use this

:attachments => {File.basename("#{attachment}") => File.read("#{attachment}")},
  :headers => { "Content-Type" => "multipart/mixed", "Content-Transfer-Encoding" => "base64", "Content-Disposition" => "attachment" }

Probably this will solve your problem.



来源:https://stackoverflow.com/questions/5160751/sending-email-with-attachments-in-ruby-with-the-pony-gem

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!