mms2r 2.2.0 → 2.3.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,7 +1,7 @@
1
1
  #--
2
- # Copyright (c) 2007, 2008 by Mike Mondragon (mikemondragon@gmail.com)
2
+ # Copyright (c) 2007-2010 by Mike Mondragon (mikemondragon@gmail.com)
3
3
  #
4
- # Please see the LICENSE file for licensing information
4
+ # Please see the LICENSE file for licensing information.
5
5
  #++
6
6
 
7
7
  require 'net/http'
@@ -1,3 +1,8 @@
1
+ #--
2
+ # Copyright (c) 2007-2010 by Mike Mondragon (mikemondragon@gmail.com)
3
+ #
4
+ # Please see the LICENSE file for licensing information.
5
+ #++
1
6
 
2
7
  class TMail::MessageIdHeader #:nodoc:
3
8
  def real_body
@@ -2,41 +2,55 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{mms2r}
5
- s.version = "2.2.0"
5
+ s.version = "2.3.0"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["Mike Mondragon"]
9
- s.date = %q{2008-12-16}
10
- s.description = %q{== DESCRIPTION MMS2R is a library that decodes the parts of an 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. 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: * 1nbox/Idea: 1nbox.net * 3 Ireland: mms.3ireland.ie * Alltel: mms.alltel.com * AT&T/Cingular/Legacy: mms.att.net, txt.att.net, mmode.com, mms.mycingular.com, cingularme.com, mobile.mycingular.com pics.cingularme.com * Bell Canada: txt.bell.ca * Bell South / Suncom: bellsouth.net * Cricket Wireless: mms.mycricket.com * Dobson/Cellular One: mms.dobson.net * Helio: mms.myhelio.com * Hutchison 3G UK Ltd: mms.three.co.uk * INDOSAT M2: mobile.indosat.net.id * LUXGSM S.A.: mms.luxgsm.lu * Maroc Telecom / mms.mobileiam.ma * MTM South Africa: mms.mtn.co.za * NetCom (Norway): mms.netcom.no * Nextel: messaging.nextel.com * O2 Germany: mms.o2online.de * O2 UK: mediamessaging.o2.co.uk * Orange & Regional Oranges: orangemms.net, mmsemail.orange.pl, orange.fr * PLSPICTURES.COM mms hosting: waw.plspictures.com * PXT New Zealand: pxt.vodafone.net.nz * Rogers of Canada: rci.rogers.com * SaskTel: sms.sasktel.com * Sprint: pm.sprint.com, messaging.sprintpcs.com, sprintpcs.com * T-Mobile: tmomail.net, mmsreply.t-mobile.co.uk, tmo.blackberry.net * TELUS Corporation (Canada): mms.telusmobility.com, msg.telus.com * UAE MMS: mms.ae * Unicel: unicel.com, info2go.com (note: mobile number is tucked away in a text/plain part for unicel.com) * Verizon: vzwpix.com, vtext.com * Virgin Mobile: vmpix.com * Virgin Mobile of Canada: vmobile.ca * Vodacom: mms.vodacom4me.co.za}
9
+ s.date = %q{2009-08-31}
10
+ s.description = %q{== DESCRIPTION
11
+
12
+ MMS2R is a library that decodes the parts of an MMS message to disk while
13
+ stripping out advertising injected by the mobile carriers. MMS messages are
14
+ multipart email and the carriers often inject branding into these messages. Use
15
+ MMS2R if you want to get at the real user generated content from a MMS without
16
+ having to deal with the cruft from the carriers.
17
+
18
+ If MMS2R is not aware of a particular carrier no extra processing is done to the
19
+ MMS other than decoding and consolidating its media.
20
+
21
+ Contact the author to add additional carriers to be processed by the library.
22
+ Suggestions and patches appreciated and welcomed!
23
+
24
+ Corpus of carriers currently processed by MMS2R:}
11
25
  s.email = %q{mikemondragon@gmail.com}
12
26
  s.extra_rdoc_files = ["History.txt", "Manifest.txt", "README.txt"]
