
Security News
CISA’s 2025 SBOM Guidance Adds Hashes, Licenses, Tool Metadata, and Context
CISA’s 2025 draft SBOM guidance adds new fields like hashes, licenses, and tool metadata to make software inventories more actionable.
= mms2r
https://github.com/monde/mms2r
== DESCRIPTION
MMS2R by Mike Mondragon https://github.com/monde/mms2r https://rubygems.org/gems/mms2r http://peepcode.com/products/mms2r-pdf
MMS2R is a library that decodes the parts of a MMS message to disk while stripping out advertising injected by the mobile carriers. MMS messages are multipart email and the carriers often inject branding into these messages. Use MMS2R if you want to get at the real user generated content from a MMS without having to deal with the cruft from the carriers.
If MMS2R is not aware of a particular carrier no extra processing is done to the MMS other than decoding and consolidating its media.
MMS2R can be used to process any multipart email to conveniently access the parts the mail is comprised of.
Contact the author to add additional carriers to be processed by the library. Suggestions and patches appreciated and welcomed!
=== Corpus of carriers currently processed by MMS2R:
=== Corpus of smart phones known to MMS2R:
=== As Seen On The Internets - sites known to be using MMS2R in some fashion
== FEATURES
== BOOKS
MMS2R, Making email useful http://peepcode.com/products/mms2r-pdf
== SYNOPSIS
begin require 'mms2r' rescue LoadError require 'rubygems' require 'mms2r' end
require 'fileutils'
mail = MMS2R::Media.new(Mail.read('some_saved_mail.file')) puts "mail has default carrier subject" if mail.subject.empty?
puts "mail was from phone #{mail.number}"
file = mail.default_media puts "mail had a media: #{file.inspect}" unless file.nil?
file = mail.default_text puts "mail had some text: #{file.inspect}" unless file.nil?
mail.media['image/jpeg'].each {|f| puts "#{f}"} mail.media['text/plain'].each {|f| puts "#{f}"}
text = IO.readlines(mail.media['text/plain'].first).join puts text
FileUtils.cp mail.media['image/jpeg'].first, '/some/where/useful', :verbose => true
puts "does the mail have quicktime video? #{!mail.media['video/quicktime'].nil?}"
puts "plus run anything that Mail provides, e.g. #{mail.to.inspect}"
puts "mail is from a mobile phone #{mail.is_mobile?}"
puts "mail is from a mobile phone of type #{mail.device_type?}"
puts "mail's default media's exif data is:" puts mail.exif.inspect
mail.process do |media_type, files| # assumes a Clip model that is an AttachmentFu Clip.create(:uploaded_data => files.first, :title => "From phone") if media_type =~ /video/ end
picture = Picture.new picture.title = mail.subject picture.uploaded_data = mail.default_media picture.save!
#remove all the media that was put to temporary disk mail.purge
== REQUIREMENTS
== INSTALL
== SOURCE
git clone git://github.com/monde/mms2r.git
== AUTHORS
Copyright (c) 2007-2012 by Mike Mondragon blog[http://plasti.cx/]
MMS2R's {Flickr page}[http://www.flickr.com/photos/8627919@N05/]
== CONTRIBUTORS
FAQs
Unknown package
We found that mms2r demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
CISA’s 2025 draft SBOM guidance adds new fields like hashes, licenses, and tool metadata to make software inventories more actionable.
Security News
A clarification on our recent research investigating 60 malicious Ruby gems.
Security News
ESLint now supports parallel linting with a new --concurrency flag, delivering major speed gains and closing a 10-year-old feature request.