Sending email with attachments in Ruby with the Pony Gem
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?
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
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.
精彩评论