Отправка электронной почты с вложениями в Ruby с помощью Pony Gem - PullRequest
2 голосов
/ 02 марта 2011

Я пишу сценарий, который будет рассылать электронные письма списку людей, и с этим письмом будет вложение.

Я продолжаю сталкиваться с этой проблемой:/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)

В прикрепленном файле только 110 КБ

Код:

    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
          }
      )

Есть идеи, что может быть не так?

Ответы [ 2 ]

4 голосов
/ 02 марта 2011

Это говорит о том, что почтовому ящику, на который вы его отправляете, не хватает места.

Ошибка SMTP: 552 Запрошенное действие почты прервано: превышено выделение памяти

обозначено в РФО http://www.ietf.org/rfc/rfc2821.txt.

То есть почтовый ящик либо заполнен, либо вы отправляете что-то, что в него не помещается

1 голос
/ 02 января 2014

Пожалуйста, используйте это

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

Возможно, это решит вашу проблему.

...