mms2r 1.1.12 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (131) hide show
  1. data/History.txt +32 -2
  2. data/Manifest.txt +41 -79
  3. data/README.txt +50 -51
  4. data/Rakefile +3 -2
  5. data/conf/aliases.yml +8 -0
  6. data/conf/message.alltel.com.yml +14 -0
  7. data/conf/messaging.nextel.com.yml +10 -0
  8. data/conf/mms.att.net.yml +9 -0
  9. data/conf/mms.dobson.net.yml +4 -0
  10. data/conf/mms.luxgsm.lu.yml +8 -0
  11. data/conf/mms.myhelio.com.yml +12 -0
  12. data/conf/mms.netcom.no.yml +4 -0
  13. data/conf/mms.o2online.de.yml +8 -0
  14. data/conf/mms.three.co.uk.yml +15 -0
  15. data/conf/mms2r_media.yml +6 -0
  16. data/conf/orangemms.net.yml +13 -0
  17. data/conf/pm.sprint.com.yml +10 -0
  18. data/conf/pxt.vodafone.net.nz.yml +5 -0
  19. data/conf/tmomail.net.yml +16 -0
  20. data/conf/vzwpix.com.yml +8 -0
  21. data/dev_tools/anonymizer.rb +20 -0
  22. data/lib/mms2r.rb +19 -45
  23. data/lib/mms2r/media.rb +288 -300
  24. data/lib/mms2r/media/sprint.rb +189 -0
  25. data/test/fixtures/att-text-01.mail +27 -0
  26. data/test/fixtures/helio-image-01.mail +8 -8
  27. data/test/fixtures/helio-message-01.mail +327 -0
  28. data/test/fixtures/luxgsm-image-01.mail +388 -0
  29. data/test/fixtures/netcom-image-01.mail +556 -0
  30. data/test/fixtures/o2-de-image-01.mail +314 -0
  31. data/test/fixtures/orange-uk-image-01.mail +71 -0
  32. data/test/fixtures/pxt-image-01.mail +118 -0
  33. data/test/fixtures/sprint-broken-image-01.mail +1 -1
  34. data/test/fixtures/sprint-image-01.mail +211 -195
  35. data/test/fixtures/sprint-purged-image-01.mail +1 -1
  36. data/test/fixtures/sprint-two-images-01.mail +231 -198
  37. data/test/fixtures/sprint-video-01.mail +210 -195
  38. data/test/fixtures/three-uk-image-01.mail +1202 -0
  39. data/test/test_helper.rb +39 -0
  40. data/test/{test_mms2r_alltel_media.rb → test_message_alltel_com.rb} +13 -17
  41. data/test/{test_mms2r_nextel_media.rb → test_messaging_nextel_com.rb} +12 -19
  42. data/test/{test_mms2r_sprint_pcs_media.rb → test_messaging_sprintpcs_com.rb} +9 -10
  43. data/test/test_mms2r_media.rb +474 -316
  44. data/test/test_mms_att_net.rb +92 -0
  45. data/test/test_mms_dobson_net.rb +41 -0
  46. data/test/test_mms_luxgsm_lu.rb +50 -0
  47. data/test/test_mms_myhelio_com.rb +60 -0
  48. data/test/test_mms_netcom_no.rb +52 -0
  49. data/test/test_mms_o2online_de.rb +53 -0
  50. data/test/test_mms_three_co_uk.rb +42 -0
  51. data/test/test_orangemms_net.rb +100 -0
  52. data/test/test_pm_sprint_com.rb +201 -0
  53. data/test/test_pxt_vodafone_net_nz.rb +37 -0
  54. data/test/{test_mms2r_t_mobile_media.rb → test_tmomail_net.rb} +8 -19
  55. data/test/{test_mms2r_verizon_media.rb → test_vzwpix_com.rb} +34 -27
  56. data/vendor/plugins/mms2r/lib/autotest/mms2r.rb +16 -11
  57. metadata +128 -157
  58. data/conf/mms2r_alltel_media_ignore.yml +0 -13
  59. data/conf/mms2r_att_media_subject.yml +0 -3
  60. data/conf/mms2r_cingular_me_media_subject.yml +0 -3
  61. data/conf/mms2r_cingular_me_media_transform.yml +0 -7
  62. data/conf/mms2r_dobson_media_ignore.yml +0 -4
  63. data/conf/mms2r_helio_media_ignore.yml +0 -6
  64. data/conf/mms2r_media_ignore.yml +0 -5
  65. data/conf/mms2r_media_subject.yml +0 -3
  66. data/conf/mms2r_my_cingular_media_subject.yml +0 -3
  67. data/conf/mms2r_nextel_media_ignore.yml +0 -11
  68. data/conf/mms2r_orange_france_media_ignore.yml +0 -6
  69. data/conf/mms2r_orange_poland_media_subject.yml +0 -3
  70. data/conf/mms2r_sprint_media_ignore.yml +0 -7
  71. data/conf/mms2r_sprint_media_subject.yml +0 -3
  72. data/conf/mms2r_t_mobile_media_ignore.yml +0 -16
  73. data/conf/mms2r_verizon_media_ignore.yml +0 -4
  74. data/conf/mms2r_verizon_media_transform.yml +0 -5
  75. data/lib/mms2r/alltel_media.rb +0 -10
  76. data/lib/mms2r/att_media.rb +0 -13
  77. data/lib/mms2r/cingular_me_media.rb +0 -23
  78. data/lib/mms2r/dobson_media.rb +0 -13
  79. data/lib/mms2r/helio_media.rb +0 -20
  80. data/lib/mms2r/m_mode_media.rb +0 -13
  81. data/lib/mms2r/my_cingular_media.rb +0 -15
  82. data/lib/mms2r/nextel_media.rb +0 -17
  83. data/lib/mms2r/orange_france_media.rb +0 -10
  84. data/lib/mms2r/orange_poland_media.rb +0 -10
  85. data/lib/mms2r/sprint_media.rb +0 -182
  86. data/lib/mms2r/sprint_pcs_media.rb +0 -16
  87. data/lib/mms2r/t_mobile_media.rb +0 -21
  88. data/lib/mms2r/verizon_media.rb +0 -19
  89. data/lib/mms2r/vtext_media.rb +0 -16
  90. data/lib/vendor/text/format.rb +0 -1466
  91. data/lib/vendor/tmail.rb +0 -3
  92. data/lib/vendor/tmail/address.rb +0 -242
  93. data/lib/vendor/tmail/attachments.rb +0 -39
  94. data/lib/vendor/tmail/base64.rb +0 -71
  95. data/lib/vendor/tmail/config.rb +0 -69
  96. data/lib/vendor/tmail/encode.rb +0 -467
  97. data/lib/vendor/tmail/facade.rb +0 -552
  98. data/lib/vendor/tmail/header.rb +0 -914
  99. data/lib/vendor/tmail/info.rb +0 -35
  100. data/lib/vendor/tmail/loader.rb +0 -1
  101. data/lib/vendor/tmail/mail.rb +0 -447
  102. data/lib/vendor/tmail/mailbox.rb +0 -433
  103. data/lib/vendor/tmail/mbox.rb +0 -1
  104. data/lib/vendor/tmail/net.rb +0 -280
  105. data/lib/vendor/tmail/obsolete.rb +0 -135
  106. data/lib/vendor/tmail/parser.rb +0 -1522
  107. data/lib/vendor/tmail/port.rb +0 -377
  108. data/lib/vendor/tmail/quoting.rb +0 -131
  109. data/lib/vendor/tmail/scanner.rb +0 -41
  110. data/lib/vendor/tmail/scanner_r.rb +0 -263
  111. data/lib/vendor/tmail/stringio.rb +0 -277
  112. data/lib/vendor/tmail/tmail.rb +0 -1
  113. data/lib/vendor/tmail/utils.rb +0 -238
  114. data/test/fixtures/broken_from_spam.mail +0 -80
  115. data/test/fixtures/hello_world_empty_text.mail +0 -7
  116. data/test/fixtures/hello_world_mail_multipart.mail +0 -24
  117. data/test/fixtures/hello_world_mail_plain_no_content_type.mail +0 -7
  118. data/test/fixtures/hello_world_mail_plain_with_content_type.mail +0 -8
  119. data/test/fixtures/simple-with-two-images-two-texts.mail +0 -49
  120. data/test/fixtures/simple_image.mail +0 -19
  121. data/test/fixtures/simple_multipart_alternative.mail +0 -42
  122. data/test/test_mms2r_att_media.rb +0 -54
  123. data/test/test_mms2r_cingular_me_media.rb +0 -51
  124. data/test/test_mms2r_dobson_media.rb +0 -46
  125. data/test/test_mms2r_helio_media.rb +0 -49
  126. data/test/test_mms2r_m_mode_media.rb +0 -36
  127. data/test/test_mms2r_my_cingular_media.rb +0 -31
  128. data/test/test_mms2r_orange_france_media.rb +0 -53
  129. data/test/test_mms2r_orange_poland_media.rb +0 -42
  130. data/test/test_mms2r_sprint_media.rb +0 -269
  131. data/test/test_mms2r_vtext_media.rb +0 -28
