mailgun-ruby 1.2.15 → 1.3.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/CHANGELOG.md +52 -3
  4. data/Gemfile +1 -0
  5. data/README.md +2 -2
  6. data/docs/MessageBuilder.md +12 -0
  7. data/docs/Metrics.md +108 -0
  8. data/docs/Webhooks.md +4 -2
  9. data/lib/mailgun/chains.rb +1 -1
  10. data/lib/mailgun/client.rb +40 -30
  11. data/lib/mailgun/domains/domains.rb +19 -0
  12. data/lib/mailgun/events/events.rb +4 -4
  13. data/lib/mailgun/exceptions/exceptions.rb +7 -7
  14. data/lib/mailgun/messages/message_builder.rb +14 -2
  15. data/lib/mailgun/metrics/metrics.rb +61 -0
  16. data/lib/mailgun/response.rb +11 -10
  17. data/lib/mailgun/version.rb +1 -1
  18. data/lib/mailgun.rb +2 -1
  19. data/mailgun.gemspec +6 -3
  20. data/spec/integration/domains_spec.rb +95 -92
  21. data/spec/integration/email_validation_spec.rb +2 -1
  22. data/spec/integration/list_spec.rb +1 -1
  23. data/spec/integration/mailer_spec.rb +5 -5
  24. data/spec/integration/mailgun_spec.rb +14 -12
  25. data/spec/integration/metrics_spec.rb +218 -0
  26. data/spec/integration/routes_spec.rb +17 -1
  27. data/spec/integration/stats_spec.rb +1 -1
  28. data/spec/integration/unsubscribes_spec.rb +2 -2
  29. data/spec/integration/webhook_spec.rb +1 -1
  30. data/spec/spec_helper.rb +1 -0
  31. data/spec/unit/connection/test_client.rb +1 -1
  32. data/spec/unit/events/events_spec.rb +1 -1
  33. data/spec/unit/exceptions/exceptions_spec.rb +3 -3
  34. data/spec/unit/messages/message_builder_spec.rb +4 -3
  35. data/vcr_cassettes/bounces.yml +59 -98
  36. data/vcr_cassettes/complaints.yml +237 -97
  37. data/vcr_cassettes/domains.yml +332 -763
  38. data/vcr_cassettes/email_validation.yml +81 -144
  39. data/vcr_cassettes/events.yml +24 -63
  40. data/vcr_cassettes/exceptions.yml +49 -2
  41. data/vcr_cassettes/list_members.yml +187 -179
  42. data/vcr_cassettes/mailing_list.yml +309 -17
  43. data/vcr_cassettes/metrics.yml +116 -0
  44. data/vcr_cassettes/routes.yml +246 -246
  45. data/vcr_cassettes/send_message.yml +54 -3
  46. data/vcr_cassettes/stats.yml +28 -24
  47. data/vcr_cassettes/suppressions.yml +229 -447
  48. data/vcr_cassettes/unsubscribes.yml +219 -9
  49. metadata +58 -15
  50. data/docs/Messages.md +0 -107
  51. /data/docs/{railgun/Templates.md → Templates.md} +0 -0
@@ -2,7 +2,7 @@
2
2
  http_interactions:
3
3
  - request:
4
4
  method: post
5
- uri: https://api:<APIKEY>@api.mailgun.net/v3/DOMAIN.TEST/bounces
5
+ uri: https://api.mailgun.net/bounces
6
6
  body:
7
7
  encoding: UTF-8
8
8
  string: '[{"address":"test4@example.info","code":"500","error":"integration
@@ -11,717 +11,499 @@ http_interactions:
11
11
  testing"},{"address":"test1@example.com","code":"500","error":"integration
12
12
  testing"}]'
13
13
  headers:
14
+ User-Agent:
15
+ - mailgun-sdk-ruby/1.3.2
14
16
  Accept:
15
17
  - "*/*"
16
- Accept-Encoding:
17
- - gzip, deflate
18
- User-Agent:
19
- - rest-client/2.0.0 (linux-gnu x86_64) ruby/2.3.1p112
20
18
  Content-Type:
21
19
  - application/json
22
- Content-Length:
23
- - '302'
24
- Host:
25
- - api.mailgun.net
20
+ Authorization:
21
+ - Basic xxx
22
+ Accept-Encoding:
23
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
26
24
  response:
27
25
  status:
28
26
  code: 200
29
27
  message: OK
30
28
  headers:
31
- Server:
32
- - nginx
33
29
  Date:
34
- - Wed, 30 Nov 2016 20:51:44 GMT
35
- Content-Type:
36
- - application/json; charset=utf-8
30
+ - Tue, 25 Feb 2025 00:26:17 GMT
37
31
  Content-Length:
38
- - '62'
39
- Connection:
40
- - keep-alive
41
- Access-Control-Allow-Origin:
42
- - "*"
43
- Access-Control-Max-Age:
44
- - '600'
45
- Access-Control-Allow-Methods:
46
- - GET, POST, PUT, DELETE, OPTIONS
47
- Access-Control-Allow-Headers:
48
- - Content-Type, x-requested-with
32
+ - '0'
49
33
  body:
50
34
  encoding: UTF-8
51
35
  string: '{"message":"4 addresses have been added to the bounces table"}'
52
36
  http_version:
53
- recorded_at: Wed, 30 Nov 2016 20:53:49 GMT
37
+ recorded_at: Tue, 25 Feb 2025 00:26:17 GMT
54
38
  - request:
55
39
  method: delete
56
- uri: https://api:<APIKEY>@api.mailgun.net/v3/DOMAIN.TEST/bounces/test1@example.com
40
+ uri: https://api.mailgun.net/bounces/test1@example.com
57
41
  body:
58
42
  encoding: US-ASCII
59
43
  string: ''
60
44
  headers:
61
- Accept:
62
- - "*/*"
63
- Accept-Encoding:
64
- - gzip, deflate
65
45
  User-Agent:
66
- - rest-client/2.0.0 (linux-gnu x86_64) ruby/2.3.1p112
67
- Host:
68
- - api.mailgun.net
69
- response:
70
- status:
71
- code: 200
72
- message: OK
73
- headers:
74
- Server:
75
- - nginx
76
- Date:
77
- - Wed, 30 Nov 2016 20:51:44 GMT
78
- Content-Type:
79
- - application/json; charset=utf-8
80
- Content-Length:
81
- - '76'
82
- Connection:
83
- - keep-alive
84
- Access-Control-Allow-Origin:
85
- - "*"
86
- Access-Control-Max-Age:
87
- - '600'
88
- Access-Control-Allow-Methods:
89
- - GET, POST, PUT, DELETE, OPTIONS
90
- Access-Control-Allow-Headers:
91
- - Content-Type, x-requested-with
92
- body:
93
- encoding: UTF-8
94
- string: '{"address":"test1@example.com","message":"Bounced address has been
95
- removed"}'
96
- http_version:
97
- recorded_at: Wed, 30 Nov 2016 20:53:49 GMT
98
- - request:
99
- method: delete
100
- uri: https://api:<APIKEY>@api.mailgun.net/v3/DOMAIN.TEST/bounces/test2@example.org
101
- body:
102
- encoding: US-ASCII
103
- string: ''
104
- headers:
46
+ - mailgun-sdk-ruby/1.3.2
105
47
  Accept:
106
48
  - "*/*"
49
+ Authorization:
50
+ - Basic xxx
107
51
  Accept-Encoding:
108
- - gzip, deflate
109
- User-Agent:
110
- - rest-client/2.0.0 (linux-gnu x86_64) ruby/2.3.1p112
111
- Host:
112
- - api.mailgun.net
52
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
113
53
  response:
114
54
  status:
115
55
  code: 200
116
56
  message: OK
117
57
  headers:
118
- Server:
119
- - nginx
120
- Date:
121
- - Wed, 30 Nov 2016 20:51:44 GMT
122
58
  Content-Type:
123
- - application/json; charset=utf-8
59
+ - text/plain; charset=utf-8
60
+ X-Content-Type-Options:
61
+ - nosniff
62
+ Date:
63
+ - Tue, 25 Feb 2025 00:26:18 GMT
124
64
  Content-Length:
125
- - '76'
126
- Connection:
127
- - keep-alive
128
- Access-Control-Allow-Origin:
129
- - "*"
130
- Access-Control-Max-Age:
131
- - '600'
132
- Access-Control-Allow-Methods:
133
- - GET, POST, PUT, DELETE, OPTIONS
134
- Access-Control-Allow-Headers:
135
- - Content-Type, x-requested-with
65
+ - '19'
136
66
  body:
137
67
  encoding: UTF-8
138
- string: '{"address":"test2@example.org","message":"Bounced address has been
139
- removed"}'
68
+ string: '{"message":"Bounced address has been removed"}'
140
69
  http_version:
141
- recorded_at: Wed, 30 Nov 2016 20:53:50 GMT
70
+ recorded_at: Tue, 25 Feb 2025 00:26:18 GMT
142
71
  - request:
143
- method: delete
144
- uri: https://api:<APIKEY>@api.mailgun.net/v3/DOMAIN.TEST/bounces/test3@example.net
72
+ method: post
73
+ uri: https://api.mailgun.net/unsubscribes
145
74
  body:
146
- encoding: US-ASCII
147
- string: ''
75
+ encoding: UTF-8
76
+ string: '[{"address":"test4@example.info","tag":"integration"},{"address":"test3@example.net","tag":"integration"},{"address":"test2@example.org","tag":"integration"},{"address":"test1@example.com","tag":"integration"}]'
148
77
  headers:
78
+ User-Agent:
79
+ - mailgun-sdk-ruby/1.3.2
149
80
  Accept:
150
81
  - "*/*"
82
+ Content-Type:
83
+ - application/json
84
+ Authorization:
85
+ - Basic xxx
151
86
  Accept-Encoding:
152
- - gzip, deflate
153
- User-Agent:
154
- - rest-client/2.0.0 (linux-gnu x86_64) ruby/2.3.1p112
155
- Host:
156
- - api.mailgun.net
87
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
157
88
  response:
158
89
  status:
159
90
  code: 200
160
91
  message: OK
161
92
  headers:
162
- Server:
163
- - nginx
164
93
  Date:
165
- - Wed, 30 Nov 2016 20:51:45 GMT
166
- Content-Type:
167
- - application/json; charset=utf-8
94
+ - Tue, 25 Feb 2025 00:26:18 GMT
168
95
  Content-Length:
169
- - '76'
170
- Connection:
171
- - keep-alive
172
- Access-Control-Allow-Origin:
173
- - "*"
174
- Access-Control-Max-Age:
175
- - '600'
176
- Access-Control-Allow-Methods:
177
- - GET, POST, PUT, DELETE, OPTIONS
178
- Access-Control-Allow-Headers:
179
- - Content-Type, x-requested-with
96
+ - '0'
180
97
  body:
181
98
  encoding: UTF-8
182
- string: '{"address":"test3@example.net","message":"Bounced address has been
183
- removed"}'
99
+ string: '{"message":"4 addresses have been added to the unsubscribes table"}'
184
100
  http_version:
185
- recorded_at: Wed, 30 Nov 2016 20:53:50 GMT
101
+ recorded_at: Tue, 25 Feb 2025 00:26:18 GMT
186
102
  - request:
187
103
  method: delete
188
- uri: https://api:<APIKEY>@api.mailgun.net/v3/DOMAIN.TEST/bounces/test4@example.info
104
+ uri: https://api.mailgun.net/unsubscribes/test1@example.com
189
105
  body:
190
106
  encoding: US-ASCII
191
107
  string: ''
192
108
  headers:
109
+ User-Agent:
110
+ - mailgun-sdk-ruby/1.3.2
193
111
  Accept:
194
112
  - "*/*"
113
+ Authorization:
114
+ - Basic xxx
195
115
  Accept-Encoding:
196
- - gzip, deflate
197
- User-Agent:
198
- - rest-client/2.0.0 (linux-gnu x86_64) ruby/2.3.1p112
199
- Host:
200
- - api.mailgun.net
116
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
201
117
  response:
202
118
  status:
203
119
  code: 200
204
120
  message: OK
205
121
  headers:
206
- Server:
207
- - nginx
208
- Date:
209
- - Wed, 30 Nov 2016 20:51:45 GMT
210
122
  Content-Type:
211
- - application/json; charset=utf-8
123
+ - text/plain; charset=utf-8
124
+ X-Content-Type-Options:
125
+ - nosniff
126
+ Date:
127
+ - Tue, 25 Feb 2025 00:26:18 GMT
212
128
  Content-Length:
213
- - '77'
214
- Connection:
215
- - keep-alive
216
- Access-Control-Allow-Origin:
217
- - "*"
218
- Access-Control-Max-Age:
219
- - '600'
220
- Access-Control-Allow-Methods:
221
- - GET, POST, PUT, DELETE, OPTIONS
222
- Access-Control-Allow-Headers:
223
- - Content-Type, x-requested-with
129
+ - '19'
224
130
  body:
225
131
  encoding: UTF-8
226
- string: '{"address":"test4@example.info","message":"Bounced address has been
227
- removed"}'
132
+ string: '{"message":"Unsubscribe event has been removed"}'
228
133
  http_version:
229
- recorded_at: Wed, 30 Nov 2016 20:53:50 GMT
134
+ recorded_at: Tue, 25 Feb 2025 00:26:18 GMT
230
135
  - request:
231
136
  method: post
232
- uri: https://api:<APIKEY>@api.mailgun.net/v3/DOMAIN.TEST/unsubscribes
137
+ uri: https://api.mailgun.net/complaints
233
138
  body:
234
139
  encoding: UTF-8
235
- string: '[{"address":"test4@example.info","tag":"Tools"},{"address":"test3@example.net","tag":"Garden
236
- & Automotive"},{"address":"test2@example.org","tag":"Toys, Jewelry & Kids"},{"address":"test1@example.com","tag":"Outdoors,
237
- Books & Shoes"}]'
140
+ string: '[{"address":"test4@example.info"},{"address":"test3@example.net"},{"address":"test2@example.org"},{"address":"test1@example.com"}]'
238
141
  headers:
142
+ User-Agent:
143
+ - mailgun-sdk-ruby/1.3.2
239
144
  Accept:
240
145
  - "*/*"
241
- Accept-Encoding:
242
- - gzip, deflate
243
- User-Agent:
244
- - rest-client/2.0.0 (linux-gnu x86_64) ruby/2.3.1p112
245
146
  Content-Type:
246
147
  - application/json
247
- Content-Length:
248
- - '233'
249
- Host:
250
- - api.mailgun.net
148
+ Authorization:
149
+ - Basic xxx
150
+ Accept-Encoding:
151
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
251
152
  response:
252
153
  status:
253
154
  code: 200
254
155
  message: OK
255
156
  headers:
256
- Server:
257
- - nginx
258
157
  Date:
259
- - Wed, 30 Nov 2016 20:51:45 GMT
260
- Content-Type:
261
- - application/json; charset=utf-8
158
+ - Tue, 25 Feb 2025 00:26:19 GMT
262
159
  Content-Length:
263
- - '67'
264
- Connection:
265
- - keep-alive
266
- Access-Control-Allow-Origin:
267
- - "*"
268
- Access-Control-Max-Age:
269
- - '600'
270
- Access-Control-Allow-Methods:
271
- - GET, POST, PUT, DELETE, OPTIONS
272
- Access-Control-Allow-Headers:
273
- - Content-Type, x-requested-with
160
+ - '0'
274
161
  body:
275
162
  encoding: UTF-8
276
- string: '{"message":"4 addresses have been added to the unsubscribes table"}'
163
+ string: '{"message":"4 complaint addresses have been added to the complaints
164
+ table"}'
277
165
  http_version:
278
- recorded_at: Wed, 30 Nov 2016 20:53:51 GMT
166
+ recorded_at: Tue, 25 Feb 2025 00:26:19 GMT
279
167
  - request:
280
168
  method: delete
281
- uri: https://api:<APIKEY>@api.mailgun.net/v3/DOMAIN.TEST/unsubscribes/test1@example.com
169
+ uri: https://api.mailgun.net/complaints/test1@example.com
282
170
  body:
283
171
  encoding: US-ASCII
284
172
  string: ''
285
173
  headers:
174
+ User-Agent:
175
+ - mailgun-sdk-ruby/1.3.2
286
176
  Accept:
287
177
  - "*/*"
178
+ Authorization:
179
+ - Basic xxx
288
180
  Accept-Encoding:
289
- - gzip, deflate
290
- User-Agent:
291
- - rest-client/2.0.0 (linux-gnu x86_64) ruby/2.3.1p112
292
- Host:
293
- - api.mailgun.net
181
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
294
182
  response:
295
183
  status:
296
184
  code: 200
297
185
  message: OK
298
186
  headers:
299
- Server:
300
- - nginx
301
- Date:
302
- - Wed, 30 Nov 2016 20:51:46 GMT
303
187
  Content-Type:
304
- - application/json; charset=utf-8
188
+ - text/plain; charset=utf-8
189
+ X-Content-Type-Options:
190
+ - nosniff
191
+ Date:
192
+ - Tue, 25 Feb 2025 00:26:19 GMT
305
193
  Content-Length:
306
- - '78'
307
- Connection:
308
- - keep-alive
309
- Access-Control-Allow-Origin:
310
- - "*"
311
- Access-Control-Max-Age:
312
- - '600'
313
- Access-Control-Allow-Methods:
314
- - GET, POST, PUT, DELETE, OPTIONS
315
- Access-Control-Allow-Headers:
316
- - Content-Type, x-requested-with
194
+ - '19'
317
195
  body:
318
196
  encoding: UTF-8
319
- string: '{"address":"test1@example.com","message":"Unsubscribe event has been
320
- removed"}'
197
+ string: '{"message":"Spam complaint has been removed"}'
321
198
  http_version:
322
- recorded_at: Wed, 30 Nov 2016 20:53:51 GMT
199
+ recorded_at: Tue, 25 Feb 2025 00:26:19 GMT
323
200
  - request:
324
201
  method: delete
325
- uri: https://api:<APIKEY>@api.mailgun.net/v3/DOMAIN.TEST/unsubscribes/test2@example.org
202
+ uri: https://api.mailgun.net/bounces/test2@example.org
326
203
  body:
327
204
  encoding: US-ASCII
328
205
  string: ''
329
206
  headers:
207
+ User-Agent:
208
+ - mailgun-sdk-ruby/1.3.2
330
209
  Accept:
331
210
  - "*/*"
211
+ Authorization:
212
+ - Basic xxx
332
213
  Accept-Encoding:
333
- - gzip, deflate
334
- User-Agent:
335
- - rest-client/2.0.0 (linux-gnu x86_64) ruby/2.3.1p112
336
- Host:
337
- - api.mailgun.net
214
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
338
215
  response:
339
216
  status:
340
217
  code: 200
341
218
  message: OK
342
219
  headers:
343
- Server:
344
- - nginx
345
- Date:
346
- - Wed, 30 Nov 2016 20:51:46 GMT
347
220
  Content-Type:
348
- - application/json; charset=utf-8
221
+ - text/plain; charset=utf-8
222
+ X-Content-Type-Options:
223
+ - nosniff
224
+ Date:
225
+ - Tue, 25 Feb 2025 00:49:48 GMT
349
226
  Content-Length:
350
- - '78'
351
- Connection:
352
- - keep-alive
353
- Access-Control-Allow-Origin:
354
- - "*"
355
- Access-Control-Max-Age:
356
- - '600'
357
- Access-Control-Allow-Methods:
358
- - GET, POST, PUT, DELETE, OPTIONS
359
- Access-Control-Allow-Headers:
360
- - Content-Type, x-requested-with
227
+ - '19'
361
228
  body:
362
229
  encoding: UTF-8
363
- string: '{"address":"test2@example.org","message":"Unsubscribe event has been
364
- removed"}'
230
+ string: '{"message":"Bounced address has been removed"}
231
+
232
+ '
365
233
  http_version:
366
- recorded_at: Wed, 30 Nov 2016 20:53:51 GMT
234
+ recorded_at: Tue, 25 Feb 2025 00:49:48 GMT
367
235
  - request:
368
236
  method: delete
369
- uri: https://api:<APIKEY>@api.mailgun.net/v3/DOMAIN.TEST/unsubscribes/test3@example.net
237
+ uri: https://api.mailgun.net/bounces/test3@example.net
370
238
  body:
371
239
  encoding: US-ASCII
372
240
  string: ''
373
241
  headers:
242
+ User-Agent:
243
+ - mailgun-sdk-ruby/1.3.2
374
244
  Accept:
375
- - "*/*"
245
+ - "*/*"
246
+ Authorization:
247
+ - Basic xxx
376
248
  Accept-Encoding:
377
- - gzip, deflate
378
- User-Agent:
379
- - rest-client/2.0.0 (linux-gnu x86_64) ruby/2.3.1p112
380
- Host:
381
- - api.mailgun.net
249
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
382
250
  response:
383
251
  status:
384
252
  code: 200
385
253
  message: OK
386
254
  headers:
387
- Server:
388
- - nginx
389
- Date:
390
- - Wed, 30 Nov 2016 20:51:46 GMT
391
255
  Content-Type:
392
- - application/json; charset=utf-8
256
+ - text/plain; charset=utf-8
257
+ X-Content-Type-Options:
258
+ - nosniff
259
+ Date:
260
+ - Tue, 25 Feb 2025 00:49:48 GMT
393
261
  Content-Length:
394
- - '78'
395
- Connection:
396
- - keep-alive
397
- Access-Control-Allow-Origin:
398
- - "*"
399
- Access-Control-Max-Age:
400
- - '600'
401
- Access-Control-Allow-Methods:
402
- - GET, POST, PUT, DELETE, OPTIONS
403
- Access-Control-Allow-Headers:
404
- - Content-Type, x-requested-with
262
+ - '19'
405
263
  body:
406
264
  encoding: UTF-8
407
- string: '{"address":"test3@example.net","message":"Unsubscribe event has been
408
- removed"}'
265
+ string: '{"message":"Bounced address has been removed"}
266
+
267
+ '
409
268
  http_version:
410
- recorded_at: Wed, 30 Nov 2016 20:53:51 GMT
269
+ recorded_at: Tue, 25 Feb 2025 00:49:48 GMT
411
270
  - request:
412
271
  method: delete
413
- uri: https://api:<APIKEY>@api.mailgun.net/v3/DOMAIN.TEST/unsubscribes/test4@example.info
272
+ uri: https://api.mailgun.net/bounces/test4@example.info
414
273
  body:
415
274
  encoding: US-ASCII
416
275
  string: ''
417
276
  headers:
277
+ User-Agent:
278
+ - mailgun-sdk-ruby/1.3.2
418
279
  Accept:
419
- - "*/*"
280
+ - "*/*"
281
+ Authorization:
282
+ - Basic xxx
420
283
  Accept-Encoding:
421
- - gzip, deflate
422
- User-Agent:
423
- - rest-client/2.0.0 (linux-gnu x86_64) ruby/2.3.1p112
424
- Host:
425
- - api.mailgun.net
284
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
426
285
  response:
427
286
  status:
428
287
  code: 200
429
288
  message: OK
430
289
  headers:
431
- Server:
432
- - nginx
433
- Date:
434
- - Wed, 30 Nov 2016 20:51:46 GMT
435
290
  Content-Type:
436
- - application/json; charset=utf-8
291
+ - text/plain; charset=utf-8
292
+ X-Content-Type-Options:
293
+ - nosniff
294
+ Date:
295
+ - Tue, 25 Feb 2025 00:49:48 GMT
437
296
  Content-Length:
