Я использую удивительный гем MMS2R (https://github.com/monde/mms2r)), чтобы создать приложение, которое обрабатывает MMS-сообщения, отправленные на адрес электронной почты, храня мультимедийные сообщения (изображения, видео, аудио) локально для моего приложения.
Мой код работает хорошо, когда медиа является настоящим вложением в электронное письмо. Но я столкнулся с проблемой, когда изображения не являются «настоящими» вложениями, а вместо этого они встроены в html сообщения электронной почты и хранятся на удаленном сервере.
Особенности моего снаряжения:
- Использование mms2r v3.4.1, mail (2.3.0)
- MMS-сообщение приходит от XXX@pm.sprint.com
- Я POPing Gmail адрес
Упрощенная версия моего кода выглядит как
msgs = Mail.all
msgs.each do |m|
mail = MMS2R::Media.new(m)
puts mail.has_attachments?
puts mail.media.size
end
Это приводит к следующему выводу для рассматриваемого письма:
> false
> 0
Итак, есть ли что-то особенное, что я должен сделать, чтобы получить доступ к этим удаленным вложениям? У меня сложилось впечатление, что это то, для чего предназначен гем mms2r. Я ошибся? Нужно ли самому извлекать удаленный носитель?
Спасибо!
---- Обновление ----
Проблема, по-видимому, связана с моим использованием ruby 1.9.2 и / или версии установленных самоцветов. Теперь сузим его.
---- Обновление 2 ----
Проблема, как оказалось, связана с mms2r и ruby версиями 1.9.x. Monde (ниже) является разработчиком гема mms2r и вскоре постарается исправить ошибку.