13
- s.files = [".gitignore", "History.txt", "Manifest.txt", "README.txt", "Rakefile", "conf/1nbox.net.yml", "conf/aliases.yml", "conf/bellsouth.net.yml", "conf/from.yml", "conf/mediamessaging.o2.co.uk.yml", "conf/messaging.nextel.com.yml", "conf/mms.3ireland.ie.yml", "conf/mms.ae.yml", "conf/mms.alltel.com.yml", "conf/mms.att.net.yml", "conf/mms.dobson.net.yml", "conf/mms.luxgsm.lu.yml", "conf/mms.mobileiam.ma.yml", "conf/mms.mtn.co.za.yml", "conf/mms.mycricket.com.yml", "conf/mms.myhelio.com.yml", "conf/mms.netcom.no.yml", "conf/mms.o2online.de.yml", "conf/mms.three.co.uk.yml", "conf/mms.vodacom4me.co.za.yml", "conf/mms2r_media.yml", "conf/mobile.indosat.net.id.yml", "conf/msg.telus.com.yml", "conf/orangemms.net.yml", "conf/pm.sprint.com.yml", "conf/pxt.vodafone.net.nz.yml", "conf/rci.rogers.com.yml", "conf/sms.sasktel.com.yml", "conf/tmomail.net.yml", "conf/txt.bell.ca.yml", "conf/unicel.com.yml", "conf/vmpix.com.yml", "conf/vzwpix.com.yml", "conf/waw.plspictures.com.yml", "dev_tools/anonymizer.rb", "dev_tools/debug_sprint_hpricot_parsing.rb", "dev_tools/github.rb", "lib/mms2r.rb", "lib/mms2r/media.rb", "lib/mms2r/media/sprint.rb", "lib/tmail_ext.rb", "mms2r.gemspec", "test/fixtures/1nbox-2images-01.mail", "test/fixtures/1nbox-2images-02.mail", "test/fixtures/1nbox-2images-03.mail", "test/fixtures/1nbox-2images-04.mail", "test/fixtures/3ireland-mms-01.mail", "test/fixtures/alltel-image-01.mail", "test/fixtures/alltel-mms-01.mail", "test/fixtures/alltel-mms-03.mail", "test/fixtures/apple-double-image-01.mail", "test/fixtures/att-blackberry-02.mail", "test/fixtures/att-blackberry.mail", "test/fixtures/att-image-01.mail", "test/fixtures/att-image-02.mail", "test/fixtures/att-iphone-01.mail", "test/fixtures/att-iphone-02.mail", "test/fixtures/att-iphone-03.mail", "test/fixtures/att-text-01.mail", "test/fixtures/bell-canada-image-01.mail", "test/fixtures/cingularme-text-01.mail", "test/fixtures/cingularme-text-02.mail", "test/fixtures/dobson-image-01.mail", "test/fixtures/dot.jpg", "test/fixtures/generic.mail", "test/fixtures/helio-image-01.mail", "test/fixtures/helio-message-01.mail", "test/fixtures/iconv-fr-text-01.mail", "test/fixtures/indosat-image-01.mail", "test/fixtures/indosat-image-02.mail", "test/fixtures/info2go-image-01.mail", "test/fixtures/luxgsm-image-01.mail", "test/fixtures/maroctelecom-france-mms-01.mail", "test/fixtures/mediamessaging_o2_co_uk-image-01.mail", "test/fixtures/mmode-image-01.mail", "test/fixtures/mms.ae-image-01.mail", "test/fixtures/mms.mycricket.com-pic-and-text.mail", "test/fixtures/mms.mycricket.com-pic.mail", "test/fixtures/mmsreply.t-mobile.co.uk-text-image-01.mail", "test/fixtures/mobile.mycingular.com-text-01.mail", "test/fixtures/mtn-southafrica-mms.mail", "test/fixtures/mycingular-image-01.mail", "test/fixtures/netcom-image-01.mail", "test/fixtures/nextel-image-01.mail", "test/fixtures/nextel-image-02.mail", "test/fixtures/nextel-image-03.mail", "test/fixtures/nextel-image-04.mail", "test/fixtures/o2-de-image-01.mail", "test/fixtures/orange-uk-image-01.mail", "test/fixtures/orangefrance-text-and-image.mail", "test/fixtures/orangepoland-text-01.mail", "test/fixtures/orangepoland-text-02.mail", "test/fixtures/pics.cingularme.com-image-01.mail", "test/fixtures/pxt-image-01.mail", "test/fixtures/rogers-canada-mms-01.mail", "test/fixtures/sasktel-image-01.mail", "test/fixtures/sprint-broken-image-01.mail", "test/fixtures/sprint-image-01.mail", "test/fixtures/sprint-pcs-text-01.mail", "test/fixtures/sprint-purged-image-01.mail", "test/fixtures/sprint-text-01.mail", "test/fixtures/sprint-two-images-01.mail", "test/fixtures/sprint-video-01.mail", "test/fixtures/sprint.mov", "test/fixtures/suncom-blackberry.mail", "test/fixtures/telus-image-01.mail", "test/fixtures/three-uk-image-01.mail", "test/fixtures/tmo.blackberry.net-image-01.mail", "test/fixtures/tmobile-blackberry-02.mail", "test/fixtures/tmobile-blackberry.mail", "test/fixtures/tmobile-image-01.mail", "test/fixtures/tmobile-image-02.mail", "test/fixtures/unicel-image-01.mail", "test/fixtures/verizon-blackberry.mail", "test/fixtures/verizon-image-01.mail", "test/fixtures/verizon-image-02.mail", "test/fixtures/verizon-image-03.mail", "test/fixtures/verizon-text-01.mail", "test/fixtures/verizon-video-01.mail", "test/fixtures/virgin-mobile-image-01.mail", "test/fixtures/virgin.ca-text-01.mail", "test/fixtures/vodacom4me-co-za-01.mail", "test/fixtures/vodacom4me-co-za-02.mail", "test/fixtures/vodacom4me-southafrica-mms-01.mail", "test/fixtures/vodacom4me-southafrica-mms-04.mail", "test/fixtures/vtext-text-01.mail", "test/fixtures/waw.plspictures.com-image-01.mail", "test/test_1nbox_net.rb", "test/test_bell_canada.rb", "test/test_bellsouth_net.rb", "test/test_github.rb", "test/test_helper.rb", "test/test_mediamessaging_o2_co_uk.rb", "test/test_messaging_nextel_com.rb", "test/test_messaging_sprintpcs_com.rb", "test/test_mms2r_media.rb", "test/test_mms_3ireland_ie.rb", "test/test_mms_ae.rb", "test/test_mms_alltel_com.rb", "test/test_mms_att_net.rb", "test/test_mms_dobson_net.rb", "test/test_mms_luxgsm_lu.rb", "test/test_mms_mobileiam_ma.rb", "test/test_mms_mtn_co_za.rb", "test/test_mms_mycricket_com.rb", "test/test_mms_myhelio_com.rb", "test/test_mms_netcom_no.rb", "test/test_mms_o2online_de.rb", "test/test_mms_three_co_uk.rb", "test/test_mms_vodacom4me_co_za.rb", "test/test_mobile_indosat_net_id.rb", "test/test_msg_telus_com.rb", "test/test_orangemms_net.rb", "test/test_pm_sprint_com.rb", "test/test_pxt_vodafone_net_nz.rb", "test/test_rci_rogers_com.rb", "test/test_sms_sasktel_com.rb", "test/test_tmomail_net.rb", "test/test_unicel_com.rb", "test/test_vmpix_com.rb", "test/test_vzwpix_com.rb", "test/test_waw_plspictures_com.rb", "vendor/plugins/mms2r/lib/autotest/discover.rb", "vendor/plugins/mms2r/lib/autotest/mms2r.rb"]
27
+ s.files = [".gitignore", "History.txt", "Manifest.txt", "README.txt", "Rakefile", "conf/1nbox.net.yml", "conf/aliases.yml", "conf/bellsouth.net.yml", "conf/from.yml", "conf/mediamessaging.o2.co.uk.yml", "conf/messaging.nextel.com.yml", "conf/mms.3ireland.ie.yml", "conf/mms.ae.yml", "conf/mms.alltel.com.yml", "conf/mms.att.net.yml", "conf/mms.dobson.net.yml", "conf/mms.luxgsm.lu.yml", "conf/mms.mobileiam.ma.yml", "conf/mms.mtn.co.za.yml", "conf/mms.mycricket.com.yml", "conf/mms.myhelio.com.yml", "conf/mms.netcom.no.yml", "conf/mms.o2online.de.yml", "conf/mms.three.co.uk.yml", "conf/mms.vodacom4me.co.za.yml", "conf/mms2r_media.yml", "conf/mobile.indosat.net.id.yml", "conf/msg.telus.com.yml", "conf/orangemms.net.yml", "conf/pm.sprint.com.yml", "conf/pxt.vodafone.net.nz.yml", "conf/rci.rogers.com.yml", "conf/sms.sasktel.com.yml", "conf/tmomail.net.yml", "conf/txt.bell.ca.yml", "conf/unicel.com.yml", "conf/vmpix.com.yml", "conf/vzwpix.com.yml", "conf/waw.plspictures.com.yml", "dev_tools/anonymizer.rb", "dev_tools/debug_sprint_hpricot_parsing.rb", "dev_tools/github.rb", "init.rb", "lib/mms2r.rb", "lib/mms2r/media.rb", "lib/mms2r/media/sprint.rb", "lib/tmail_ext.rb", "mms2r.gemspec", "test/fixtures/1nbox-2images-01.mail", "test/fixtures/1nbox-2images-02.mail", "test/fixtures/1nbox-2images-03.mail", "test/fixtures/1nbox-2images-04.mail", "test/fixtures/3ireland-mms-01.mail", "test/fixtures/alltel-image-01.mail", "test/fixtures/alltel-mms-01.mail", "test/fixtures/alltel-mms-03.mail", "test/fixtures/apple-double-image-01.mail", "test/fixtures/att-blackberry-02.mail", "test/fixtures/att-blackberry.mail", "test/fixtures/att-image-01.mail", "test/fixtures/att-image-02.mail", "test/fixtures/att-iphone-01.mail", "test/fixtures/att-iphone-02.mail", "test/fixtures/att-iphone-03.mail", "test/fixtures/att-text-01.mail", "test/fixtures/bell-canada-image-01.mail", "test/fixtures/cingularme-text-01.mail", "test/fixtures/cingularme-text-02.mail", "test/fixtures/dobson-image-01.mail", "test/fixtures/dot.jpg", "test/fixtures/generic.mail", "test/fixtures/helio-image-01.mail", "test/fixtures/helio-message-01.mail", "test/fixtures/iconv-fr-text-01.mail", "test/fixtures/indosat-image-01.mail", "test/fixtures/indosat-image-02.mail", "test/fixtures/info2go-image-01.mail", "test/fixtures/iphone-image-01.mail", "test/fixtures/luxgsm-image-01.mail", "test/fixtures/maroctelecom-france-mms-01.mail", "test/fixtures/mediamessaging_o2_co_uk-image-01.mail", "test/fixtures/mmode-image-01.mail", "test/fixtures/mms.ae-image-01.mail", "test/fixtures/mms.mycricket.com-pic-and-text.mail", "test/fixtures/mms.mycricket.com-pic.mail", "test/fixtures/mmsreply.t-mobile.co.uk-text-image-01.mail", "test/fixtures/mobile.mycingular.com-text-01.mail", "test/fixtures/mtn-southafrica-mms.mail", "test/fixtures/mycingular-image-01.mail", "test/fixtures/netcom-image-01.mail", "test/fixtures/nextel-image-01.mail", "test/fixtures/nextel-image-02.mail", "test/fixtures/nextel-image-03.mail", "test/fixtures/nextel-image-04.mail", "test/fixtures/o2-de-image-01.mail", "test/fixtures/orange-uk-image-01.mail", "test/fixtures/orangefrance-text-and-image.mail", "test/fixtures/orangepoland-text-01.mail", "test/fixtures/orangepoland-text-02.mail", "test/fixtures/pics.cingularme.com-image-01.mail", "test/fixtures/pxt-image-01.mail", "test/fixtures/rogers-canada-mms-01.mail", "test/fixtures/sasktel-image-01.mail", "test/fixtures/sprint-broken-image-01.mail", "test/fixtures/sprint-image-01.mail", "test/fixtures/sprint-pcs-text-01.mail", "test/fixtures/sprint-purged-image-01.mail", "test/fixtures/sprint-text-01.mail", "test/fixtures/sprint-two-images-01.mail", "test/fixtures/sprint-video-01.mail", "test/fixtures/sprint.mov", "test/fixtures/suncom-blackberry.mail", "test/fixtures/telus-image-01.mail", "test/fixtures/three-uk-image-01.mail", "test/fixtures/tmo.blackberry.net-image-01.mail", "test/fixtures/tmobile-blackberry-02.mail", "test/fixtures/tmobile-blackberry.mail", "test/fixtures/tmobile-image-01.mail", "test/fixtures/tmobile-image-02.mail", "test/fixtures/unicel-image-01.mail", "test/fixtures/verizon-blackberry.mail", "test/fixtures/verizon-image-01.mail", "test/fixtures/verizon-image-02.mail", "test/fixtures/verizon-image-03.mail", "test/fixtures/verizon-text-01.mail", "test/fixtures/verizon-video-01.mail", "test/fixtures/virgin-mobile-image-01.mail", "test/fixtures/virgin.ca-text-01.mail", "test/fixtures/vodacom4me-co-za-01.mail", "test/fixtures/vodacom4me-co-za-02.mail", "test/fixtures/vodacom4me-southafrica-mms-01.mail", "test/fixtures/vodacom4me-southafrica-mms-04.mail", "test/fixtures/vtext-text-01.mail", "test/fixtures/vzwpix.com-image-01.mail", "test/fixtures/waw.plspictures.com-image-01.mail", "test/test_1nbox_net.rb", "test/test_bell_canada.rb", "test/test_bellsouth_net.rb", "test/test_github.rb", "test/test_helper.rb", "test/test_mediamessaging_o2_co_uk.rb", "test/test_messaging_nextel_com.rb", "test/test_messaging_sprintpcs_com.rb", "test/test_mms2r_media.rb", "test/test_mms_3ireland_ie.rb", "test/test_mms_ae.rb", "test/test_mms_alltel_com.rb", "test/test_mms_att_net.rb", "test/test_mms_dobson_net.rb", "test/test_mms_luxgsm_lu.rb", "test/test_mms_mobileiam_ma.rb", "test/test_mms_mtn_co_za.rb", "test/test_mms_mycricket_com.rb", "test/test_mms_myhelio_com.rb", "test/test_mms_netcom_no.rb", "test/test_mms_o2online_de.rb", "test/test_mms_three_co_uk.rb", "test/test_mms_vodacom4me_co_za.rb", "test/test_mobile_indosat_net_id.rb", "test/test_msg_telus_com.rb", "test/test_orangemms_net.rb", "test/test_pm_sprint_com.rb", "test/test_pxt_vodafone_net_nz.rb", "test/test_rci_rogers_com.rb", "test/test_sms_sasktel_com.rb", "test/test_tmomail_net.rb", "test/test_unicel_com.rb", "test/test_vmpix_com.rb", "test/test_vzwpix_com.rb", "test/test_waw_plspictures_com.rb", "vendor/plugins/mms2r/lib/autotest/discover.rb", "vendor/plugins/mms2r/lib/autotest/mms2r.rb"]
14
28
  s.has_rdoc = true