438
- - '79'
439
- Connection:
440
- - keep-alive
441
- Access-Control-Allow-Origin:
442
- - "*"
443
- Access-Control-Max-Age:
444
- - '600'
445
- Access-Control-Allow-Methods:
446
- - GET, POST, PUT, DELETE, OPTIONS
447
- Access-Control-Allow-Headers:
448
- - Content-Type, x-requested-with
297
+ - '19'
449
298
  body:
450
299
  encoding: UTF-8
451
- string: '{"address":"test4@example.info","message":"Unsubscribe event has been
452
- removed"}'
300
+ string: '{"message":"Bounced address has been removed"}
301
+
302
+ '
453
303
  http_version:
454
- recorded_at: Wed, 30 Nov 2016 20:53:52 GMT
304
+ recorded_at: Tue, 25 Feb 2025 00:49:48 GMT
455
305
  - request:
456
- method: post
457
- uri: https://api:<APIKEY>@api.mailgun.net/v3/DOMAIN.TEST/complaints
306
+ method: delete
307
+ uri: https://api.mailgun.net/unsubscribes/test2@example.org
458
308
  body:
459
- encoding: UTF-8
460
- string: '[{"address":"test4@example.info"},{"address":"test3@example.net"},{"address":"test2@example.org"},{"address":"test1@example.com"}]'
309
+ encoding: US-ASCII
310
+ string: ''
461
311
  headers:
312
+ User-Agent:
313
+ - mailgun-sdk-ruby/1.3.2
462
314
  Accept:
463
315
  - "*/*"
316
+ Authorization:
317
+ - Basic xxx
464
318
  Accept-Encoding:
465
- - gzip, deflate
466
- User-Agent:
467
- - rest-client/2.0.0 (linux-gnu x86_64) ruby/2.3.1p112
468
- Content-Type:
469
- - application/json
470
- Content-Length:
471
- - '130'
472
- Host:
473
- - api.mailgun.net
319
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
474
320
  response:
475
321
  status:
476
322
  code: 200
477
323
  message: OK
478
324
  headers:
479
- Server:
480
- - nginx
481
- Date:
482
- - Wed, 30 Nov 2016 20:51:47 GMT
483
325
  Content-Type:
484
- - application/json; charset=utf-8
326
+ - text/plain; charset=utf-8
327
+ X-Content-Type-Options:
328
+ - nosniff
329
+ Date:
330
+ - Tue, 25 Feb 2025 00:49:48 GMT
485
331
  Content-Length:
486
- - '75'
487
- Connection:
488
- - keep-alive
489
- Access-Control-Allow-Origin:
490
- - "*"
491
- Access-Control-Max-Age:
492
- - '600'
493
- Access-Control-Allow-Methods:
494
- - GET, POST, PUT, DELETE, OPTIONS
495
- Access-Control-Allow-Headers:
496
- - Content-Type, x-requested-with
332
+ - '19'
497
333
  body:
498
334
  encoding: UTF-8
499
- string: '{"message":"4 complaint addresses have been added to the complaints
500
- table"}'
335
+ string: '{"message":"Unsubscribe event has been removed"}
336
+
337
+ '
501
338
  http_version:
502
- recorded_at: Wed, 30 Nov 2016 20:53:52 GMT
339
+ recorded_at: Tue, 25 Feb 2025 00:49:48 GMT
503
340
  - request:
504
341
  method: delete
505
- uri: https://api:<APIKEY>@api.mailgun.net/v3/DOMAIN.TEST/complaints/test1@example.com
342
+ uri: https://api.mailgun.net/unsubscribes/test3@example.net
506
343
  body:
507
344
  encoding: US-ASCII
508
345
  string: ''
509
346
  headers:
347
+ User-Agent:
348
+ - mailgun-sdk-ruby/1.3.2
510
349
  Accept:
511
- - "*/*"
350
+ - "*/*"
351
+ Authorization:
352
+ - Basic xxx
512
353
  Accept-Encoding:
513
- - gzip, deflate
514
- User-Agent:
515
- - rest-client/2.0.0 (linux-gnu x86_64) ruby/2.3.1p112
516
- Host:
517
- - api.mailgun.net
354
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
518
355
  response:
519
356
  status:
520
357
  code: 200
521
358
  message: OK
522
359
  headers:
523
- Server:
524
- - nginx
525
- Date:
526
- - Wed, 30 Nov 2016 20:51:47 GMT
527
360
  Content-Type:
528
- - application/json; charset=utf-8
361
+ - text/plain; charset=utf-8
362
+ X-Content-Type-Options:
363
+ - nosniff
364
+ Date:
365
+ - Tue, 25 Feb 2025 00:49:48 GMT
529
366
  Content-Length:
530
- - '75'
531
- Connection:
532
- - keep-alive
533
- Access-Control-Allow-Origin:
534
- - "*"
535
- Access-Control-Max-Age:
536
- - '600'
537
- Access-Control-Allow-Methods:
538
- - GET, POST, PUT, DELETE, OPTIONS
539
- Access-Control-Allow-Headers:
540
- - Content-Type, x-requested-with
367
+ - '19'
541
368
  body:
542
369
  encoding: UTF-8
543
- string: '{"address":"test1@example.com","message":"Spam complaint has been removed"}'
370
+ string: '{"message":"Unsubscribe event has been removed"}
371
+
372
+ '
544
373
  http_version:
545
- recorded_at: Wed, 30 Nov 2016 20:53:52 GMT
374
+ recorded_at: Tue, 25 Feb 2025 00:49:48 GMT
546
375
  - request:
547
376
  method: delete
548
- uri: https://api:<APIKEY>@api.mailgun.net/v3/DOMAIN.TEST/complaints/test2@example.org
377
+ uri: https://api.mailgun.net/unsubscribes/test4@example.info
549
378
  body:
550
379
  encoding: US-ASCII
551
380
  string: ''
552
381
  headers:
382
+ User-Agent:
383
+ - mailgun-sdk-ruby/1.3.2
553
384
  Accept:
554
- - "*/*"
385
+ - "*/*"
386
+ Authorization:
387
+ - Basic xxx
555
388
  Accept-Encoding:
556
- - gzip, deflate
557
- User-Agent:
558
- - rest-client/2.0.0 (linux-gnu x86_64) ruby/2.3.1p112
559
- Host:
560
- - api.mailgun.net
389
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
561
390
  response:
562
391
  status:
563
392
  code: 200
564
393
  message: OK
565
394
  headers:
566
- Server:
567
- - nginx
568
- Date:
569
- - Wed, 30 Nov 2016 20:51:47 GMT
570
395
  Content-Type:
571
- - application/json; charset=utf-8
396
+ - text/plain; charset=utf-8
397
+ X-Content-Type-Options:
398
+ - nosniff
399
+ Date:
400
+ - Tue, 25 Feb 2025 00:49:48 GMT
572
401
  Content-Length:
573
- - '75'
574
- Connection:
575
- - keep-alive
576
- Access-Control-Allow-Origin:
577
- - "*"
578
- Access-Control-Max-Age:
579
- - '600'
580
- Access-Control-Allow-Methods:
581
- - GET, POST, PUT, DELETE, OPTIONS
582
- Access-Control-Allow-Headers:
583
- - Content-Type, x-requested-with
402
+ - '19'
584
403
  body:
585
404
  encoding: UTF-8
586
- string: '{"address":"test2@example.org","message":"Spam complaint has been removed"}'
405
+ string: '{"message":"Unsubscribe event has been removed"}
406
+
407
+ '
587
408
  http_version:
588
- recorded_at: Wed, 30 Nov 2016 20:53:52 GMT
409
+ recorded_at: Tue, 25 Feb 2025 00:49:48 GMT
589
410
  - request:
590
411
  method: delete
591
- uri: https://api:<APIKEY>@api.mailgun.net/v3/DOMAIN.TEST/complaints/test3@example.net
412
+ uri: https://api.mailgun.net/complaints/test2@example.org
592
413
  body:
593
414
  encoding: US-ASCII
594
415
  string: ''
595
416
  headers:
417
+ User-Agent:
418
+ - mailgun-sdk-ruby/1.3.2
596
419
  Accept:
597
420
  - "*/*"
421
+ Authorization:
422
+ - Basic xxx
598
423
  Accept-Encoding:
599
- - gzip, deflate
600
- User-Agent:
601
- - rest-client/2.0.0 (linux-gnu x86_64) ruby/2.3.1p112
602
- Host:
603
- - api.mailgun.net
424
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
604
425
  response:
605
426
  status:
606
427
  code: 200
607
428
  message: OK
608
429
  headers:
609
- Server:
610
- - nginx
611
430
  Date:
612
- - Wed, 30 Nov 2016 20:51:47 GMT
613
- Content-Type:
614
- - application/json; charset=utf-8
615
- Content-Length:
616
- - '75'
617
- Connection:
618
- - keep-alive
619
- Access-Control-Allow-Origin:
620
- - "*"
621
- Access-Control-Max-Age:
622
- - '600'
623
- Access-Control-Allow-Methods:
624
- - GET, POST, PUT, DELETE, OPTIONS
625
- Access-Control-Allow-Headers:
626
- - Content-Type, x-requested-with
431
+ - Sun, 26 Jan 2025 07:29:45 GMT
432
+ Strict-Transport-Security:
433
+ - max-age=63072000; includeSubDomains
434
+ X-Xss-Protection:
435
+ - 1; mode=block
627
436
  body:
628
437
  encoding: UTF-8
629
- string: '{"address":"test3@example.net","message":"Spam complaint has been removed"}'
438
+ string: '{"message":"Spam complaint has been removed"}
439
+
440
+ '
630
441
  http_version:
631
- recorded_at: Wed, 30 Nov 2016 20:53:53 GMT
442
+ recorded_at: Sun, 26 Jan 2025 07:29:45 GMT
632
443
  - request:
633
444
  method: delete
634
- uri: https://api:<APIKEY>@api.mailgun.net/v3/DOMAIN.TEST/complaints/test4@example.info
445
+ uri: https://api.mailgun.net/complaints/test3@example.net
635
446
  body:
636
447
  encoding: US-ASCII
637
448
  string: ''
638
449
  headers:
450
+ User-Agent:
451
+ - mailgun-sdk-ruby/1.3.2
639
452
  Accept:
640
- - "*/*"
453
+ - "*/*"
454
+ Authorization:
455
+ - Basic xxx
641
456
  Accept-Encoding:
642
- - gzip, deflate
643
- User-Agent:
644
- - rest-client/2.0.0 (linux-gnu x86_64) ruby/2.3.1p112
645
- Host:
646
- - api.mailgun.net
457
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
647
458
  response:
648
459
  status:
649
460
  code: 200
650
461
  message: OK
651
462
  headers:
652
- Server:
653
- - nginx
654
463
  Date:
655
- - Wed, 30 Nov 2016 20:51:47 GMT
656
- Content-Type:
657
- - application/json; charset=utf-8
658
- Content-Length:
659
- - '76'
660
- Connection:
661
- - keep-alive
662
- Access-Control-Allow-Origin:
663
- - "*"
664
- Access-Control-Max-Age:
665
- - '600'
666
- Access-Control-Allow-Methods:
667
- - GET, POST, PUT, DELETE, OPTIONS
668
- Access-Control-Allow-Headers:
669
- - Content-Type, x-requested-with
464
+ - Sun, 26 Jan 2025 07:29:45 GMT
465
+ Strict-Transport-Security:
466
+ - max-age=63072000; includeSubDomains
467
+ X-Xss-Protection:
468
+ - 1; mode=block
670
469
  body:
671
470
  encoding: UTF-8
672
- string: '{"address":"test4@example.info","message":"Spam complaint has been
673
- removed"}'
471
+ string: '{"message":"Spam complaint has been removed"}
472
+
473
+ '
674
474
  http_version:
675
- recorded_at: Wed, 30 Nov 2016 20:53:53 GMT
475
+ recorded_at: Sun, 26 Jan 2025 07:29:45 GMT
676
476
  - request:
677
- method: post
678
- uri: https://api:<APIKEY>@api.mailgun.net/v3/DOMAIN.TEST/unsubscribes
477
+ method: delete
478
+ uri: https://api.mailgun.net/complaints/test4@example.info
679
479
  body:
680
- encoding: UTF-8
681
- string: '[{"address":"test4@example.info","tag":"integration"},{"address":"test3@example.net","tag":"integration"},{"address":"test2@example.org","tag":"integration"},{"address":"test1@example.com","tag":"integration"}]'
480
+ encoding: US-ASCII
481
+ string: ''
682
482
  headers:
483
+ User-Agent:
484
+ - mailgun-sdk-ruby/1.3.2
683
485
  Accept:
684
- - "*/*"
486
+ - "*/*"
487
+ Authorization:
488
+ - Basic xxx
685
489
  Accept-Encoding:
686
- - gzip, deflate
687
- User-Agent:
688
- - rest-client/2.0.2 (darwin18.7.0 x86_64) ruby/2.5.7p206
689
- Content-Type:
690
- - application/json
691
- Content-Length:
692
- - '210'
693
- Host:
694
- - api.mailgun.net
490
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
695
491
  response:
696
492
  status:
697
493
  code: 200
698
494
  message: OK
699
495
  headers:
700
- Access-Control-Allow-Headers:
701
- - Content-Type, x-requested-with
702
- Access-Control-Allow-Methods:
703
- - GET, POST, PUT, DELETE, OPTIONS
704
- Access-Control-Allow-Origin:
705
- - "*"
706
- Access-Control-Max-Age:
707
- - '600'
708
- Content-Type:
709
- - application/json; charset=utf-8
710
496
  Date:
711
- - Tue, 04 Feb 2020 15:16:07 GMT
712
- Server:
713
- - nginx
497
+ - Sun, 26 Jan 2025 07:29:45 GMT
714
498
  Strict-Transport-Security:
715
- - max-age=63072000; includeSubDomains
716
- Content-Length:
717
- - '68'
718
- Connection:
719
- - keep-alive
499
+ - max-age=63072000; includeSubDomains
500
+ X-Xss-Protection:
501
+ - 1; mode=block
720
502
  body:
721
503
  encoding: UTF-8
722
- string: '{"message":"4 addresses have been added to the unsubscribes table"}
504
+ string: '{"message":"Spam complaint has been removed"}
723
505
 
724
506
  '
725
507
  http_version:
726
- recorded_at: Tue, 04 Feb 2020 15:16:07 GMT
508
+ recorded_at: Sun, 26 Jan 2025 07:29:45 GMT
727
509
  recorded_with: VCR 3.0.3