mms2r 1.1.9 → 1.1.10
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +6 -0
- data/Manifest.txt +5 -0
- data/README.txt +1 -0
- data/conf/mms2r_alltel_media_ignore.yml +13 -0
- data/conf/mms2r_media_ignore.yml +3 -2
- data/lib/mms2r/alltel_media.rb +10 -0
- data/lib/mms2r/media.rb +5 -2
- data/lib/mms2r.rb +3 -1
- data/test/fixtures/alltel-image-01.mail +319 -0
- data/test/fixtures/broken_from_spam.mail +80 -0
- data/test/fixtures/hello_world_empty_text.mail +6 -5
- data/test/test_mms2r_alltel_media.rb +39 -0
- data/test/test_mms2r_media.rb +7 -8
- metadata +9 -3
data/History.txt
CHANGED
@@ -1,3 +1,9 @@
|
|
1
|
+
== 1.1.10 / 2007-09-30 (Face Bones)
|
2
|
+
|
3
|
+
* fixed a case for a nil match on From in the create method (Luke Francl)
|
4
|
+
* added support for Alltel message.alltel.com (Ben Wood)
|
5
|
+
|
6
|
+
|
1
7
|
== 1.1.9 / 2007-09-08 (Rebecca Nightrod - controlling girlfriend of Nathan
|
2
8
|
Explosion)
|
3
9
|
|
data/Manifest.txt
CHANGED
@@ -2,6 +2,7 @@ History.txt
|
|
2
2
|
Manifest.txt
|
3
3
|
README.txt
|
4
4
|
Rakefile
|
5
|
+
conf/mms2r_alltel_media_ignore.yml
|
5
6
|
conf/mms2r_att_media_subject.yml
|
6
7
|
conf/mms2r_cingular_me_media_subject.yml
|
7
8
|
conf/mms2r_cingular_me_media_transform.yml
|
@@ -21,6 +22,7 @@ conf/mms2r_verizon_media_transform.yml
|
|
21
22
|
dev_tools/debug_sprint_hpricot_parsing.rb
|
22
23
|
lib/mms2r.rb
|
23
24
|
lib/mms2r/a_t_t_media.rb
|
25
|
+
lib/mms2r/alltel_media.rb
|
24
26
|
lib/mms2r/cingular_me_media.rb
|
25
27
|
lib/mms2r/dobson_media.rb
|
26
28
|
lib/mms2r/helio_media.rb
|
@@ -59,8 +61,10 @@ lib/vendor/tmail/scanner_r.rb
|
|
59
61
|
lib/vendor/tmail/stringio.rb
|
60
62
|
lib/vendor/tmail/tmail.rb
|
61
63
|
lib/vendor/tmail/utils.rb
|
64
|
+
test/fixtures/alltel-image-01.mail
|
62
65
|
test/fixtures/att-image-01.mail
|
63
66
|
test/fixtures/att-image-02.mail
|
67
|
+
test/fixtures/broken_from_spam.mail
|
64
68
|
test/fixtures/cingularme-text-01.mail
|
65
69
|
test/fixtures/cingularme-text-02.mail
|
66
70
|
test/fixtures/dobson-image-01.mail
|
@@ -98,6 +102,7 @@ test/fixtures/verizon-video-01.mail
|
|
98
102
|
test/fixtures/vtext-text-01.mail
|
99
103
|
test/test_helper.rb
|
100
104
|
test/test_mms2r_a_t_t_media.rb
|
105
|
+
test/test_mms2r_alltel_media.rb
|
101
106
|
test/test_mms2r_cingular_me_media.rb
|
102
107
|
test/test_mms2r_dobson_media.rb
|
103
108
|
test/test_mms2r_helio_media.rb
|
data/README.txt
CHANGED
data/conf/mms2r_media_ignore.yml
CHANGED
data/lib/mms2r/media.rb
CHANGED
@@ -70,7 +70,10 @@ module MMS2R
|
|
70
70
|
def self.create(mail, logger=nil)
|
71
71
|
d = lambda{['mms2r.media',MMS2R::Media]} #sets a default to detect
|
72
72
|
cc = MMS2R::CARRIER_CLASSES.detect(d) do |n, c|
|
73
|
-
|
73
|
+
match = /[^@]+@(.+)/.match(mail.from[0].strip)
|
74
|
+
# check for nil match -- usually a malformed message, but it's better
|
75
|
+
# not to choke on it.
|
76
|
+
match && match[1] && (match[1].downcase == n.downcase)
|
74
77
|
end
|
75
78
|
cls = cc[1]
|
76
79
|
cls.new(mail, cc[0], logger)
|
@@ -289,7 +292,7 @@ module MMS2R
|
|
289
292
|
m = /^([^\/]+)\//.match(type)[1]
|
290
293
|
# fire each regular expression, only break if there is a match
|
291
294
|
ignore = a.each do |i|
|
292
|
-
if m
|
295
|
+
if m == 'text' || type == 'application/smil' || type == 'multipart/mixed'
|
293
296
|
s = part.body.gsub(/\s+/m," ").strip
|
294
297
|
break(i) if i.match(s)
|
295
298
|
end
|
data/lib/mms2r.rb
CHANGED
@@ -6,6 +6,7 @@
|
|
6
6
|
|
7
7
|
$:.unshift(File.dirname(__FILE__) + "/vendor/")
|
8
8
|
require 'mms2r/media'
|
9
|
+
require 'mms2r/alltel_media'
|
9
10
|
require 'mms2r/a_t_t_media'
|
10
11
|
require 'mms2r/cingular_me_media'
|
11
12
|
require 'mms2r/dobson_media'
|
@@ -31,6 +32,7 @@ module MMS2R
|
|
31
32
|
# is not available MMS2R::Media should be used.
|
32
33
|
|
33
34
|
CARRIER_CLASSES = {
|
35
|
+
'message.alltel.com' => MMS2R::AlltelMedia,
|
34
36
|
'mms.att.net' => MMS2R::ATTMedia,
|
35
37
|
'cingularme.com' => MMS2R::CingularMeMedia,
|
36
38
|
'mms.dobson.net' => MMS2R::DobsonMedia,
|
@@ -65,7 +67,7 @@ module MMS2R
|
|
65
67
|
##
|
66
68
|
# MMS2R Library version
|
67
69
|
|
68
|
-
VERSION = '1.1.
|
70
|
+
VERSION = '1.1.10'
|
69
71
|
|
70
72
|
end
|
71
73
|
|
@@ -0,0 +1,319 @@
|
|
1
|
+
Message-ID: <13492716.1190256530131.JavaMail.root@md-00>
|
2
|
+
Date: Wed, 19 Sep 2007 21:49:04 -0500 (CDT)
|
3
|
+
From: 2068675309@message.alltel.com
|
4
|
+
To: dude@example.com
|
5
|
+
Mime-Version: 1.0
|
6
|
+
Content-Type: multipart/mixed;
|
7
|
+
boundary="----=_Part_339199_26204483.1190256530127"
|
8
|
+
X-Mms-Delivery-Report: no
|
9
|
+
X-Mms-Delivery-Time: Wed, 19 Sep 07 21:49:04 CDT
|
10
|
+
X-Mms-MMS-Version: 1.0
|
11
|
+
X-Mms-Message-Class: Personal
|
12
|
+
X-Mms-Message-Type: m-send-req
|
13
|
+
X-Mms-Message-Size: 16113
|
14
|
+
X-Mms-Read-Reply: no
|
15
|
+
X-Mms-Transaction-ID: 1190238538
|
16
|
+
X-Mms-Message-ID: 12054900501@mms.alltel.com
|
17
|
+
X-Priority: 3
|
18
|
+
X-HostedBy: Ericsson
|
19
|
+
X-Original-From: 2068675309@mms.alltel.com
|
20
|
+
X-Original-Return-Path: <12068675309@mms.alltel.com>
|
21
|
+
|
22
|
+
------=_Part_339199_26204483.1190256530127
|
23
|
+
Content-Type: multipart/related; type="application/smil";
|
24
|
+
boundary="----=_Part_408709_2609320.1190256544347"; start="<mms.smil.txt>"
|
25
|
+
|
26
|
+
------=_Part_408709_2609320.1190256544347
|
27
|
+
Content-Type: multipart/alternative; name=mms;
|
28
|
+
boundary="----=_Part_339198_11649589.1190256530123"
|
29
|
+
Content-Disposition: attachment; filename=mms
|
30
|
+
|
31
|
+
------=_Part_339198_11649589.1190256530123
|
32
|
+
Content-Type: text/html; charset=iso-8859-1
|
33
|
+
Content-Transfer-Encoding: 7bit
|
34
|
+
|
35
|
+
<html>
|
36
|
+
<head>
|
37
|
+
<title>Picture Messaging</title>
|
38
|
+
<style>
|
39
|
+
body {
|
40
|
+
margin: 0px;
|
41
|
+
background-color: #FFFFFF;
|
42
|
+
font-size: 11pix;
|
43
|
+
font-family: Arial;
|
44
|
+
}
|
45
|
+
table {
|
46
|
+
margin: 0px;
|
47
|
+
font-size: 11px;
|
48
|
+
font-family: Arial;
|
49
|
+
}
|
50
|
+
</style>
|
51
|
+
</head>
|
52
|
+
<body marginwidth="0" marginheight="0" leftmargin="0" topmargin="0" bgcolor="#FFFFFF">
|
53
|
+
<table border="0" width="640" cellspacing="0" cellpadding="0">
|
54
|
+
<tr>
|
55
|
+
<td><a href="http://www.alltel.com/axcess/picture_messaging.html"><img src="cid:alltel_logo.jpg" width="125" height="58" border="0" alt="Alltel"></a></td>
|
56
|
+
<td width="509" height="58" colspan="2"><img src="cid:spacer.gif" width="509" height="58" alt=""></td>
|
57
|
+
</tr>
|
58
|
+
<tr>
|
59
|
+
<td width="640" height="6" colspan="3"><img src="cid:bluebar.gif" width="640" height="6" alt=""></td>
|
60
|
+
</tr>
|
61
|
+
<tr>
|
62
|
+
<td colspan="2" style="padding: 10px 10px 0px 10px;"><a href="http://www.alltel.com/axcess/picture_messaging.html"><img src="cid:header.gif" border="0"></a></td>
|
63
|
+
</tr>
|
64
|
+
<tr>
|
65
|
+
<td width="370">
|
66
|
+
<table border="0" width="333" cellspacing="0" cellpadding="0">
|
67
|
+
<tr>
|
68
|
+
<td width="333" colspan="4"><img src="cid:spacer.gif" width="333" height="15"></td>
|
69
|
+
</tr>
|
70
|
+
|
71
|
+
|
72
|
+
<tr>
|
73
|
+
<td width="333" colspan="3"><img src="cid:spacer.gif" width="350" height="15"></td>
|
74
|
+
</tr>
|
75
|
+
|
76
|
+
<tr><td width="333" colspan="3"><span class="normal">
|
77
|
+
|
78
|
+
<img src="cid:media1.jpeg" alt="eastern sky.jpg"><br><br>
|
79
|
+
</span></td></tr>
|
80
|
+
<tr>
|
81
|
+
<td width="333" colspan="3"><img src="cid:spacer.gif" width="350" height="15"></td>
|
82
|
+
</tr>
|
83
|
+
<tr>
|
84
|
+
<td width="333" colspan="3"><img src="cid:divider.gif" width="333"></td>
|
85
|
+
</tr>
|
86
|
+
|
87
|
+
|
88
|
+
<tr>
|
89
|
+
<td width="333" colspan="4"><img src="cid:spacer.gif" width="333" height="1"></td>
|
90
|
+
</tr>
|
91
|
+
</table>
|
92
|
+
</td>
|
93
|
+
</tr>
|
94
|
+
<tr>
|
95
|
+
<td width="640" height="5" colspan="3"><img src="cid:greenbar.gif" alt=""></td>
|
96
|
+
</tr>
|
97
|
+
<tr>
|
98
|
+
<td width="640" height="35" colspan="3" style="padding: 10px 10px 10px 10px;"><font color="999999">Alltel has no control over, and is not responsible for, the content or use of this picture or the accompanying personal message.</font></td>
|
99
|
+
</tr>
|
100
|
+
<tr>
|
101
|
+
<td> <img src="cid:spacer.gif" width="125" height="1" alt=""></td>
|
102
|
+
<td> <img src="cid:spacer.gif" width="208" height="1" alt=""></td>
|
103
|
+
<td> <img src="cid:spacer.gif" width="301" height="1" alt=""></td>
|
104
|
+
</tr>
|
105
|
+
</table>
|
106
|
+
<!-- SMIL to HTML provided by Ericsson Systems Integration North America --></body></html>
|
107
|
+
------=_Part_339198_11649589.1190256530123--
|
108
|
+
|
109
|
+
------=_Part_408709_2609320.1190256544347
|
110
|
+
Content-Type: image/jpeg; name="eastern sky.jpg"
|
111
|
+
Content-Transfer-Encoding: base64
|
112
|
+
Content-ID: <media1.jpeg>
|
113
|
+
Content-Disposition: attachment; filename="eastern sky.jpg"
|
114
|
+
|
115
|
+
/9j/4AAQSkZJRgABAQEASABIAAD/4QAWRXhpZgAATU0AKgAAAAgAAAAAAAD//gAXQ3JlYXRl
|
116
|
+
ZCB3aXRoIFRoZSBHSU1Q/9sAQwAFAwQEBAMFBAQEBQUFBgcMCAcHBwcPCwsJDBEPEhIRDxER
|
117
|
+
ExYcFxMUGhURERghGBodHR8fHxMXIiQiHiQcHh8e/9sAQwEFBQUHBgcOCAgOHhQRFB4eHh4e
|
118
|
+
Hh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4e/8AAEQgAAQAB
|
119
|
+
AwEiAAIRAQMRAf/EABUAAQEAAAAAAAAAAAAAAAAAAAAH/8QAFBABAAAAAAAAAAAAAAAAAAAA
|
120
|
+
AP/EABUBAQEAAAAAAAAAAAAAAAAAAAcI/8QAFBEBAAAAAAAAAAAAAAAAAAAAAP/aAAwDAQAC
|
121
|
+
EQMRAD8AlgA6WW//2Q==
|
122
|
+
------=_Part_408709_2609320.1190256544347
|
123
|
+
Content-Type: image/gif; name=divider.gif
|
124
|
+
Content-Transfer-Encoding: base64
|
125
|
+
Content-Disposition: attachment; filename=divider.gif
|
126
|
+
Content-ID: <divider.gif>
|
127
|
+
|
128
|
+
R0lGODlhTAIBAIAAAL7E2QAAACH5BAAAAAAALAAAAABMAgEAAAIWhI+py+0Po5y02ouz3rz7D4bi
|
129
|
+
SJZfAQA7
|
130
|
+
------=_Part_408709_2609320.1190256544347
|
131
|
+
Content-Type: image/gif; name=spacer.gif
|
132
|
+
Content-Transfer-Encoding: base64
|
133
|
+
Content-Disposition: attachment; filename=spacer.gif
|
134
|
+
Content-ID: <spacer.gif>
|
135
|
+
|
136
|
+
R0lGODlhAQABAIAAAAAAAAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==
|
137
|
+
------=_Part_408709_2609320.1190256544347
|
138
|
+
Content-Type: image/gif; name=bluebar.gif
|
139
|
+
Content-Transfer-Encoding: base64
|
140
|
+
Content-Disposition: attachment; filename=bluebar.gif
|
141
|
+
Content-ID: <bluebar.gif>
|
142
|
+
|
143
|
+
R0lGODlhegIGAIAAAABJqgAAACH5BAAAAAAALAAAAAB6AgYAAAJBhI+py+0Po5y02ouz3rz7D4bi
|
144
|
+
SJbmiabqyrbuC8fyTNf2jef6zvf+DwwKh8Si8YhMKpfMpvMJjUqn1Kr1is1qhwUAOw==
|
145
|
+
------=_Part_408709_2609320.1190256544347
|
146
|
+
Content-Type: image/gif; name=header.gif
|
147
|
+
Content-Transfer-Encoding: base64
|
148
|
+
Content-Disposition: attachment; filename=header.gif
|
149
|
+
Content-ID: <header.gif>
|
150
|
+
|
151
|
+
R0lGODlhLgEyAMQAAICq3kB/zr/U7hBfwe/0+5+/5nCf2t/q9yBpxTB0yc/f81CK0mCU1o+04q/J
|
152
|
+
6gBUvf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAA
|
153
|
+
AAAALAAAAAAuATIAAAX/ICSOZGmeaKqubOu+cCzPdG3feK7vfO//wKBwSCwaj8ikcslsOp/QqHRK
|
154
|
+
rVqv2Kx2y+16v+AjYfAAhB/odKIhCjxWBwHBB0A7Sga0oFnfh6UFaAhQBAoicSMKhiVoAY5uD2wG
|
155
|
+
ASt9dGgLJQh6TQUBi39QCQ8LD35MDgEGCQd1iwOUjG8jAg8JLpY9dWhzIrVkp6HCOQekCg8MI5MF
|
156
|
+
IqkGzaMDDAcjDtEAvQqltncQBAxkCGYQAXcCCgAIzw4IsSRoshCT1dHT8psJlJ6gqhCeAgxMQUj3
|
157
|
+
AAEzE3UCHoQQMKAfbWjsiSAorZc1TIsOLCAzwEAvAgbILBAQgNk+eZ9G/xmkpbLAvGE78jDb1OvA
|
158
|
+
gAEKbA6YEygBgIAI5jh4EABAqUxjBgAAQIaaGwMARjFTgCCBRwAGBjFo4G4EvBHFBrkR0fNnQQKe
|
159
|
+
kJnJBYHowAc3P+VhEDUSwgdDb4kY4FOgTXF5gr5dYBQZhFo+A4vYBLXUuKNGyawV6EYd0weGjill
|
160
|
+
SgbmDgQ75T1YmHeUHwSCRc8cJMJhrWeHAeyxdQgAsz0HDND9aY2kCTRLlzImNwt1L5lv/bB1WyfB
|
161
|
+
nGLJFocm0acUtaEFLAWk5q8M8V5L33bLfkBBADYi3B7LJMJxcuJ+ApkptejYLM83hkY/pldEHu8Q
|
162
|
+
HAMbCccUtVRAZpDh0/8ppajjQC/lQNAAVACwY4BvsqSByRxjCXhCLstRUsdBDai1lBvBJDeUGQER
|
163
|
+
YMkA4gTnVonSFMCdfQs0AIo3ArjEHF60eGfJWL54R9sIROJnwzYaYlYNGujVMg4JtbTzSEkQHMDA
|
164
|
+
JgUZ4uIocDED0nloMbNAeQN6ZYoAbHJH3GEAlgCiQOmJSGdzV34ip0AwEkDKe3DlCVtaaMAmwEaN
|
165
|
+
zFFKAlv9eIqU7yUJqVtI3qfkDH5utlQpsOlEhiHQ0QJATg8MSIAAB8TxXB0LnEoNWjfN8JUJY4Xq
|
166
|
+
y6jv5dqWnfEBeYgce+6RRx53WFIVlYacAw1mCjxUSgOBoLcrBENJW+L/ZHtI6l0CA5DQ2aU0lJhm
|
167
|
+
Md0S50Bec4C2yCjUcNsLfdeK4OcCBY7ArayWkkCkuiKwKx5ZAJbIq7yUEgDaXXvYV64lefhRIhs3
|
168
|
+
HYdZKX5UW8d4biWVrGSR3gdpQt4ElC+4L2yyIwRS1QHbsIfFNVyALhs2hi0BAENcO5tMCcOsJRAp
|
169
|
+
QMyGppElGY6MMjDA7ZCx0Ai5bBKdJQQYPYpzb8FiNJxEubFTMURFM4BJGiLYcZBmRK3GKCTL4KLO
|
170
|
+
t2aHjbxLPTfJAkvnFgDdI7joiAFuNrBAAAyk+EJ4J2QH1txLC0C4Agyo4uJtALh5WOOBn6A4d5ff
|
171
|
+
yh0BXJFZTeN4i6DA/ySeH/a3AQp40s0BDYwKaeaG13aKA7YRkGTauOcuxAFFMU0nCwAEsDksuhdv
|
172
|
+
fA8BFVVKVysocJMBWf1+/PTUy+AS4Eu30MrfkVfv/ffghy/++OSXb/754MchOPrsn29eGgNIawOl
|
173
|
+
qk4BaYDrt3D7D5Q2274SNlFLSOxyg37oCgrmOcj+XrDAHhiwgf8TgriCxBodsKUKEGRBBn2wwQhe
|
174
|
+
gj0TmRJBViIvcBBlff2IXj5U8I1wjOMfpegILSCBAPR4ogDbOJMJEkgOoqVph9tIQDfcoICWjKAB
|
175
|
+
YEqAHybxvgBtQyI9e0bNiPJDDwKBa2s42Vzqgh5uQeVTv9GHG+iigv+n1IUZdZAGF7MEl6WY5i1E
|
176
|
+
MUtqyDaQnGWPBElZSlNu9kUnlYUzHIJLO/6ClbOEsY5luKMVf8AO+L3NVhAADVpGcwhKvSMWFzzB
|
177
|
+
kVqBRgAVQ4x++NifJkJAOr5JBa+5VbboJB+UgIcyhmHIA7jTSkbEooOL7IEC/NYICZkoeKZwTHA2
|
178
|
+
ccgDnqBBBngQKU9hyTjwElt5G6Upcakg2VTKlPiryyq5A6Pg1IF50zplLoXAJjw2BU9Xel+ewEmp
|
179
|
+
TJrgS2j4mq7ccgCjQU9I0rNkkcaBSy1xCQGG0JYZfgaLwqzSK7C4UhUphctx3mCPleqRr7IkhxYl
|
180
|
+
QnDtlN47UeWNAsT/KkSyXIQou8HG6ExzZCWoXyv+JNBIpmZI9zkWLU4WzoY6tAZ5YEUz4OKNgh1s
|
181
|
+
RaKTplcw6atllKBe/eoWSN3QC7E1512UpBKAmNoGPZEgXj3NREuPZLaD+odODysmVVGiyJvSwGxN
|
182
|
+
wljSohqQfMCFppSqBTzcwLabBSBn89RHoEDTpebAAh8muN8uKMEJc9LMZi0FSs0UJE6zBWBqvbgk
|
183
|
+
Kd1CV7PyoACNK4rkAAK4YOBQFZJj2kIUZ4YCiOMEfuus5kRLFkc0wG4r7RH3IgsWa5LFNsb0RvBA
|
184
|
+
e9va7kFvdNNIJmInr841gLasva1JbGvZMBgsfzhw5wuch9zmWpcFLzkKgnRdgADoXve7SMgceMdL
|
185
|
+
3vKa97zoTa9618ve9rr3vfCNr3znS9/62ve+4gsBADs=
|
186
|
+
------=_Part_408709_2609320.1190256544347
|
187
|
+
Content-Type: image/gif; name=greenbar.gif
|
188
|
+
Content-Transfer-Encoding: base64
|
189
|
+
Content-Disposition: attachment; filename=greenbar.gif
|
190
|
+
Content-ID: <greenbar.gif>
|
191
|
+
|
192
|
+
R0lGODlheQIEAIAAAMreXAAAACH5BAAAAAAALAAAAAB5AgQAAAIzhI+py+0Po5y02ouz3rz7D4bi
|
193
|
+
SJbmiabqyrbuC8fyTNf2jef6zvf+DwwKh8Si8YhMKmcFADs=
|
194
|
+
------=_Part_408709_2609320.1190256544347
|
195
|
+
Content-Type: image/jpeg; name=alltel_logo.jpg
|
196
|
+
Content-Transfer-Encoding: base64
|
197
|
+
Content-Disposition: attachment; filename=alltel_logo.jpg
|
198
|
+
Content-ID: <alltel_logo.jpg>
|
199
|
+
|
200
|
+
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
|
297
|
+
------=_Part_408709_2609320.1190256544347--
|
298
|
+
|
299
|
+
------=_Part_339199_26204483.1190256530127
|
300
|
+
Content-Type: multipart/mixed;
|
301
|
+
boundary="----=_Part_339197_32172314.1190256530112"
|
302
|
+
|
303
|
+
------=_Part_339197_32172314.1190256530112
|
304
|
+
Content-Type: image/jpeg; name="eastern sky.jpg"
|
305
|
+
Content-Transfer-Encoding: base64
|
306
|
+
Content-ID: <media1.jpeg>
|
307
|
+
Content-Disposition: attachment; filename="eastern sky.jpg"
|
308
|
+
|
309
|
+
/9j/4AAQSkZJRgABAQEASABIAAD/4QAWRXhpZgAATU0AKgAAAAgAAAAAAAD//gAXQ3JlYXRl
|
310
|
+
ZCB3aXRoIFRoZSBHSU1Q/9sAQwAFAwQEBAMFBAQEBQUFBgcMCAcHBwcPCwsJDBEPEhIRDxER
|
311
|
+
ExYcFxMUGhURERghGBodHR8fHxMXIiQiHiQcHh8e/9sAQwEFBQUHBgcOCAgOHhQRFB4eHh4e
|
312
|
+
Hh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4e/8AAEQgAAQAB
|
313
|
+
AwEiAAIRAQMRAf/EABUAAQEAAAAAAAAAAAAAAAAAAAAH/8QAFBABAAAAAAAAAAAAAAAAAAAA
|
314
|
+
AP/EABUBAQEAAAAAAAAAAAAAAAAAAAcI/8QAFBEBAAAAAAAAAAAAAAAAAAAAAP/aAAwDAQAC
|
315
|
+
EQMRAD8AlgA6WW//2Q==
|
316
|
+
------=_Part_339197_32172314.1190256530112--
|
317
|
+
|
318
|
+
------=_Part_339199_26204483.1190256530127--
|
319
|
+
|
@@ -0,0 +1,80 @@
|
|
1
|
+
Return-Path: <0a01a8c0@afcdesign.co.uk>
|
2
|
+
X-Original-To: foo@example.com
|
3
|
+
Delivered-To: catchall@example.com
|
4
|
+
Received: from [88.232.67.89] (unknown [88.232.67.89])
|
5
|
+
by mx5.example.com (Postfix) with ESMTP id B780C1E3BB
|
6
|
+
for <foo@example.com>; Fri, 28 Sep 2007 13:14:08 -0500 (CDT)
|
7
|
+
Received: from [88.232.67.89] by mail1.metronet.co.uk; Fri, 28 Sep 2007 13:18:09 +0200
|
8
|
+
Message-ID: <01c801c1$3fe86590$5943e858@0a01a8c0>
|
9
|
+
From: "Kevin Poe"
|
10
|
+
To: <foo@example.com>
|
11
|
+
Subject: RE: If it is up, it is up for long time
|
12
|
+
Date: Fri, 28 Sep 2007 13:18:09 +0200
|
13
|
+
MIME-Version: 1.0
|
14
|
+
Content-Type: multipart/alternative;
|
15
|
+
boundary="----=_NextPart_000_0007_01C801C1.3FE86590"
|
16
|
+
X-Priority: 3
|
17
|
+
X-MSMail-Priority: Normal
|
18
|
+
X-Mailer: Microsoft Outlook Express 5.50.4807.2300
|
19
|
+
X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4807.2300
|
20
|
+
|
21
|
+
This is a multi-part message in MIME format.
|
22
|
+
|
23
|
+
------=_NextPart_000_0007_01C801C1.3FE86590
|
24
|
+
Content-Type: text/plain;
|
25
|
+
charset="us-ascii"
|
26
|
+
Content-Transfer-Encoding: quoted-printable
|
27
|
+
|
28
|
+
|
29
|
+
|
30
|
+
|
31
|
+
Hey, can you make love more that 10 minutes?
|
32
|
+
|
33
|
+
|
34
|
+
|
35
|
+
Yes, you can with our "manpower candies"
|
36
|
+
|
37
|
+
|
38
|
+
All love enhancers (and many other meds) at one online store!
|
39
|
+
|
40
|
+
|
41
|
+
------=_NextPart_000_0007_01C801C1.3FE86590
|
42
|
+
Content-Type: text/html;
|
43
|
+
charset="us-ascii"
|
44
|
+
Content-Transfer-Encoding: quoted-printable
|
45
|
+
|
46
|
+
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
47
|
+
<HTML><HEAD>
|
48
|
+
<META http-equiv=3DContent-Type content=3D"text/html; charset=3Dus-ascii"=
|
49
|
+
>
|
50
|
+
<META content=3D"MSHTML 5.50.4807.2300" name=3DGENERATOR>
|
51
|
+
<STYLE></STYLE>
|
52
|
+
</HEAD>
|
53
|
+
<BODY>
|
54
|
+
<html>
|
55
|
+
<body>
|
56
|
+
<table width=3D"716" border=3D"0" align=3D"center" bgcolor=3D"#3DC5A5">
|
57
|
+
<tr>
|
58
|
+
<td>
|
59
|
+
<div align=3D"center"><font size=3D"3D"4"" face=3D"3Dverd=
|
60
|
+
ana"><strong>Hey, can you make love more that 10 minutes?
|
61
|
+
</strong></font></div>
|
62
|
+
|
63
|
+
<div align=3D"center"></div>
|
64
|
+
<p align=3D"center"><font size=3D"+1" face=3D"3Dverdana"><strong>Yes,=
|
65
|
+
you can with our "manpower candies"</strong></font></p></td>
|
66
|
+
</tr>
|
67
|
+
</table>
|
68
|
+
<table width=3D"716" border=3D"0" align=3D"center" bgcolor=3D"#3DFFF3">
|
69
|
+
<tr>
|
70
|
+
<td><div align=3D"center"><strong><font color=3D"#FFFFFF"><a href=3D"=
|
71
|
+
http://especiallylove.cn" target=3D"_blank">All love enhancers (and many =
|
72
|
+
other meds) at one online store!</a></font></strong></div></td>
|
73
|
+
</tr>
|
74
|
+
</table>
|
75
|
+
</body>
|
76
|
+
</html>
|
77
|
+
|
78
|
+
</BODY></HTML>
|
79
|
+
|
80
|
+
------=_NextPart_000_0007_01C801C1.3FE86590--
|
@@ -1,6 +1,7 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
1
|
+
Message-Id: <00000000000001.0123456789@mx.mms.example.com>
|
2
|
+
Date: Wed, 10 Jan 2007 08:18:30 -0600 (CST)
|
3
|
+
From:2068675309@mms.example.com
|
4
|
+
To:tommytutone@example.com
|
5
|
+
Subject: text only
|
6
6
|
|
7
|
+
|
@@ -0,0 +1,39 @@
|
|
1
|
+
$:.unshift File.join(File.dirname(__FILE__), "..", "lib")
|
2
|
+
require File.dirname(__FILE__) + "/test_helper"
|
3
|
+
require 'test/unit'
|
4
|
+
require 'rubygems'
|
5
|
+
require 'mms2r'
|
6
|
+
require 'mms2r/media'
|
7
|
+
require 'tmail/mail'
|
8
|
+
require 'logger'
|
9
|
+
|
10
|
+
|
11
|
+
class MMS2R::AlltelMediaTest < Test::Unit::TestCase
|
12
|
+
include MMS2R::TestHelper
|
13
|
+
|
14
|
+
def test_alltel_image
|
15
|
+
mail = TMail::Mail.parse(load_mail('alltel-image-01.mail').join)
|
16
|
+
mms = MMS2R::Media.create(mail)
|
17
|
+
assert_equal mms.class, MMS2R::AlltelMedia
|
18
|
+
|
19
|
+
mms.process
|
20
|
+
|
21
|
+
assert_equal 1, mms.media.size, "Size is #{mms.media.size}"
|
22
|
+
assert_not_nil mms.media['image/jpeg'][0]
|
23
|
+
assert_match(/eastern sky.jpg$/, mms.media['image/jpeg'][0])
|
24
|
+
|
25
|
+
assert_file_size mms.media['image/jpeg'][0], 337
|
26
|
+
|
27
|
+
mms.purge
|
28
|
+
end
|
29
|
+
|
30
|
+
def test_get_media_should_return_user_generated_content
|
31
|
+
mail = TMail::Mail.parse(load_mail('alltel-image-01.mail').join)
|
32
|
+
mms = MMS2R::Media.create(mail)
|
33
|
+
mms.process
|
34
|
+
file = mms.get_media
|
35
|
+
assert_equal 'eastern sky.jpg', file.original_filename
|
36
|
+
mms.purge
|
37
|
+
end
|
38
|
+
|
39
|
+
end
|
data/test/test_mms2r_media.rb
CHANGED
@@ -242,14 +242,6 @@ class MMS2R::MediaTest < Test::Unit::TestCase
|
|
242
242
|
mms.purge
|
243
243
|
end
|
244
244
|
|
245
|
-
def test_transform_text_should_ignore_empty_text_parts
|
246
|
-
mail = TMail::Mail.parse(load_mail('hello_world_empty_text.mail').join)
|
247
|
-
mms = MMS2R::Media.create(mail)
|
248
|
-
mms.process
|
249
|
-
assert_equal 0, mms.media.size
|
250
|
-
mms.purge
|
251
|
-
end
|
252
|
-
|
253
245
|
def test_ignore_text
|
254
246
|
use_temp_dirs()
|
255
247
|
a=[/^hello world$/]
|
@@ -409,4 +401,11 @@ class MMS2R::MediaTest < Test::Unit::TestCase
|
|
409
401
|
assert_equal 'mms2r_media_ignore.yml', MMS2R::Media.yaml_file_name(MMS2R::MyCingularMedia.superclass,:ignore)
|
410
402
|
assert_equal 'mms2r_media_transform.yml', MMS2R::Media.yaml_file_name(MMS2R::Media,:transform)
|
411
403
|
end
|
404
|
+
|
405
|
+
def test_create_should_fail_gracefully_with_broken_from
|
406
|
+
assert_nothing_raised do
|
407
|
+
mail = TMail::Mail.parse(load_mail('broken_from_spam.mail').join)
|
408
|
+
mms = MMS2R::Media.create(mail)
|
409
|
+
end
|
410
|
+
end
|
412
411
|
end
|
metadata
CHANGED
@@ -3,15 +3,15 @@ rubygems_version: 0.9.4
|
|
3
3
|
specification_version: 1
|
4
4
|
name: mms2r
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 1.1.
|
7
|
-
date: 2007-09-
|
6
|
+
version: 1.1.10
|
7
|
+
date: 2007-09-30 00:00:00 -07:00
|
8
8
|
summary: Extract user media from MMS (and not carrier cruft)
|
9
9
|
require_paths:
|
10
10
|
- lib
|
11
11
|
email: mikemondragon@gmail.com
|
12
12
|
homepage: http://mms2r.rubyforge.org/
|
13
13
|
rubyforge_project: mms2r
|
14
|
-
description: "== DESCRIPTION: MMS2R is a library that decodes the parts of an MMS message to disk while stripping out advertising injected by the cellphone 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: * AT&T => mms.att.net * AT&T/Cingular => mmode.com * Cingular => mms.mycingular.com * Cingular => cingularme.com * Dobson/Cellular One => mms.dobson.net * Helio => mms.myhelio.com * Nextel => messaging.nextel.com * Orange (Poland) => mmsemail.orange.pl * Orange (France) => orange.fr * Sprint => pm.sprint.com * Sprint => messaging.sprintpcs.com * T-Mobile => tmomail.net * Verizon => vzwpix.com * Verizon => vtext.com"
|
14
|
+
description: "== DESCRIPTION: MMS2R is a library that decodes the parts of an MMS message to disk while stripping out advertising injected by the cellphone 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: * Alltel => message.alltel.com * AT&T => mms.att.net * AT&T/Cingular => mmode.com * Cingular => mms.mycingular.com * Cingular => cingularme.com * Dobson/Cellular One => mms.dobson.net * Helio => mms.myhelio.com * Nextel => messaging.nextel.com * Orange (Poland) => mmsemail.orange.pl * Orange (France) => orange.fr * Sprint => pm.sprint.com * Sprint => messaging.sprintpcs.com * T-Mobile => tmomail.net * Verizon => vzwpix.com * Verizon => vtext.com"
|
15
15
|
autorequire:
|
16
16
|
default_executable:
|
17
17
|
bindir: bin
|
@@ -33,6 +33,7 @@ files:
|
|
33
33
|
- Manifest.txt
|
34
34
|
- README.txt
|
35
35
|
- Rakefile
|
36
|
+
- conf/mms2r_alltel_media_ignore.yml
|
36
37
|
- conf/mms2r_att_media_subject.yml
|
37
38
|
- conf/mms2r_cingular_me_media_subject.yml
|
38
39
|
- conf/mms2r_cingular_me_media_transform.yml
|
@@ -52,6 +53,7 @@ files:
|
|
52
53
|
- dev_tools/debug_sprint_hpricot_parsing.rb
|
53
54
|
- lib/mms2r.rb
|
54
55
|
- lib/mms2r/a_t_t_media.rb
|
56
|
+
- lib/mms2r/alltel_media.rb
|
55
57
|
- lib/mms2r/cingular_me_media.rb
|
56
58
|
- lib/mms2r/dobson_media.rb
|
57
59
|
- lib/mms2r/helio_media.rb
|
@@ -90,8 +92,10 @@ files:
|
|
90
92
|
- lib/vendor/tmail/stringio.rb
|
91
93
|
- lib/vendor/tmail/tmail.rb
|
92
94
|
- lib/vendor/tmail/utils.rb
|
95
|
+
- test/fixtures/alltel-image-01.mail
|
93
96
|
- test/fixtures/att-image-01.mail
|
94
97
|
- test/fixtures/att-image-02.mail
|
98
|
+
- test/fixtures/broken_from_spam.mail
|
95
99
|
- test/fixtures/cingularme-text-01.mail
|
96
100
|
- test/fixtures/cingularme-text-02.mail
|
97
101
|
- test/fixtures/dobson-image-01.mail
|
@@ -129,6 +133,7 @@ files:
|
|
129
133
|
- test/fixtures/vtext-text-01.mail
|
130
134
|
- test/test_helper.rb
|
131
135
|
- test/test_mms2r_a_t_t_media.rb
|
136
|
+
- test/test_mms2r_alltel_media.rb
|
132
137
|
- test/test_mms2r_cingular_me_media.rb
|
133
138
|
- test/test_mms2r_dobson_media.rb
|
134
139
|
- test/test_mms2r_helio_media.rb
|
@@ -156,6 +161,7 @@ test_files:
|
|
156
161
|
- test/test_mms2r_sprint_media.rb
|
157
162
|
- test/test_mms2r_vtext_media.rb
|
158
163
|
- test/test_mms2r_dobson_media.rb
|
164
|
+
- test/test_mms2r_alltel_media.rb
|
159
165
|
- test/test_mms2r_orange_france_media.rb
|
160
166
|
- test/test_mms2r_m_mode_media.rb
|
161
167
|
- test/test_mms2r_verizon_media.rb
|