15
- s.homepage = %q{by Mike Mondragon
29
+ s.homepage = %q{http://mms2r.rubyforge.org/
16
30
  }
17
31
  s.rdoc_options = ["--main", "README.txt"]
18
32
  s.require_paths = ["lib"]
19
33
  s.rubyforge_project = %q{mms2r}
20
- s.rubygems_version = %q{1.3.1}
34
+ s.rubygems_version = %q{1.3.2}
21
35
  s.summary = %q{Extract user media from MMS (and not carrier cruft)}
22
36
  s.test_files = ["test/test_mms_o2online_de.rb", "test/test_helper.rb", "test/test_pm_sprint_com.rb", "test/test_sms_sasktel_com.rb", "test/test_mms_mobileiam_ma.rb", "test/test_msg_telus_com.rb", "test/test_messaging_sprintpcs_com.rb", "test/test_mms_myhelio_com.rb", "test/test_mms_3ireland_ie.rb", "test/test_mms_ae.rb", "test/test_mms_att_net.rb", "test/test_mediamessaging_o2_co_uk.rb", "test/test_bell_canada.rb", "test/test_mms_mtn_co_za.rb", "test/test_vmpix_com.rb", "test/test_github.rb", "test/test_vzwpix_com.rb", "test/test_bellsouth_net.rb", "test/test_unicel_com.rb", "test/test_waw_plspictures_com.rb", "test/test_mms_luxgsm_lu.rb", "test/test_mms_netcom_no.rb", "test/test_mms_mycricket_com.rb", "test/test_mms2r_media.rb", "test/test_rci_rogers_com.rb", "test/test_messaging_nextel_com.rb", "test/test_mms_vodacom4me_co_za.rb", "test/test_tmomail_net.rb", "test/test_1nbox_net.rb", "test/test_pxt_vodafone_net_nz.rb", "test/test_mobile_indosat_net_id.rb", "test/test_mms_three_co_uk.rb", "test/test_mms_alltel_com.rb", "test/test_mms_dobson_net.rb", "test/test_orangemms_net.rb"]
23
37
 
24
38
  if s.respond_to? :specification_version then
25
39
  current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
26
- s.specification_version = 2
40
+ s.specification_version = 3
27
41
 
28
42
  if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
29
- s.add_runtime_dependency(%q<hpricot>, [">= 0.6.0"])
30
- s.add_runtime_dependency(%q<tmail>, [">= 1.2.1"])
43
+ s.add_runtime_dependency(%q<hpricot>, [">= 0"])
44
+ s.add_runtime_dependency(%q<tmail>, [">= 0"])
31
45
  s.add_development_dependency(%q<hoe>, [">= 1.8.2"])
32
46
  else
33
- s.add_dependency(%q<hpricot>, [">= 0.6.0"])
34
- s.add_dependency(%q<tmail>, [">= 1.2.1"])
47
+ s.add_dependency(%q<hpricot>, [">= 0"])
48
+ s.add_dependency(%q<tmail>, [">= 0"])
35
49
  s.add_dependency(%q<hoe>, [">= 1.8.2"])
36
50
  end
37
51
  else
38
- s.add_dependency(%q<hpricot>, [">= 0.6.0"])
39
- s.add_dependency(%q<tmail>, [">= 1.2.1"])
52
+ s.add_dependency(%q<hpricot>, [">= 0"])
53
+ s.add_dependency(%q<tmail>, [">= 0"])
40
54
  s.add_dependency(%q<hoe>, [">= 1.8.2"])
41
55
  end
42
56
  end
@@ -0,0 +1,62 @@
1
+ Return-Path: <example@gmail.com>
2
+ Delivered-To: unknown
3
+ Received: from imap.gmail.com (216.239.59.109) by swellbo.ws with IMAP4-SSL;
4
+ 17 Aug 2009 02:35:12 -0000
5
+ Delivered-To: tommy.tutone@example.com
6
+ Received: by 10.220.92.148 with SMTP id r20cs434279vcm;
7
+ Sun, 16 Aug 2009 19:33:36 -0700 (PDT)
8
+ Received: by 10.114.169.7 with SMTP id r7mr4333220wae.8.1250476414501;
9
+ Sun, 16 Aug 2009 19:33:34 -0700 (PDT)
10
+ Received: from outbound-mail-02.bluehost.com (outbound-mail-02.bluehost.com [69.89.21.12])
11
+ by mx.google.com with SMTP id 40si9804605pzk.60.2009.08.16.19.33.32;
12
+ Sun, 16 Aug 2009 19:33:33 -0700 (PDT)
13
+ Received-SPF: pass (google.com: domain of example@gmail.com designates 69.89.21.12 as permitted sender) client-ip=69.89.21.12;
14
+ DomainKey-Status: good
15
+ Authentication-Results: mx.google.com; spf=pass (google.com: domain of example@gmail.com designates 69.89.21.12 as permitted sender) smtp.mail=example@gmail.com; domainkeys=pass header.From=example@gmail.com
16
+ Received: (qmail 19972 invoked by uid 0); 17 Aug 2009 02:33:32 -0000
17
+ Received: from unknown (HELO box322.bluehost.com) (69.89.31.122)
18
+ by outboundproxy1.bluehost.com with SMTP; 17 Aug 2009 02:33:32 -0000
19
+ DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=default; d=concussion.org;
20
+ h=Received:Message-Id:From:To:Content-Type:Content-Transfer-Encoding:Mime-Version:Date:X-Mailer:X-Identified-User;
21
+ b=eCT/c5PPMJPXffGvy67LaFbKfi4EZiLRC2KYm41iENyh8OngKuO2cbteIX5H5br4w4jx517mT/Bdxy7rcdk+7m5SXItLOUBYIY5CuWe4a7NW/R9f0lHbr2qMYklMhfec;
22
+ Received: from c-24-5-192-93.hsd1.ca.comcast.net ([24.5.192.93] helo=[10.0.1.5])
23
+ by box322.bluehost.com with esmtpsa (TLSv1:AES128-SHA:128)
24
+ (Exim 4.69)
25
+ (envelope-from <example@gmail.com>)
26
+ id 1Mcs2K-0001hH-6z
27
+ for tommy.tutone@example.com; Sun, 16 Aug 2009 20:33:32 -0600
28
+ Message-Id: <0B3F4EF7-BDCC-458C-852C-1D99BF2829B4@concussion.org>
29
+ From: <example@gmail.com>
30
+ To: tommy.tutone@example.com
31
+ Content-Type: multipart/mixed; boundary=Apple-Mail-1--561220374
32
+ Content-Transfer-Encoding: 7bit
33
+ Mime-Version: 1.0 (iPhone Mail 7A400)
34
+ Date: Sun, 16 Aug 2009 19:33:22 -0700
35
+ X-Mailer: iPhone Mail (7A400)
36
+ X-Identified-User: {1154:box322.bluehost.com:concussi:concussion.org} {sentby:smtp auth 24.5.192.93 authed with example@gmail.com}
37
+
38
+
39
+ --Apple-Mail-1--561220374
40
+ Content-Type: text/plain;
41
+ charset=us-ascii;
42
+ format=flowed
43
+ Content-Transfer-Encoding: 7bit
44
+
45
+
46
+
47
+
48
+ --Apple-Mail-1--561220374
49
+ Content-Disposition: inline;
50
+ filename=photo.jpg
51
+ Content-Type: image/jpeg;
52
+ name=photo.jpg
53
+ Content-Transfer-Encoding: base64
54
+
55
+ /9j/4AAQSkZJRgABAQEASABIAAD/4QAWRXhpZgAATU0AKgAAAAgAAAAAAAD//gAXQ3JlYXRl
56
+ ZCB3aXRoIFRoZSBHSU1Q/9sAQwAFAwQEBAMFBAQEBQUFBgcMCAcHBwcPCwsJDBEPEhIRDxER
57
+ ExYcFxMUGhURERghGBodHR8fHxMXIiQiHiQcHh8e/9sAQwEFBQUHBgcOCAgOHhQRFB4eHh4e
58
+ Hh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4e/8AAEQgAAQAB
59
+ AwEiAAIRAQMRAf/EABUAAQEAAAAAAAAAAAAAAAAAAAAH/8QAFBABAAAAAAAAAAAAAAAAAAAA
60
+ AP/EABUBAQEAAAAAAAAAAAAAAAAAAAcI/8QAFBEBAAAAAAAAAAAAAAAAAAAAAP/aAAwDAQAC
61
+ EQMRAD8AlgA6WW//2Q==
62
+ --Apple-Mail-1--561220374--
@@ -0,0 +1,50 @@
1
+ Delivered-To: tommy.tutone@example.com
2
+ Received: by 10.216.17.137 with SMTP id j9cs56753wej;
3
+ Thu, 27 Aug 2009 21:38:29 -0700 (PDT)
4
+ Received: by 10.220.107.99 with SMTP id a35mr202579vcp.45.1251434307135;
5
+ Thu, 27 Aug 2009 21:38:27 -0700 (PDT)
6
+ Return-Path: <2068675309@vzwpix.com>
7
+ Received: from njbrspamp5.vtext.com (njbrspamp5.vtext.com [69.78.129.150])
8
+ by mx.google.com with ESMTP id 34si1359074vws.96.2009.08.27.21.38.23;
9
+ Thu, 27 Aug 2009 21:38:27 -0700 (PDT)
10
+ Received-SPF: neutral (google.com: 69.78.129.150 is neither permitted nor denied by domain of 2068675309@vzwpix.com) client-ip=69.78.129.150;
11
+ Authentication-Results: mx.google.com; spf=neutral (google.com: 69.78.129.150 is neither permitted nor denied by domain of 2068675309@vzwpix.com) smtp.mail=2068675309@vzwpix.com
12
+ Received: from 24.sub-69-78-130.myvzw.com (HELO m11.vzwpix.com) ([69.78.130.24])
13
+ by njbrspamp5.vtext.com with SMTP; 28 Aug 2009 04:38:23 +0000
14
+ X-Priority:3
15
+ Importance:Normal
16
+ From:2068675309@vzwpix.com
17
+ To:tommy.tutone@example.com
18
+ Subject:
19
+ Message-ID: <212118194303829751@-212118194303829752>
20
+ Date: Thu, 28 Aug 2009 04:38:23 +0000
21
+ MIME-Version:1.0
22
+ Content-Type: multipart/mixed;
23
+ type="application/smil";
24
+ boundary="__CONTENT_64564_PART_BOUNDARY__33243242__"
25
+
26
+ --__CONTENT_64564_PART_BOUNDARY__33243242__
27
+ Content-Type: text/plain
28
+
29
+ This message was sent using the Picture and Video Messaging service from Verizon Wireless!
30
+
31
+ To learn how you can snap pictures and capture videos with your wireless phone visit www.verizonwireless.com/picture.
32
+
33
+ Note: To play video messages sent to email, QuickTime� 6.5 or higher is required.
34
+
35
+ --__CONTENT_64564_PART_BOUNDARY__33243242__
36
+ Content-Type: image/jpeg;
37
+ name="0827092137.jpg"
38
+ Content-ID: <0827092137.jpg>
39
+ Content-Location: 0827092137.jpg
40
+ Content-Transfer-Encoding: base64
41
+
42
+ /9j/4AAQSkZJRgABAQEASABIAAD/4QAWRXhpZgAATU0AKgAAAAgAAAAAAAD//gAXQ3JlYXRl
43
+ ZCB3aXRoIFRoZSBHSU1Q/9sAQwAFAwQEBAMFBAQEBQUFBgcMCAcHBwcPCwsJDBEPEhIRDxER
44
+ ExYcFxMUGhURERghGBodHR8fHxMXIiQiHiQcHh8e/9sAQwEFBQUHBgcOCAgOHhQRFB4eHh4e
45
+ Hh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4e/8AAEQgAAQAB
46
+ AwEiAAIRAQMRAf/EABUAAQEAAAAAAAAAAAAAAAAAAAAH/8QAFBABAAAAAAAAAAAAAAAAAAAA
47
+ AP/EABUBAQEAAAAAAAAAAAAAAAAAAAcI/8QAFBEBAAAAAAAAAAAAAAAAAAAAAP/aAAwDAQAC
48
+ EQMRAD8AlgA6WW//2Q==
49
+ --__CONTENT_64564_PART_BOUNDARY__33243242__--
50
+
@@ -728,10 +728,14 @@ class TestMms2rMedia < Test::Unit::TestCase
728
728
  end
729
729
 
730
730
  def test_iphone_device_type
731
- mail = TMail::Mail.load(mail_fixture('att-iphone-01.mail'))
732
- mms = MMS2R::Media.new(mail)
733
- assert_equal :iphone, mms.device_type?
734
- assert_equal true, mms.is_mobile?
731
+ iphones = ['att-iphone-01.mail',
732
+ 'iphone-image-01.mail']
733
+ iphones.each do |iphone|
734
+ mail = TMail::Mail.load(mail_fixture(iphone))
735
+ mms = MMS2R::Media.new(mail)
736
+ assert_equal :iphone, mms.device_type?, "fixture #{iphone} was not a iphone"
737
+ assert_equal true, mms.is_mobile?
738
+ end
735
739
  end
736
740
 
737
741
  def test_blackberry_device_type
@@ -10,7 +10,15 @@ class TestVzwpixCom < Test::Unit::TestCase
10
10
  include MMS2R::TestHelper
11
11
 
12
12
  def setup
13
- @ad = "This message was sent using PIX-FLIX Messaging service from Verizon Wireless!\nTo learn how you can snap pictures with your wireless phone visit\nwww.verizonwireless.com/getitnow/getpix."
13
+ @ad_new = %q{This message was sent using the Picture and Video Messaging service from Verizon Wireless!
14
+
15
+ To learn how you can snap pictures and capture videos with your wireless phone visit www.verizonwireless.com/picture.
16
+
17
+ Note: To play video messages sent to email, QuickTime® 6.5 or higher is required.}
18
+
19
+ @ad_old = %q{This message was sent using PIX-FLIX Messaging service from Verizon Wireless!
20
+ To learn how you can snap pictures with your wireless phone visit
21
+ www.verizonwireless.com/getitnow/getpix.}
14
22
  @greet = "This message was sent using PIX-FLIX Messaging service from Verizon Wireless!"
15
23
  end
16
24
 
@@ -90,15 +98,31 @@ class TestVzwpixCom < Test::Unit::TestCase
90
98
  assert_match(/04-09-07_1114.jpg$/, mms.media['image/jpeg'][0])
91
99
 
92
100
  assert_file_size mms.media['image/jpeg'][0], 337
93
-
101
+
94
102
  file = mms.media['text/plain'][0]
95
103
  assert_not_nil file
96
104
  assert_equal true, File::exist?(file)
97
105
  text = IO.readlines("#{file}").join
98
- assert_no_match(/Regexp.escape(@ad)/, text)
106
+ assert_no_match(/Regexp.escape(@ad_old)/, text)
99
107
  assert_no_match(/Regexp.escape@greet/, text)
100
108
  assert_equal "? Weird", text
101
-
109
+
110
+ mms.purge
111
+ end
112
+
113
+ def test_new_vzpix_com_image_with_body_text
114
+ # vzwpix.com service
115
+ mail = TMail::Mail.parse(load_mail('vzwpix.com-image-01.mail').join)
116
+ mms = MMS2R::Media.new(mail)
117
+
118
+ assert_equal 1, mms.media.size
119
+ assert_nil mms.media['text/plain']
120
+ assert_nil mms.media['text/html']
121
+ assert_not_nil mms.media['image/jpeg'][0]
122
+ assert_match(/0827092137.jpg$/, mms.media['image/jpeg'][0])
123
+
124
+ assert_file_size mms.media['image/jpeg'][0], 337
125
+
102
126
  mms.purge
103
127
  end
104
128
 
@@ -115,14 +139,14 @@ class TestVzwpixCom < Test::Unit::TestCase
115
139
  assert_match(/hello world/, text)
116
140
  mms.purge
117
141
  end
118
-
142
+
119
143
  def test_image_from_blackberry
120
144
  mail = TMail::Mail.parse(load_mail('verizon-blackberry.mail').join)
121
145
  mms = MMS2R::Media.new(mail)
122
-
146
+
123
147
  assert_not_nil mms.media['text/plain']
124
148
  assert_equal "Wonderful picture!", IO.readlines(mms.media['text/plain'].first).join.strip
125
-
149
+
126
150
  assert_not_nil mms.media['image/jpeg'].first
127
151
  assert_match(/Windows-1252\?B\?SU1HMDAwMTYuanBn/, mms.media['image/jpeg'].first)
128
152
  mms.purge
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mms2r
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.0
4
+ version: 2.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mike Mondragon
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-01-04 00:00:00 -08:00
12
+ date: 2009-08-31 00:00:00 -07:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -20,7 +20,7 @@ dependencies:
20
20
  requirements:
21
21
  - - ">="
22
22
  - !ruby/object:Gem::Version
23
- version: 0.6.0
23
+ version: "0"
24
24
  version:
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: tmail
@@ -30,7 +30,7 @@ dependencies:
30
30
  requirements:
31
31
  - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: 1.2.1
33
+ version: "0"
34
34
  version:
35
35
  - !ruby/object:Gem::Dependency
36
36
  name: hoe
@@ -42,7 +42,57 @@ dependencies:
42
42
  - !ruby/object:Gem::Version
43
43
  version: 1.8.2
44
44
  version:
45
- description: "== DESCRIPTION MMS2R is a library that decodes the parts of an 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. 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: * 1nbox/Idea: 1nbox.net * 3 Ireland: mms.3ireland.ie * Alltel: mms.alltel.com * AT&T/Cingular/Legacy: mms.att.net, txt.att.net, mmode.com, mms.mycingular.com, cingularme.com, mobile.mycingular.com pics.cingularme.com * Bell Canada: txt.bell.ca * Bell South / Suncom: bellsouth.net * Cricket Wireless: mms.mycricket.com * Dobson/Cellular One: mms.dobson.net * Helio: mms.myhelio.com * Hutchison 3G UK Ltd: mms.three.co.uk * INDOSAT M2: mobile.indosat.net.id * LUXGSM S.A.: mms.luxgsm.lu * Maroc Telecom / mms.mobileiam.ma * MTM South Africa: mms.mtn.co.za * NetCom (Norway): mms.netcom.no * Nextel: messaging.nextel.com * O2 Germany: mms.o2online.de * O2 UK: mediamessaging.o2.co.uk * Orange & Regional Oranges: orangemms.net, mmsemail.orange.pl, orange.fr * PLSPICTURES.COM mms hosting: waw.plspictures.com * PXT New Zealand: pxt.vodafone.net.nz * Rogers of Canada: rci.rogers.com * SaskTel: sms.sasktel.com * Sprint: pm.sprint.com, messaging.sprintpcs.com, sprintpcs.com * T-Mobile: tmomail.net, mmsreply.t-mobile.co.uk, tmo.blackberry.net * TELUS Corporation (Canada): mms.telusmobility.com, msg.telus.com * UAE MMS: mms.ae * Unicel: unicel.com, info2go.com (note: mobile number is tucked away in a text/plain part for unicel.com) * Verizon: vzwpix.com, vtext.com * Virgin Mobile: vmpix.com * Virgin Mobile of Canada: vmobile.ca * Vodacom: mms.vodacom4me.co.za"
45
+ description: |-
46
+ == DESCRIPTION
47
+
48
+ MMS2R is a library that decodes the parts of an MMS message to disk while
49
+ stripping out advertising injected by the mobile carriers. MMS messages are
50
+ multipart email and the carriers often inject branding into these messages. Use
51
+ MMS2R if you want to get at the real user generated content from a MMS without
52
+ having to deal with the cruft from the carriers.
53
+
54
+ If MMS2R is not aware of a particular carrier no extra processing is done to the
55
+ MMS other than decoding and consolidating its media.
56
+
57
+ Contact the author to add additional carriers to be processed by the library.
58
+ Suggestions and patches appreciated and welcomed!
59
+
60
+ Corpus of carriers currently processed by MMS2R:
61
+
62
+ * 1nbox/Idea: 1nbox.net
63
+ * 3 Ireland: mms.3ireland.ie
64
+ * Alltel: mms.alltel.com
65
+ * AT&T/Cingular/Legacy: mms.att.net, txt.att.net, mmode.com, mms.mycingular.com,
66
+ cingularme.com, mobile.mycingular.com pics.cingularme.com
67
+ * Bell Canada: txt.bell.ca
68
+ * Bell South / Suncom: bellsouth.net
69
+ * Cricket Wireless: mms.mycricket.com
70
+ * Dobson/Cellular One: mms.dobson.net
71
+ * Helio: mms.myhelio.com
72
+ * Hutchison 3G UK Ltd: mms.three.co.uk
73
+ * INDOSAT M2: mobile.indosat.net.id
74
+ * LUXGSM S.A.: mms.luxgsm.lu
75
+ * Maroc Telecom / mms.mobileiam.ma
76
+ * MTM South Africa: mms.mtn.co.za
77
+ * NetCom (Norway): mms.netcom.no
78
+ * Nextel: messaging.nextel.com
79
+ * O2 Germany: mms.o2online.de
80
+ * O2 UK: mediamessaging.o2.co.uk
81
+ * Orange & Regional Oranges: orangemms.net, mmsemail.orange.pl, orange.fr
82
+ * PLSPICTURES.COM mms hosting: waw.plspictures.com
83
+ * PXT New Zealand: pxt.vodafone.net.nz
84
+ * Rogers of Canada: rci.rogers.com
85
+ * SaskTel: sms.sasktel.com
86
+ * Sprint: pm.sprint.com, messaging.sprintpcs.com, sprintpcs.com
87
+ * T-Mobile: tmomail.net, mmsreply.t-mobile.co.uk, tmo.blackberry.net
88
+ * TELUS Corporation (Canada): mms.telusmobility.com, msg.telus.com
89
+ * UAE MMS: mms.ae
90
+ * Unicel: unicel.com, info2go.com
91
+ (note: mobile number is tucked away in a text/plain part for unicel.com)
92
+ * Verizon: vzwpix.com, vtext.com
93
+ * Virgin Mobile: vmpix.com
94
+ * Virgin Mobile of Canada: vmobile.ca
95
+ * Vodacom: mms.vodacom4me.co.za
46
96
  email: mikemondragon@gmail.com
47
97
  executables: []
48
98
 
@@ -95,6 +145,7 @@ files:
95
145
  - dev_tools/anonymizer.rb
96
146
  - dev_tools/debug_sprint_hpricot_parsing.rb
97
147
  - dev_tools/github.rb
148
+ - init.rb
98
149
  - lib/mms2r.rb
99
150
  - lib/mms2r/media.rb
100
151
  - lib/mms2r/media/sprint.rb
@@ -129,6 +180,7 @@ files:
129
180
  - test/fixtures/indosat-image-01.mail
130
181
  - test/fixtures/indosat-image-02.mail
131
182
  - test/fixtures/info2go-image-01.mail
183
+ - test/fixtures/iphone-image-01.mail
132
184
  - test/fixtures/luxgsm-image-01.mail
133
185
  - test/fixtures/maroctelecom-france-mms-01.mail
134
186
  - test/fixtures/mediamessaging_o2_co_uk-image-01.mail
@@ -184,6 +236,7 @@ files:
184
236
  - test/fixtures/vodacom4me-southafrica-mms-01.mail
185
237
  - test/fixtures/vodacom4me-southafrica-mms-04.mail
186
238
  - test/fixtures/vtext-text-01.mail
239
+ - test/fixtures/vzwpix.com-image-01.mail
187
240
  - test/fixtures/waw.plspictures.com-image-01.mail
188
241
  - test/test_1nbox_net.rb
189
242
  - test/test_bell_canada.rb
@@ -224,7 +277,9 @@ files:
224
277
  - vendor/plugins/mms2r/lib/autotest/mms2r.rb
225
278
  has_rdoc: true
226
279
  homepage: |
227
- by Mike Mondragon
280
+ http://mms2r.rubyforge.org/
281
+
282
+ licenses: []
228
283
 
229
284
  post_install_message:
230
285
  rdoc_options:
@@ -247,9 +302,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
247
302
  requirements: []
248
303
 
249
304
  rubyforge_project: mms2r
250
- rubygems_version: 1.3.1
305
+ rubygems_version: 1.3.2
251
306
  signing_key:
252
- specification_version: 2
307
+ specification_version: 3
253
308
  summary: Extract user media from MMS (and not carrier cruft)
254
309
  test_files:
255
310
  - test/test_mms_o2online_de.rb