@@ -1 +0,0 @@
1
- require 'tmail'
@@ -1,238 +0,0 @@
1
- #
2
- # utils.rb
3
- #
4
- #--
5
- # Copyright (c) 1998-2003 Minero Aoki <aamine@loveruby.net>
6
- #
7
- # Permission is hereby granted, free of charge, to any person obtaining
8
- # a copy of this software and associated documentation files (the
9
- # "Software"), to deal in the Software without restriction, including
10
- # without limitation the rights to use, copy, modify, merge, publish,
11
- # distribute, sublicense, and/or sell copies of the Software, and to
12
- # permit persons to whom the Software is furnished to do so, subject to
13
- # the following conditions:
14
- #
15
- # The above copyright notice and this permission notice shall be
16
- # included in all copies or substantial portions of the Software.
17
- #
18
- # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
19
- # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
20
- # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
21
- # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
22
- # LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
23
- # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
24
- # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
25
- #
26
- # Note: Originally licensed under LGPL v2+. Using MIT license for Rails
27
- # with permission of Minero Aoki.
28
- #++
29
-
30
- module TMail
31
-
32
- class SyntaxError < StandardError; end
33
-
34
-
35
- def TMail.new_boundary
36
- 'mimepart_' + random_tag
37
- end
38
-
39
- def TMail.new_message_id( fqdn = nil )
40
- fqdn ||= ::Socket.gethostname
41
- "<#{random_tag()}@#{fqdn}.tmail>"
42
- end
43
-
44
- def TMail.random_tag
45
- @uniq += 1
46
- t = Time.now
47
- sprintf('%x%x_%x%x%d%x',
48
- t.to_i, t.tv_usec,
49
- $$, Thread.current.object_id, @uniq, rand(255))
50
- end
51
- private_class_method :random_tag
52
-
53
- @uniq = 0
54
-
55
-
56
- module TextUtils
57
-
58
- aspecial = '()<>[]:;.\\,"'
59
- tspecial = '()<>[];:\\,"/?='
60
- lwsp = " \t\r\n"
61
- control = '\x00-\x1f\x7f-\xff'
62
-
63
- ATOM_UNSAFE = /[#{Regexp.quote aspecial}#{control}#{lwsp}]/n
64
- PHRASE_UNSAFE = /[#{Regexp.quote aspecial}#{control}]/n
65
- TOKEN_UNSAFE = /[#{Regexp.quote tspecial}#{control}#{lwsp}]/n
66
- CONTROL_CHAR = /[#{control}]/n
67
-
68
- def atom_safe?( str )
69
- not ATOM_UNSAFE === str
70
- end
71
-
72
- def quote_atom( str )
73
- (ATOM_UNSAFE === str) ? dquote(str) : str
74
- end
75
-
76
- def quote_phrase( str )
77
- (PHRASE_UNSAFE === str) ? dquote(str) : str
78
- end
79
-
80
- def token_safe?( str )
81
- not TOKEN_UNSAFE === str
82
- end
83
-
84
- def quote_token( str )
85
- (TOKEN_UNSAFE === str) ? dquote(str) : str
86
- end
87
-
88
- def dquote( str )
89
- '"' + str.gsub(/["\\]/n) {|s| '\\' + s } + '"'
90
- end
91
- private :dquote
92
-
93
-
94
- def join_domain( arr )
95
- arr.map {|i|
96
- if /\A\[.*\]\z/ === i
97
- i
98
- else
99
- quote_atom(i)
100
- end
101
- }.join('.')
102
- end
103
-
104
-
105
- ZONESTR_TABLE = {
106
- 'jst' => 9 * 60,
107
- 'eet' => 2 * 60,
108
- 'bst' => 1 * 60,
109
- 'met' => 1 * 60,
110
- 'gmt' => 0,
111
- 'utc' => 0,
112
- 'ut' => 0,
113
- 'nst' => -(3 * 60 + 30),
114
- 'ast' => -4 * 60,
115
- 'edt' => -4 * 60,
116
- 'est' => -5 * 60,
117
- 'cdt' => -5 * 60,
118
- 'cst' => -6 * 60,
119
- 'mdt' => -6 * 60,
120
- 'mst' => -7 * 60,
121
- 'pdt' => -7 * 60,
122
- 'pst' => -8 * 60,
123
- 'a' => -1 * 60,
124
- 'b' => -2 * 60,
125
- 'c' => -3 * 60,
126
- 'd' => -4 * 60,
127
- 'e' => -5 * 60,
128
- 'f' => -6 * 60,
129
- 'g' => -7 * 60,
130
- 'h' => -8 * 60,
131
- 'i' => -9 * 60,
132
- # j not use
133
- 'k' => -10 * 60,
134
- 'l' => -11 * 60,
135
- 'm' => -12 * 60,
136
- 'n' => 1 * 60,
137
- 'o' => 2 * 60,
138
- 'p' => 3 * 60,
139
- 'q' => 4 * 60,
140
- 'r' => 5 * 60,
141
- 's' => 6 * 60,
142
- 't' => 7 * 60,
143
- 'u' => 8 * 60,
144
- 'v' => 9 * 60,
145
- 'w' => 10 * 60,
146
- 'x' => 11 * 60,
147
- 'y' => 12 * 60,
148
- 'z' => 0 * 60
149
- }
150
-
151
- def timezone_string_to_unixtime( str )
152
- if m = /([\+\-])(\d\d?)(\d\d)/.match(str)
153
- sec = (m[2].to_i * 60 + m[3].to_i) * 60
154
- m[1] == '-' ? -sec : sec
155
- else
156
- min = ZONESTR_TABLE[str.downcase] or
157
- raise SyntaxError, "wrong timezone format '#{str}'"
158
- min * 60
159
- end
160
- end
161
-
162
-
163
- WDAY = %w( Sun Mon Tue Wed Thu Fri Sat TMailBUG )
164
- MONTH = %w( TMailBUG Jan Feb Mar Apr May Jun
165
- Jul Aug Sep Oct Nov Dec TMailBUG )
166
-
167
- def time2str( tm )
168
- # [ruby-list:7928]
169
- gmt = Time.at(tm.to_i)
170
- gmt.gmtime
171
- offset = tm.to_i - Time.local(*gmt.to_a[0,6].reverse).to_i
172
-
173
- # DO NOT USE strftime: setlocale() breaks it
174
- sprintf '%s, %s %s %d %02d:%02d:%02d %+.2d%.2d',
175
- WDAY[tm.wday], tm.mday, MONTH[tm.month],
176
- tm.year, tm.hour, tm.min, tm.sec,
177
- *(offset / 60).divmod(60)
178
- end
179
-
180
-
181
- MESSAGE_ID = /<[^\@>]+\@[^>\@]+>/
182
-
183
- def message_id?( str )
184
- MESSAGE_ID === str
185
- end
186
-
187
-
188
- MIME_ENCODED = /=\?[^\s?=]+\?[QB]\?[^\s?=]+\?=/i
189
-
190
- def mime_encoded?( str )
191
- MIME_ENCODED === str
192
- end
193
-
194
-
195
- def decode_params( hash )
196
- new = Hash.new
197
- encoded = nil
198
- hash.each do |key, value|
199
- if m = /\*(?:(\d+)\*)?\z/.match(key)
200
- ((encoded ||= {})[m.pre_match] ||= [])[(m[1] || 0).to_i] = value
201
- else
202
- new[key] = to_kcode(value)
203
- end
204
- end
205
- if encoded
206
- encoded.each do |key, strings|
207
- new[key] = decode_RFC2231(strings.join(''))
208
- end
209
- end
210
-
211
- new
212
- end
213
-
214
- NKF_FLAGS = {
215
- 'EUC' => '-e -m',
216
- 'SJIS' => '-s -m'
217
- }
218
-
219
- def to_kcode( str )
220
- flag = NKF_FLAGS[$KCODE] or return str
221
- NKF.nkf(flag, str)
222
- end
223
-
224
- RFC2231_ENCODED = /\A(?:iso-2022-jp|euc-jp|shift_jis|us-ascii)?'[a-z]*'/in
225
-
226
- def decode_RFC2231( str )
227
- m = RFC2231_ENCODED.match(str) or return str
228
- begin
229
- NKF.nkf(NKF_FLAGS[$KCODE],
230
- m.post_match.gsub(/%[\da-f]{2}/in) {|s| s[1,2].hex.chr })
231
- rescue
232
- m.post_match.gsub(/%[\da-f]{2}/in, "")
233
- end
234
- end
235
-
236
- end
237
-
238
- end
@@ -1,80 +0,0 @@
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 &quot;manpower candies&quot;
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&quot;4&quot;" 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 &quot;manpower candies&quot;</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,7 +0,0 @@
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
-
7
-
@@ -1,24 +0,0 @@
1
- Message-Id: <00000000000002.0123456789@mx.mms.example.com>
2
- Mime-Version: 1.0
3
- From: 2068675309@mms.example.com
4
- To: tommytutone@example.com
5
- Subject: text only
6
- Date: Thu, 11 Jan 2007 02:28:22 -0500
7
- Content-Type: multipart/mixed; boundary="----=_Part_1061064_5544954.1168500502466"
8
-
9
- ------=_Part_1061064_5544954.1168500502466
10
- Content-Type: text/plain; charset=utf-8
11
- Content-Transfer-Encoding: base64
12
- Content-Location: hello_world.txt
13
- Content-Disposition: inline
14
-
15
- aGVsbG8gd29ybGQ=
16
- ------=_Part_1061064_5544954.1168500502466
17
- Content-Type: application/smil;Charset=UTF-8;Name=mms.smil.txt
18
- content-location: mms.smil.txt
19
- content-id: <mms.smil.txt>
20
- Content-Transfer-Encoding: 7bit
21
-
22
- Water
23
- ------=_Part_1061064_5544954.1168500502466--
24
-
@@ -1,7 +0,0 @@
1
- From:2068675309@mms.example.com
2
- To:tommytutone@example.com
3
- Subject: text only
4
- Message-Id: <00000000000001.0123456789@mx.mms.example.com>
5
- Date: Wed, 10 Jan 2007 08:18:30 -0600 (CST)
6
-
7
- hello world
@@ -1,8 +0,0 @@
1
- From:2068675309@mms.example.com
2
- To:tommytutone@example.com
3
- Subject: text only
4
- Message-Id: <00000000000001.0123456789@mx.mms.example.com>
5
- Content-Type: text/plain; charset=utf-8
6
- Date: Wed, 10 Jan 2007 08:18:30 -0600 (CST)
7
-
8
- hello world
@@ -1,49 +0,0 @@
1
- X-Priority: 3
2
- Importance: Normal
3
- From: 2068675309@examle.com
4
- To: tommytutone@example.com
5
- Subject:
6
- Message-ID: <012345678901AAAAAF@-89012333336789012111>
7
- Date: Tue, 2 Jan 2007 13:22:45 -0600
8
- MIME-Version: 1.0
9
- Content-Type: multipart/mixed;
10
- type="application/smil";
11
- boundary="__CONTENT_01234_PART_BOUNDARY__01234567__"
12
-
13
- --__CONTENT_01234_PART_BOUNDARY__01234567__
14
- content-type: text/plain
15
- Content-Location: small.txt
16
-
17
- small
18
-
19
- --__CONTENT_01234_PART_BOUNDARY__01234567__
20
- Content-Type: text/plain; charset=utf-8
21
- Content-Transfer-Encoding: base64
22
- Content-Location: big.txt
23
- Content-Disposition: inline
24
-
25
- dGhpcyBzaG91bGQgYmUgYmlnZ2VyIHRleHQ=
26
-
27
- --__CONTENT_01234_PART_BOUNDARY__01234567__
28
- Content-Type: image/gif; name=small.gif
29
- Content-Transfer-Encoding: base64
30
- Content-Disposition: attachment; filename=small.gif
31
- Content-ID: <small.gif>
32
-
33
- R0lGODlhAQABAIAAAP///wAAACH5BAAAAAAALAAAAAABAAEAAAICRAEAOw==
34
-
35
- --__CONTENT_01234_PART_BOUNDARY__01234567__
36
- Content-Type: image/jpeg;
37
- name="big.jpg"
38
- Content-Location: big.jpg
39
- Content-Transfer-Encoding: base64
40
-
41
- /9j/4AAQSkZJRgABAQEASABIAAD/4QAWRXhpZgAATU0AKgAAAAgAAAAAAAD//gAXQ3JlYXRl
42
- ZCB3aXRoIFRoZSBHSU1Q/9sAQwAFAwQEBAMFBAQEBQUFBgcMCAcHBwcPCwsJDBEPEhIRDxER
43
- ExYcFxMUGhURERghGBodHR8fHxMXIiQiHiQcHh8e/9sAQwEFBQUHBgcOCAgOHhQRFB4eHh4e
44
- Hh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4e/8AAEQgAAQAB
45
- AwEiAAIRAQMRAf/EABUAAQEAAAAAAAAAAAAAAAAAAAAH/8QAFBABAAAAAAAAAAAAAAAAAAAA
46
- AP/EABUBAQEAAAAAAAAAAAAAAAAAAAcI/8QAFBEBAAAAAAAAAAAAAAAAAAAAAP/aAAwDAQAC
47
- EQMRAD8AlgA6WW//2Q==
48
- --__CONTENT_01234_PART_BOUNDARY__01234567__--
49
-
@@ -1,19 +0,0 @@
1
- Mime-Version: 1.0
2
- Message-Id: <00000000000001.0123456789@mx.mms.example.com>
3
- Date: Sun, 29 Oct 2006 20:40:30 -0800 (PST)
4
- To: tommytutone@example.com
5
- From: 2068675309@mms.example.com
6
- Subject: image test
7
- Content-Type: multipart/related; type="multipart/alternative";
8
- boundary="----=_Part_1224755_98719.1162204830872"; start="<SMIL.TXT>"
9
- X-Mms-Delivery-Report: no
10
-
11
- ------=_Part_1224755_98719.1162204830872
12
- Content-Type: image/gif; name=spacer.gif
13
- Content-Transfer-Encoding: base64
14
- Content-Disposition: attachment; filename=spacer.gif
15
- Content-ID: <spacer.gif>
16
-
17
- R0lGODlhAQABAIAAAP///wAAACH5BAAAAAAALAAAAAABAAEAAAICRAEAOw==
18
- ------=_Part_1224755_98719.1162204830872--
19
-
@@ -1,42 +0,0 @@
1
- Mime-Version: 1.0
2
- Message-Id: <00000000000001.0123456789@mx.mms.example.com>
3
- Date: Sun, 29 Oct 2006 20:40:30 -0800 (PST)
4
- To: tommytutone@example.com
5
- From: 2068675309@mms.example.com
6
- Subject: image test
7
- Content-Type: multipart/related; type="multipart/alternative";
8
- boundary="----=_Part_1224755_98719.1162204830872"; start="<SMIL.TXT>"
9
- X-Mms-Delivery-Report: no
10
-
11
- This is a multi-part message in MIME format.
12
-
13
- ------=_Part_1224755_98719.1162204830872
14
- Content-Type: multipart/alternative; boundary="abcd_0123456789_abcdefg"
15
-
16
-
17
- --abcd_0123456789_abcdefg
18
- Content-Type: text/plain; charset="utf-8"
19
-
20
- This is an MMS message. Hello World.
21
-
22
- --abcd_0123456789_abcdefg
23
- Content-Type: text/html; charset="utf-8"
24
-
25
- <html><body>
26
-
27
- <center>This is an MMS message. <br><center>Hello World.</center><br><img src="cid:spacer.gif" border="0" alt="spacer.gif"><p>
28
- <p><br><p>
29
- </center>
30
- </body></html>
31
-
32
- --abcd_0123456789_abcdefg--
33
-
34
- ------=_Part_1224755_98719.1162204830872
35
- Content-Type: image/gif; name=spacer.gif
36
- Content-Transfer-Encoding: base64
37
- Content-Disposition: attachment; filename=spacer.gif
38
- Content-ID: <spacer.gif>
39
-
40
- R0lGODlhAQABAIAAAP///wAAACH5BAAAAAAALAAAAAABAAEAAAICRAEAOw==
41
- ------=_Part_1224755_98719.1162204830872--
42
-