mailgun-ruby 1.4.2 → 1.4.3

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 (43) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +30 -8
  3. data/.rubocop.yml +68 -0
  4. data/Gemfile +1 -1
  5. data/README.md +1 -1
  6. data/Rakefile +0 -5
  7. data/lib/mailgun/client.rb +12 -8
  8. data/lib/mailgun/domains/domains.rb +4 -2
  9. data/lib/mailgun/lists/opt_in_handler.rb +2 -4
  10. data/lib/mailgun/messages/batch_message.rb +2 -1
  11. data/lib/mailgun/messages/message_builder.rb +4 -32
  12. data/lib/mailgun/metrics/metrics.rb +6 -2
  13. data/lib/mailgun/response.rb +2 -2
  14. data/lib/mailgun/tags/analytics_tags.rb +9 -5
  15. data/lib/mailgun/tags/tags.rb +4 -2
  16. data/lib/mailgun/version.rb +1 -1
  17. data/lib/railgun/attachment.rb +4 -6
  18. data/lib/railgun/mailer.rb +2 -2
  19. data/mailgun.gemspec +4 -1
  20. data/spec/integration/analytics_tags_spec.rb +1 -1
  21. data/spec/integration/domains_spec.rb +7 -13
  22. data/spec/integration/events_spec.rb +1 -3
  23. data/spec/integration/list_members_spec.rb +1 -1
  24. data/spec/integration/logs_spec.rb +1 -1
  25. data/spec/integration/mailgun_spec.rb +3 -2
  26. data/spec/integration/metrics_spec.rb +9 -3
  27. data/spec/integration/suppressions_spec.rb +203 -26
  28. data/spec/integration/webhook_spec.rb +7 -2
  29. data/spec/spec_helper.rb +7 -0
  30. data/spec/unit/client_spec.rb +424 -0
  31. data/spec/unit/connection/test_client.rb +60 -13
  32. data/spec/unit/events/events_spec.rb +25 -9
  33. data/spec/unit/helpers/api_version_checker_spec.rb +206 -0
  34. data/spec/unit/lists/opt_in_handler_spec.rb +4 -2
  35. data/spec/unit/mailgun_spec.rb +7 -5
  36. data/spec/unit/messages/batch_message_spec.rb +25 -24
  37. data/spec/unit/messages/message_builder_spec.rb +83 -86
  38. data/spec/unit/railgun/content_type_spec.rb +7 -7
  39. data/spec/unit/railgun/mailer_spec.rb +17 -14
  40. data/spec/unit/response_spec.rb +225 -0
  41. data/vcr_cassettes/For_the_suppressions_handling_class/creates_a_single_bounce.yml +55 -0
  42. data/vcr_cassettes/suppressions.yml +1053 -170
  43. metadata +55 -5
@@ -12,13 +12,13 @@ http_interactions:
12
12
  testing"}]'
13
13
  headers:
14
14
  User-Agent:
15
- - mailgun-sdk-ruby/1.3.2
15
+ - mailgun-sdk-ruby/1.4.2
16
16
  Accept:
17
17
  - "*/*"
18
18
  Content-Type:
19
19
  - application/json
20
20
  Authorization:
21
- - Basic xxx
21
+ - Basic XXX
22
22
  Accept-Encoding:
23
23
  - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
24
24
  response:
@@ -26,15 +26,139 @@ http_interactions:
26
26
  code: 200
27
27
  message: OK
28
28
  headers:
29
+ Access-Control-Allow-Credentials:
30
+ - 'true'
31
+ Access-Control-Allow-Origin:
32
+ - "*"
33
+ Cache-Control:
34
+ - no-store
35
+ Content-Length:
36
+ - '63'
37
+ Content-Type:
38
+ - application/json; charset=utf-8
29
39
  Date:
30
- - Tue, 25 Feb 2025 00:26:17 GMT
40
+ - Thu, 26 Mar 2026 12:59:14 GMT
41
+ Strict-Transport-Security:
42
+ - max-age=63072000; includeSubDomains
43
+ X-Mailgun-Key-Id:
44
+ - XXX
45
+ X-Request-Limit:
46
+ - '2500'
47
+ X-Request-Remaining:
48
+ - '2499'
49
+ X-Request-Reset:
50
+ - '1774529969637'
51
+ X-Xss-Protection:
52
+ - 1; mode=block
53
+ body:
54
+ encoding: UTF-8
55
+ string: '{"message":"4 addresses have been added to the bounces table"}
56
+
57
+ '
58
+ recorded_at: Thu, 26 Mar 2026 12:59:14 GMT
59
+ - request:
60
+ method: post
61
+ uri: https://api.mailgun.net/bounces
62
+ body:
63
+ encoding: UTF-8
64
+ string: address=test777%40example.info&code=777&error=integration+testing123
65
+ headers:
66
+ User-Agent:
67
+ - mailgun-sdk-ruby/1.4.2
68
+ Accept:
69
+ - "*/*"
70
+ Authorization:
71
+ - Basic XXX
72
+ Content-Type:
73
+ - application/x-www-form-urlencoded
74
+ Accept-Encoding:
75
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
76
+ response:
77
+ status:
78
+ code: 200
79
+ message: OK
80
+ headers:
81
+ Access-Control-Allow-Credentials:
82
+ - 'true'
83
+ Access-Control-Allow-Origin:
84
+ - "*"
85
+ Cache-Control:
86
+ - no-store
31
87
  Content-Length:
32
- - '0'
88
+ - '91'
89
+ Content-Type:
90
+ - application/json; charset=utf-8
91
+ Date:
92
+ - Thu, 26 Mar 2026 12:59:15 GMT
93
+ Strict-Transport-Security:
94
+ - max-age=63072000; includeSubDomains
95
+ X-Mailgun-Key-Id:
96
+ - XXX
97
+ X-Request-Limit:
98
+ - '2500'
99
+ X-Request-Remaining:
100
+ - '2498'
101
+ X-Request-Reset:
102
+ - '1774529969637'
103
+ X-Xss-Protection:
104
+ - 1; mode=block
105
+ body:
106
+ encoding: UTF-8
107
+ string: '{"message":"Address has been added to the bounces table","address":"test777@example.info"}
108
+
109
+ '
110
+ recorded_at: Thu, 26 Mar 2026 12:59:15 GMT
111
+ - request:
112
+ method: get
113
+ uri: https://api.mailgun.net/bounces/test777@example.info
114
+ body:
115
+ encoding: US-ASCII
116
+ string: ''
117
+ headers:
118
+ User-Agent:
119
+ - mailgun-sdk-ruby/1.4.2
120
+ Accept:
121
+ - "*/*"
122
+ Authorization:
123
+ - Basic XXX
124
+ Accept-Encoding:
125
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
126
+ response:
127
+ status:
128
+ code: 200
129
+ message: OK
130
+ headers:
131
+ Access-Control-Allow-Credentials:
132
+ - 'true'
133
+ Access-Control-Allow-Origin:
134
+ - "*"
135
+ Cache-Control:
136
+ - no-store
137
+ Content-Length:
138
+ - '126'
139
+ Content-Type:
140
+ - application/json; charset=utf-8
141
+ Date:
142
+ - Thu, 26 Mar 2026 12:59:15 GMT
143
+ Strict-Transport-Security:
144
+ - max-age=63072000; includeSubDomains
145
+ X-Mailgun-Key-Id:
146
+ - XXX
147
+ X-Request-Limit:
148
+ - '2500'
149
+ X-Request-Remaining:
150
+ - '2497'
151
+ X-Request-Reset:
152
+ - '1774529969637'
153
+ X-Xss-Protection:
154
+ - 1; mode=block
33
155
  body:
34
156
  encoding: UTF-8
35
- string: '{"message":"4 addresses have been added to the bounces table"}'
36
- http_version:
37
- recorded_at: Tue, 25 Feb 2025 00:26:17 GMT
157
+ string: '{"address":"test777@example.info","code":"777","error":"integration
158
+ testing123","created_at":"Thu, 26 Mar 2026 12:59:15 UTC"}
159
+
160
+ '
161
+ recorded_at: Thu, 26 Mar 2026 12:59:15 GMT
38
162
  - request:
39
163
  method: delete
40
164
  uri: https://api.mailgun.net/bounces/test1@example.com
@@ -43,11 +167,11 @@ http_interactions:
43
167
  string: ''
44
168
  headers:
45
169
  User-Agent:
46
- - mailgun-sdk-ruby/1.3.2
170
+ - mailgun-sdk-ruby/1.4.2
47
171
  Accept:
48
172
  - "*/*"
49
173
  Authorization:
50
- - Basic xxx
174
+ - Basic XXX
51
175
  Accept-Encoding:
52
176
  - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
53
177
  response:
@@ -55,34 +179,50 @@ http_interactions:
55
179
  code: 200
56
180
  message: OK
57
181
  headers:
182
+ Access-Control-Allow-Credentials:
183
+ - 'true'
184
+ Access-Control-Allow-Origin:
185
+ - "*"
186
+ Cache-Control:
187
+ - no-store
188
+ Content-Length:
189
+ - '77'
58
190
  Content-Type:
59
- - text/plain; charset=utf-8
60
- X-Content-Type-Options:
61
- - nosniff
191
+ - application/json; charset=utf-8
62
192
  Date:
63
- - Tue, 25 Feb 2025 00:26:18 GMT
64
- Content-Length:
65
- - '19'
193
+ - Thu, 26 Mar 2026 12:59:16 GMT
194
+ Strict-Transport-Security:
195
+ - max-age=63072000; includeSubDomains
196
+ X-Mailgun-Key-Id:
197
+ - XXX
198
+ X-Request-Limit:
199
+ - '2500'
200
+ X-Request-Remaining:
201
+ - '2496'
202
+ X-Request-Reset:
203
+ - '1774529969637'
204
+ X-Xss-Protection:
205
+ - 1; mode=block
66
206
  body:
67
207
  encoding: UTF-8
68
- string: '{"message":"Bounced address has been removed"}'
69
- http_version:
70
- recorded_at: Tue, 25 Feb 2025 00:26:18 GMT
208
+ string: '{"address":"test1@example.com","message":"Bounced address has been
209
+ removed"}
210
+
211
+ '
212
+ recorded_at: Thu, 26 Mar 2026 12:59:16 GMT
71
213
  - request:
72
- method: post
73
- uri: https://api.mailgun.net/unsubscribes
214
+ method: delete
215
+ uri: https://api.mailgun.net/bounces/test2@example.org
74
216
  body:
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"}]'
217
+ encoding: US-ASCII
218
+ string: ''
77
219
  headers:
78
220
  User-Agent:
79
- - mailgun-sdk-ruby/1.3.2
221
+ - mailgun-sdk-ruby/1.4.2
80
222
  Accept:
81
223
  - "*/*"
82
- Content-Type:
83
- - application/json
84
224
  Authorization:
85
- - Basic xxx
225
+ - Basic XXX
86
226
  Accept-Encoding:
87
227
  - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
88
228
  response:
@@ -90,28 +230,101 @@ http_interactions:
90
230
  code: 200
91
231
  message: OK
92
232
  headers:
233
+ Access-Control-Allow-Credentials:
234
+ - 'true'
235
+ Access-Control-Allow-Origin:
236
+ - "*"
237
+ Cache-Control:
238
+ - no-store
239
+ Content-Length:
240
+ - '77'
241
+ Content-Type:
242
+ - application/json; charset=utf-8
93
243
  Date:
94
- - Tue, 25 Feb 2025 00:26:18 GMT
244
+ - Thu, 26 Mar 2026 12:59:17 GMT
245
+ Strict-Transport-Security:
246
+ - max-age=63072000; includeSubDomains
247
+ X-Mailgun-Key-Id:
248
+ - XXX
249
+ X-Request-Limit:
250
+ - '2500'
251
+ X-Request-Remaining:
252
+ - '2495'
253
+ X-Request-Reset:
254
+ - '1774529969637'
255
+ X-Xss-Protection:
256
+ - 1; mode=block
257
+ body:
258
+ encoding: UTF-8
259
+ string: '{"address":"test2@example.org","message":"Bounced address has been
260
+ removed"}
261
+
262
+ '
263
+ recorded_at: Thu, 26 Mar 2026 12:59:17 GMT
264
+ - request:
265
+ method: delete
266
+ uri: https://api.mailgun.net/bounces/test3@example.net
267
+ body:
268
+ encoding: US-ASCII
269
+ string: ''
270
+ headers:
271
+ User-Agent:
272
+ - mailgun-sdk-ruby/1.4.2
273
+ Accept:
274
+ - "*/*"
275
+ Authorization:
276
+ - Basic XXX
277
+ Accept-Encoding:
278
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
279
+ response:
280
+ status:
281
+ code: 200
282
+ message: OK
283
+ headers:
284
+ Access-Control-Allow-Credentials:
285
+ - 'true'
286
+ Access-Control-Allow-Origin:
287
+ - "*"
288
+ Cache-Control:
289
+ - no-store
95
290
  Content-Length:
96
- - '0'
291
+ - '77'
292
+ Content-Type:
293
+ - application/json; charset=utf-8
294
+ Date:
295
+ - Thu, 26 Mar 2026 12:59:17 GMT
296
+ Strict-Transport-Security:
297
+ - max-age=63072000; includeSubDomains
298
+ X-Mailgun-Key-Id:
299
+ - XXX
300
+ X-Request-Limit:
301
+ - '2500'
302
+ X-Request-Remaining:
303
+ - '2494'
304
+ X-Request-Reset:
305
+ - '1774529969637'
306
+ X-Xss-Protection:
307
+ - 1; mode=block
97
308
  body:
98
309
  encoding: UTF-8
99
- string: '{"message":"4 addresses have been added to the unsubscribes table"}'
100
- http_version:
101
- recorded_at: Tue, 25 Feb 2025 00:26:18 GMT
310
+ string: '{"address":"test3@example.net","message":"Bounced address has been
311
+ removed"}
312
+
313
+ '
314
+ recorded_at: Thu, 26 Mar 2026 12:59:17 GMT
102
315
  - request:
103
316
  method: delete
104
- uri: https://api.mailgun.net/unsubscribes/test1@example.com
317
+ uri: https://api.mailgun.net/bounces/test4@example.info
105
318
  body:
106
319
  encoding: US-ASCII
107
320
  string: ''
108
321
  headers:
109
322
  User-Agent:
110
- - mailgun-sdk-ruby/1.3.2
323
+ - mailgun-sdk-ruby/1.4.2
111
324
  Accept:
112
325
  - "*/*"
113
326
  Authorization:
114
- - Basic xxx
327
+ - Basic XXX
115
328
  Accept-Encoding:
116
329
  - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
117
330
  response:
@@ -119,34 +332,102 @@ http_interactions:
119
332
  code: 200
120
333
  message: OK
121
334
  headers:
335
+ Access-Control-Allow-Credentials:
336
+ - 'true'
337
+ Access-Control-Allow-Origin:
338
+ - "*"
339
+ Cache-Control:
340
+ - no-store
341
+ Content-Length:
342
+ - '78'
122
343
  Content-Type:
123
- - text/plain; charset=utf-8
124
- X-Content-Type-Options:
125
- - nosniff
344
+ - application/json; charset=utf-8
126
345
  Date:
127
- - Tue, 25 Feb 2025 00:26:18 GMT
346
+ - Thu, 26 Mar 2026 12:59:18 GMT
347
+ Strict-Transport-Security:
348
+ - max-age=63072000; includeSubDomains
349
+ X-Mailgun-Key-Id:
350
+ - XXX
351
+ X-Request-Limit:
352
+ - '2500'
353
+ X-Request-Remaining:
354
+ - '2493'
355
+ X-Request-Reset:
356
+ - '1774529969637'
357
+ X-Xss-Protection:
358
+ - 1; mode=block
359
+ body:
360
+ encoding: UTF-8
361
+ string: '{"address":"test4@example.info","message":"Bounced address has been
362
+ removed"}
363
+
364
+ '
365
+ recorded_at: Thu, 26 Mar 2026 12:59:18 GMT
366
+ - request:
367
+ method: delete
368
+ uri: https://api.mailgun.net/bounces
369
+ body:
370
+ encoding: US-ASCII
371
+ string: ''
372
+ headers:
373
+ User-Agent:
374
+ - mailgun-sdk-ruby/1.4.2
375
+ Accept:
376
+ - "*/*"
377
+ Authorization:
378
+ - Basic XXX
379
+ Accept-Encoding:
380
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
381
+ response:
382
+ status:
383
+ code: 200
384
+ message: OK
385
+ headers:
386
+ Access-Control-Allow-Credentials:
387
+ - 'true'
388
+ Access-Control-Allow-Origin:
389
+ - "*"
390
+ Cache-Control:
391
+ - no-store
128
392
  Content-Length:
129
- - '19'
393
+ - '66'
394
+ Content-Type:
395
+ - application/json; charset=utf-8
396
+ Date:
397
+ - Thu, 26 Mar 2026 12:59:19 GMT
398
+ Strict-Transport-Security:
399
+ - max-age=63072000; includeSubDomains
400
+ X-Mailgun-Key-Id:
401
+ - XXX
402
+ X-Request-Limit:
403
+ - '2500'
404
+ X-Request-Remaining:
405
+ - '2492'
406
+ X-Request-Reset:
407
+ - '1774529969637'
408
+ X-Xss-Protection:
409
+ - 1; mode=block
130
410
  body:
131
411
  encoding: UTF-8
132
- string: '{"message":"Unsubscribe event has been removed"}'
133
- http_version:
134
- recorded_at: Tue, 25 Feb 2025 00:26:18 GMT
412
+ string: '{"message":"Bounced addresses for this domain have been removed"}
413
+
414
+ '
415
+ recorded_at: Thu, 26 Mar 2026 12:59:19 GMT
135
416
  - request:
136
417
  method: post
137
- uri: https://api.mailgun.net/complaints
418
+ uri: https://api.mailgun.net/unsubscribes
138
419
  body:
139
420
  encoding: UTF-8
140
- string: '[{"address":"test4@example.info"},{"address":"test3@example.net"},{"address":"test2@example.org"},{"address":"test1@example.com"}]'
421
+ string: '[{"address":"test4@example.info","tag":"123"},{"address":"test3@example.net","tag":"123"},{"address":"test2@example.org","tag":"123"},{"address":"test1@example.com","tag":"123"}]'
141
422
  headers:
142
423
  User-Agent:
143
- - mailgun-sdk-ruby/1.3.2
424
+ - mailgun-sdk-ruby/1.4.2
144
425
  Accept:
145
426
  - "*/*"
146
427
  Content-Type:
147
428
  - application/json
148
429
  Authorization:
149
- - Basic xxx
430
+ - Basic XXX
150
431
  Accept-Encoding:
151
432
  - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
152
433
  response:
@@ -154,29 +435,101 @@ http_interactions:
154
435
  code: 200
155
436
  message: OK
156
437
  headers:
438
+ Access-Control-Allow-Credentials:
439
+ - 'true'
440
+ Access-Control-Allow-Origin:
441
+ - "*"
442
+ Cache-Control:
443
+ - no-store
444
+ Content-Length:
445
+ - '68'
446
+ Content-Type:
447
+ - application/json; charset=utf-8
157
448
  Date:
158
- - Tue, 25 Feb 2025 00:26:19 GMT
449
+ - Thu, 26 Mar 2026 12:59:19 GMT
450
+ Strict-Transport-Security:
451
+ - max-age=63072000; includeSubDomains
452
+ X-Mailgun-Key-Id:
453
+ - XXX
454
+ X-Request-Limit:
455
+ - '2500'
456
+ X-Request-Remaining:
457
+ - '2491'
458
+ X-Request-Reset:
459
+ - '1774529969637'
460
+ X-Xss-Protection:
461
+ - 1; mode=block
462
+ body:
463
+ encoding: UTF-8
464
+ string: '{"message":"4 addresses have been added to the unsubscribes table"}
465
+
466
+ '
467
+ recorded_at: Thu, 26 Mar 2026 12:59:19 GMT
468
+ - request:
469
+ method: post
470
+ uri: https://api.mailgun.net/unsubscribes
471
+ body:
472
+ encoding: UTF-8
473
+ string: '[{"address":"test4@example.info","tags":["integration"]},{"address":"test3@example.net","tags":["integration"]},{"address":"test2@example.org","tags":["integration"]},{"address":"test1@example.com","tags":["integration"]}]'
474
+ headers:
475
+ User-Agent:
476
+ - mailgun-sdk-ruby/1.4.2
477
+ Accept:
478
+ - "*/*"
479
+ Content-Type:
480
+ - application/json
481
+ Authorization:
482
+ - Basic XXX
483
+ Accept-Encoding:
484
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
485
+ response:
486
+ status:
487
+ code: 200
488
+ message: OK
489
+ headers:
490
+ Access-Control-Allow-Credentials:
491
+ - 'true'
492
+ Access-Control-Allow-Origin:
493
+ - "*"
494
+ Cache-Control:
495
+ - no-store
159
496
  Content-Length:
160
- - '0'
497
+ - '68'
498
+ Content-Type:
499
+ - application/json; charset=utf-8
500
+ Date:
501
+ - Thu, 26 Mar 2026 12:59:20 GMT
502
+ Strict-Transport-Security:
503
+ - max-age=63072000; includeSubDomains
504
+ X-Mailgun-Key-Id:
505
+ - XXX
506
+ X-Request-Limit:
507
+ - '2500'
508
+ X-Request-Remaining:
509
+ - '2490'
510
+ X-Request-Reset:
511
+ - '1774529969637'
512
+ X-Xss-Protection:
513
+ - 1; mode=block
161
514
  body:
162
515
  encoding: UTF-8
163
- string: '{"message":"4 complaint addresses have been added to the complaints
164
- table"}'
165
- http_version:
166
- recorded_at: Tue, 25 Feb 2025 00:26:19 GMT
516
+ string: '{"message":"4 addresses have been added to the unsubscribes table"}
517
+
518
+ '
519
+ recorded_at: Thu, 26 Mar 2026 12:59:20 GMT
167
520
  - request:
168
521
  method: delete
169
- uri: https://api.mailgun.net/complaints/test1@example.com
522
+ uri: https://api.mailgun.net/unsubscribes/test1@example.com
170
523
  body:
171
524
  encoding: US-ASCII
172
525
  string: ''
173
526
  headers:
174
527
  User-Agent:
175
- - mailgun-sdk-ruby/1.3.2
528
+ - mailgun-sdk-ruby/1.4.2
176
529
  Accept:
177
530
  - "*/*"
178
531
  Authorization:
179
- - Basic xxx
532
+ - Basic XXX
180
533
  Accept-Encoding:
181
534
  - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
182
535
  response:
@@ -184,32 +537,50 @@ http_interactions:
184
537
  code: 200
185
538
  message: OK
186
539
  headers:
540
+ Access-Control-Allow-Credentials:
541
+ - 'true'
542
+ Access-Control-Allow-Origin:
543
+ - "*"
544
+ Cache-Control:
545
+ - no-store
546
+ Content-Length:
547
+ - '79'
187
548
  Content-Type:
188
- - text/plain; charset=utf-8
189
- X-Content-Type-Options:
190
- - nosniff
549
+ - application/json; charset=utf-8
191
550
  Date:
192
- - Tue, 25 Feb 2025 00:26:19 GMT
193
- Content-Length:
194
- - '19'
551
+ - Thu, 26 Mar 2026 12:59:20 GMT
552
+ Strict-Transport-Security:
553
+ - max-age=63072000; includeSubDomains
554
+ X-Mailgun-Key-Id:
555
+ - XXX
556
+ X-Request-Limit:
557
+ - '2500'
558
+ X-Request-Remaining:
559
+ - '2489'
560
+ X-Request-Reset:
561
+ - '1774529969637'
562
+ X-Xss-Protection:
563
+ - 1; mode=block
195
564
  body:
196
565
  encoding: UTF-8
197
- string: '{"message":"Spam complaint has been removed"}'
198
- http_version:
199
- recorded_at: Tue, 25 Feb 2025 00:26:19 GMT
566
+ string: '{"address":"test1@example.com","message":"Unsubscribe event has been
567
+ removed"}
568
+
569
+ '
570
+ recorded_at: Thu, 26 Mar 2026 12:59:20 GMT
200
571
  - request:
201
572
  method: delete
202
- uri: https://api.mailgun.net/bounces/test2@example.org
573
+ uri: https://api.mailgun.net/unsubscribes/test2@example.org
203
574
  body:
204
575
  encoding: US-ASCII
205
576
  string: ''
206
577
  headers:
207
578
  User-Agent:
208
- - mailgun-sdk-ruby/1.3.2
579
+ - mailgun-sdk-ruby/1.4.2
209
580
  Accept:
210
581
  - "*/*"
211
582
  Authorization:
212
- - Basic xxx
583
+ - Basic XXX
213
584
  Accept-Encoding:
214
585
  - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
215
586
  response:
@@ -217,104 +588,205 @@ http_interactions:
217
588
  code: 200
218
589
  message: OK
219
590
  headers:
591
+ Access-Control-Allow-Credentials:
592
+ - 'true'
593
+ Access-Control-Allow-Origin:
594
+ - "*"
595
+ Cache-Control:
596
+ - no-store
597
+ Content-Length:
598
+ - '79'
220
599
  Content-Type:
221
- - text/plain; charset=utf-8
222
- X-Content-Type-Options:
223
- - nosniff
600
+ - application/json; charset=utf-8
224
601
  Date:
225
- - Tue, 25 Feb 2025 00:49:48 GMT
226
- Content-Length:
227
- - '19'
602
+ - Thu, 26 Mar 2026 12:59:21 GMT
603
+ Strict-Transport-Security:
604
+ - max-age=63072000; includeSubDomains
605
+ X-Mailgun-Key-Id:
606
+ - XXX
607
+ X-Request-Limit:
608
+ - '2500'
609
+ X-Request-Remaining:
610
+ - '2488'
611
+ X-Request-Reset:
612
+ - '1774529969637'
613
+ X-Xss-Protection:
614
+ - 1; mode=block
228
615
  body:
229
616
  encoding: UTF-8
230
- string: '{"message":"Bounced address has been removed"}
617
+ string: '{"address":"test2@example.org","message":"Unsubscribe event has been
618
+ removed"}
231
619
 
232
620
  '
233
- http_version:
234
- recorded_at: Tue, 25 Feb 2025 00:49:48 GMT
621
+ recorded_at: Thu, 26 Mar 2026 12:59:21 GMT
235
622
  - request:
236
623
  method: delete
237
- uri: https://api.mailgun.net/bounces/test3@example.net
624
+ uri: https://api.mailgun.net/unsubscribes/test3@example.net
238
625
  body:
239
626
  encoding: US-ASCII
240
627
  string: ''
241
628
  headers:
242
629
  User-Agent:
243
- - mailgun-sdk-ruby/1.3.2
630
+ - mailgun-sdk-ruby/1.4.2
244
631
  Accept:
245
- - "*/*"
632
+ - "*/*"
246
633
  Authorization:
247
- - Basic xxx
634
+ - Basic XXX
248
635
  Accept-Encoding:
249
- - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
636
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
250
637
  response:
251
638
  status:
252
639
  code: 200
253
640
  message: OK
254
641
  headers:
642
+ Access-Control-Allow-Credentials:
643
+ - 'true'
644
+ Access-Control-Allow-Origin:
645
+ - "*"
646
+ Cache-Control:
647
+ - no-store
648
+ Content-Length:
649
+ - '79'
255
650
  Content-Type:
256
- - text/plain; charset=utf-8
257
- X-Content-Type-Options:
258
- - nosniff
651
+ - application/json; charset=utf-8
259
652
  Date:
260
- - Tue, 25 Feb 2025 00:49:48 GMT
261
- Content-Length:
262
- - '19'
653
+ - Thu, 26 Mar 2026 12:59:21 GMT
654
+ Strict-Transport-Security:
655
+ - max-age=63072000; includeSubDomains
656
+ X-Mailgun-Key-Id:
657
+ - XXX
658
+ X-Request-Limit:
659
+ - '2500'
660
+ X-Request-Remaining:
661
+ - '2487'
662
+ X-Request-Reset:
663
+ - '1774529969637'
664
+ X-Xss-Protection:
665
+ - 1; mode=block
263
666
  body:
264
667
  encoding: UTF-8
265
- string: '{"message":"Bounced address has been removed"}
668
+ string: '{"address":"test3@example.net","message":"Unsubscribe event has been
669
+ removed"}
266
670
 
267
671
  '
268
- http_version:
269
- recorded_at: Tue, 25 Feb 2025 00:49:48 GMT
672
+ recorded_at: Thu, 26 Mar 2026 12:59:21 GMT
270
673
  - request:
271
674
  method: delete
272
- uri: https://api.mailgun.net/bounces/test4@example.info
675
+ uri: https://api.mailgun.net/unsubscribes/test4@example.info
273
676
  body:
274
677
  encoding: US-ASCII
275
678
  string: ''
276
679
  headers:
277
680
  User-Agent:
278
- - mailgun-sdk-ruby/1.3.2
681
+ - mailgun-sdk-ruby/1.4.2
279
682
  Accept:
280
- - "*/*"
683
+ - "*/*"
281
684
  Authorization:
282
- - Basic xxx
685
+ - Basic XXX
283
686
  Accept-Encoding:
284
- - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
687
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
285
688
  response:
286
689
  status:
287
690
  code: 200
288
691
  message: OK
289
692
  headers:
693
+ Access-Control-Allow-Credentials:
694
+ - 'true'
695
+ Access-Control-Allow-Origin:
696
+ - "*"
697
+ Cache-Control:
698
+ - no-store
699
+ Content-Length:
700
+ - '80'
290
701
  Content-Type:
291
- - text/plain; charset=utf-8
292
- X-Content-Type-Options:
293
- - nosniff
702
+ - application/json; charset=utf-8
294
703
  Date:
295
- - Tue, 25 Feb 2025 00:49:48 GMT
704
+ - Thu, 26 Mar 2026 12:59:21 GMT
705
+ Strict-Transport-Security:
706
+ - max-age=63072000; includeSubDomains
707
+ X-Mailgun-Key-Id:
708
+ - XXX
709
+ X-Request-Limit:
710
+ - '2500'
711
+ X-Request-Remaining:
712
+ - '2486'
713
+ X-Request-Reset:
714
+ - '1774529969637'
715
+ X-Xss-Protection:
716
+ - 1; mode=block
717
+ body:
718
+ encoding: UTF-8
719
+ string: '{"address":"test4@example.info","message":"Unsubscribe event has been
720
+ removed"}
721
+
722
+ '
723
+ recorded_at: Thu, 26 Mar 2026 12:59:22 GMT
724
+ - request:
725
+ method: post
726
+ uri: https://api.mailgun.net/unsubscribes
727
+ body:
728
+ encoding: UTF-8
729
+ string: address=test777%40example.com&tags=integration
730
+ headers:
731
+ User-Agent:
732
+ - mailgun-sdk-ruby/1.4.2
733
+ Accept:
734
+ - "*/*"
735
+ Authorization:
736
+ - Basic XXX
737
+ Content-Type:
738
+ - application/x-www-form-urlencoded
739
+ Accept-Encoding:
740
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
741
+ response:
742
+ status:
743
+ code: 200
744
+ message: OK
745
+ headers:
746
+ Access-Control-Allow-Credentials:
747
+ - 'true'
748
+ Access-Control-Allow-Origin:
749
+ - "*"
750
+ Cache-Control:
751
+ - no-store
296
752
  Content-Length:
297
- - '19'
753
+ - '95'
754
+ Content-Type:
755
+ - application/json; charset=utf-8
756
+ Date:
757
+ - Thu, 26 Mar 2026 12:59:22 GMT
758
+ Strict-Transport-Security:
759
+ - max-age=63072000; includeSubDomains
760
+ X-Mailgun-Key-Id:
761
+ - XXX
762
+ X-Request-Limit:
763
+ - '2500'
764
+ X-Request-Remaining:
765
+ - '2485'
766
+ X-Request-Reset:
767
+ - '1774529969637'
768
+ X-Xss-Protection:
769
+ - 1; mode=block
298
770
  body:
299
771
  encoding: UTF-8
300
- string: '{"message":"Bounced address has been removed"}
772
+ string: '{"address":"test777@example.com","message":"Address has been added
773
+ to the unsubscribes table"}
301
774
 
302
775
  '
303
- http_version:
304
- recorded_at: Tue, 25 Feb 2025 00:49:48 GMT
776
+ recorded_at: Thu, 26 Mar 2026 12:59:22 GMT
305
777
  - request:
306
- method: delete
307
- uri: https://api.mailgun.net/unsubscribes/test2@example.org
778
+ method: get
779
+ uri: https://api.mailgun.net/unsubscribes/test777@example.com
308
780
  body:
309
781
  encoding: US-ASCII
310
782
  string: ''
311
783
  headers:
312
784
  User-Agent:
313
- - mailgun-sdk-ruby/1.3.2
785
+ - mailgun-sdk-ruby/1.4.2
314
786
  Accept:
315
787
  - "*/*"
316
788
  Authorization:
317
- - Basic xxx
789
+ - Basic XXX
318
790
  Accept-Encoding:
319
791
  - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
320
792
  response:
@@ -322,91 +794,350 @@ http_interactions:
322
794
  code: 200
323
795
  message: OK
324
796
  headers:
797
+ Access-Control-Allow-Credentials:
798
+ - 'true'
799
+ Access-Control-Allow-Origin:
800
+ - "*"
801
+ Cache-Control:
802
+ - no-store
803
+ Content-Length:
804
+ - '92'
325
805
  Content-Type:
326
- - text/plain; charset=utf-8
327
- X-Content-Type-Options:
328
- - nosniff
806
+ - application/json; charset=utf-8
329
807
  Date:
330
- - Tue, 25 Feb 2025 00:49:48 GMT
808
+ - Thu, 26 Mar 2026 12:59:23 GMT
809
+ Strict-Transport-Security:
810
+ - max-age=63072000; includeSubDomains
811
+ X-Mailgun-Key-Id:
812
+ - XXX
813
+ X-Request-Limit:
814
+ - '2500'
815
+ X-Request-Remaining:
816
+ - '2484'
817
+ X-Request-Reset:
818
+ - '1774529969637'
819
+ X-Xss-Protection:
820
+ - 1; mode=block
821
+ body:
822
+ encoding: UTF-8
823
+ string: '{"address":"test777@example.com","tags":["*"],"created_at":"Thu, 26
824
+ Mar 2026 12:59:22 UTC"}
825
+
826
+ '
827
+ recorded_at: Thu, 26 Mar 2026 12:59:23 GMT
828
+ - request:
829
+ method: get
830
+ uri: https://api.mailgun.net/unsubscribes
831
+ body:
832
+ encoding: US-ASCII
833
+ string: ''
834
+ headers:
835
+ User-Agent:
836
+ - mailgun-sdk-ruby/1.4.2
837
+ Accept:
838
+ - "*/*"
839
+ Authorization:
840
+ - Basic XXX
841
+ Accept-Encoding:
842
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
843
+ response:
844
+ status:
845
+ code: 200
846
+ message: OK
847
+ headers:
848
+ Access-Control-Allow-Credentials:
849
+ - 'true'
850
+ Access-Control-Allow-Origin:
851
+ - "*"
852
+ Cache-Control:
853
+ - no-store
331
854
  Content-Length:
332
- - '19'
855
+ - '682'
856
+ Content-Type:
857
+ - application/json; charset=utf-8
858
+ Date:
859
+ - Thu, 26 Mar 2026 12:59:23 GMT
860
+ Strict-Transport-Security:
861
+ - max-age=63072000; includeSubDomains
862
+ X-Mailgun-Key-Id:
863
+ - XXX
864
+ X-Request-Limit:
865
+ - '2500'
866
+ X-Request-Remaining:
867
+ - '2483'
868
+ X-Request-Reset:
869
+ - '1774529969637'
870
+ X-Xss-Protection:
871
+ - 1; mode=block
333
872
  body:
334
873
  encoding: UTF-8
335
- string: '{"message":"Unsubscribe event has been removed"}
874
+ string: '{"items":[{"address":"test777@example.com","tags":["*"],"created_at":"Thu,
875
+ 26 Mar 2026 12:59:22 UTC"}],"paging":{"first":"https://api.mailgun.net/unsubscribes?limit=100&term=","last":"https://api.mailgun.net/unsubscribes?page=last&limit=100&term=","next":"https://api.mailgun.net/unsubscribes?page=next&address=test777%40example.com&limit=100&term=","previous":"https://api.mailgun.net/unsubscribes?page=previous&address=test777%40example.com&limit=100&term="}}
336
876
 
337
877
  '
338
- http_version:
339
- recorded_at: Tue, 25 Feb 2025 00:49:48 GMT
878
+ recorded_at: Thu, 26 Mar 2026 12:59:23 GMT
340
879
  - request:
341
- method: delete
342
- uri: https://api.mailgun.net/unsubscribes/test3@example.net
880
+ method: post
881
+ uri: https://api.mailgun.net/complaints
882
+ body:
883
+ encoding: UTF-8
884
+ string: '[{"address":"test4@example.info"},{"address":"test3@example.net"},{"address":"test2@example.org"},{"address":"test1@example.com"}]'
885
+ headers:
886
+ User-Agent:
887
+ - mailgun-sdk-ruby/1.4.2
888
+ Accept:
889
+ - "*/*"
890
+ Content-Type:
891
+ - application/json
892
+ Authorization:
893
+ - Basic XXX
894
+ Accept-Encoding:
895
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
896
+ response:
897
+ status:
898
+ code: 200
899
+ message: OK
900
+ headers:
901
+ Access-Control-Allow-Credentials:
902
+ - 'true'
903
+ Access-Control-Allow-Origin:
904
+ - "*"
905
+ Cache-Control:
906
+ - no-store
907
+ Content-Length:
908
+ - '76'
909
+ Content-Type:
910
+ - application/json; charset=utf-8
911
+ Date:
912
+ - Thu, 26 Mar 2026 12:59:24 GMT
913
+ Strict-Transport-Security:
914
+ - max-age=63072000; includeSubDomains
915
+ X-Mailgun-Key-Id:
916
+ - XXX
917
+ X-Request-Limit:
918
+ - '2500'
919
+ X-Request-Remaining:
920
+ - '2482'
921
+ X-Request-Reset:
922
+ - '1774529969637'
923
+ X-Xss-Protection:
924
+ - 1; mode=block
925
+ body:
926
+ encoding: UTF-8
927
+ string: '{"message":"4 complaint addresses have been added to the complaints
928
+ table"}
929
+
930
+ '
931
+ recorded_at: Thu, 26 Mar 2026 12:59:24 GMT
932
+ - request:
933
+ method: post
934
+ uri: https://api.mailgun.net/complaints
935
+ body:
936
+ encoding: UTF-8
937
+ string: address=test777%40example.com
938
+ headers:
939
+ User-Agent:
940
+ - mailgun-sdk-ruby/1.4.2
941
+ Accept:
942
+ - "*/*"
943
+ Authorization:
944
+ - Basic XXX
945
+ Content-Type:
946
+ - application/x-www-form-urlencoded
947
+ Accept-Encoding:
948
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
949
+ response:
950
+ status:
951
+ code: 200
952
+ message: OK
953
+ headers:
954
+ Access-Control-Allow-Credentials:
955
+ - 'true'
956
+ Access-Control-Allow-Origin:
957
+ - "*"
958
+ Cache-Control:
959
+ - no-store
960
+ Content-Length:
961
+ - '93'
962
+ Content-Type:
963
+ - application/json; charset=utf-8
964
+ Date:
965
+ - Thu, 26 Mar 2026 12:59:24 GMT
966
+ Strict-Transport-Security:
967
+ - max-age=63072000; includeSubDomains
968
+ X-Mailgun-Key-Id:
969
+ - XXX
970
+ X-Request-Limit:
971
+ - '2500'
972
+ X-Request-Remaining:
973
+ - '2481'
974
+ X-Request-Reset:
975
+ - '1774529969637'
976
+ X-Xss-Protection:
977
+ - 1; mode=block
978
+ body:
979
+ encoding: UTF-8
980
+ string: '{"address":"test777@example.com","message":"Address has been added
981
+ to the complaints table"}
982
+
983
+ '
984
+ recorded_at: Thu, 26 Mar 2026 12:59:24 GMT
985
+ - request:
986
+ method: get
987
+ uri: https://api.mailgun.net/complaints/test777@example.com
343
988
  body:
344
989
  encoding: US-ASCII
345
990
  string: ''
346
991
  headers:
347
992
  User-Agent:
348
- - mailgun-sdk-ruby/1.3.2
993
+ - mailgun-sdk-ruby/1.4.2
349
994
  Accept:
350
- - "*/*"
995
+ - "*/*"
351
996
  Authorization:
352
- - Basic xxx
997
+ - Basic XXX
353
998
  Accept-Encoding:
354
- - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
999
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
355
1000
  response:
356
1001
  status:
357
1002
  code: 200
358
1003
  message: OK
359
1004
  headers:
1005
+ Access-Control-Allow-Credentials:
1006
+ - 'true'
1007
+ Access-Control-Allow-Origin:
1008
+ - "*"
1009
+ Cache-Control:
1010
+ - no-store
1011
+ Content-Length:
1012
+ - '79'
360
1013
  Content-Type:
361
- - text/plain; charset=utf-8
362
- X-Content-Type-Options:
363
- - nosniff
1014
+ - application/json; charset=utf-8
364
1015
  Date:
365
- - Tue, 25 Feb 2025 00:49:48 GMT
1016
+ - Thu, 26 Mar 2026 12:59:25 GMT
1017
+ Strict-Transport-Security:
1018
+ - max-age=63072000; includeSubDomains
1019
+ X-Mailgun-Key-Id:
1020
+ - XXX
1021
+ X-Request-Limit:
1022
+ - '2500'
1023
+ X-Request-Remaining:
1024
+ - '2480'
1025
+ X-Request-Reset:
1026
+ - '1774529969637'
1027
+ X-Xss-Protection:
1028
+ - 1; mode=block
1029
+ body:
1030
+ encoding: UTF-8
1031
+ string: '{"address":"test777@example.com","created_at":"Thu, 26 Mar 2026 12:59:24
1032
+ UTC"}
1033
+
1034
+ '
1035
+ recorded_at: Thu, 26 Mar 2026 12:59:25 GMT
1036
+ - request:
1037
+ method: get
1038
+ uri: https://api.mailgun.net/complaints
1039
+ body:
1040
+ encoding: US-ASCII
1041
+ string: ''
1042
+ headers:
1043
+ User-Agent:
1044
+ - mailgun-sdk-ruby/1.4.2
1045
+ Accept:
1046
+ - "*/*"
1047
+ Authorization:
1048
+ - Basic XXX
1049
+ Accept-Encoding:
1050
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
1051
+ response:
1052
+ status:
1053
+ code: 200
1054
+ message: OK
1055
+ headers:
1056
+ Access-Control-Allow-Credentials:
1057
+ - 'true'
1058
+ Access-Control-Allow-Origin:
1059
+ - "*"
1060
+ Cache-Control:
1061
+ - no-store
366
1062
  Content-Length:
367
- - '19'
1063
+ - '968'
1064
+ Content-Type:
1065
+ - application/json; charset=utf-8
1066
+ Date:
1067
+ - Thu, 26 Mar 2026 12:59:25 GMT
1068
+ Strict-Transport-Security:
1069
+ - max-age=63072000; includeSubDomains
1070
+ X-Mailgun-Key-Id:
1071
+ - XXX
1072
+ X-Request-Limit:
1073
+ - '2500'
1074
+ X-Request-Remaining:
1075
+ - '2479'
1076
+ X-Request-Reset:
1077
+ - '1774529969637'
1078
+ X-Xss-Protection:
1079
+ - 1; mode=block
368
1080
  body:
369
1081
  encoding: UTF-8
370
- string: '{"message":"Unsubscribe event has been removed"}
1082
+ string: '{"items":[{"address":"test1@example.com","created_at":"Thu, 26 Mar
1083
+ 2026 12:59:24 UTC"},{"address":"test2@example.org","created_at":"Thu, 26 Mar
1084
+ 2026 12:59:24 UTC"},{"address":"test3@example.net","created_at":"Thu, 26 Mar
1085
+ 2026 12:59:24 UTC"},{"address":"test4@example.info","created_at":"Thu, 26
1086
+ Mar 2026 12:59:24 UTC"},{"address":"test777@example.com","created_at":"Thu,
1087
+ 26 Mar 2026 12:59:24 UTC"}],"paging":{"first":"https://api.mailgun.net/complaints?limit=100&term=","last":"https://api.mailgun.net/complaints?page=last&limit=100&term=","next":"https://api.mailgun.net/complaints?page=next&address=test777%40example.com&limit=100&term=","previous":"https://api.mailgun.net/complaints?page=previous&address=test1%40example.com&limit=100&term="}}
371
1088
 
372
1089
  '
373
- http_version:
374
- recorded_at: Tue, 25 Feb 2025 00:49:48 GMT
1090
+ recorded_at: Thu, 26 Mar 2026 12:59:25 GMT
375
1091
  - request:
376
1092
  method: delete
377
- uri: https://api.mailgun.net/unsubscribes/test4@example.info
1093
+ uri: https://api.mailgun.net/complaints/test1@example.com
378
1094
  body:
379
1095
  encoding: US-ASCII
380
1096
  string: ''
381
1097
  headers:
382
1098
  User-Agent:
383
- - mailgun-sdk-ruby/1.3.2
1099
+ - mailgun-sdk-ruby/1.4.2
384
1100
  Accept:
385
- - "*/*"
1101
+ - "*/*"
386
1102
  Authorization:
387
- - Basic xxx
1103
+ - Basic XXX
388
1104
  Accept-Encoding:
389
- - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
1105
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
390
1106
  response:
391
1107
  status:
392
1108
  code: 200
393
1109
  message: OK
394
1110
  headers:
1111
+ Access-Control-Allow-Credentials:
1112
+ - 'true'
1113
+ Access-Control-Allow-Origin:
1114
+ - "*"
1115
+ Cache-Control:
1116
+ - no-store
1117
+ Content-Length:
1118
+ - '76'
395
1119
  Content-Type:
396
- - text/plain; charset=utf-8
397
- X-Content-Type-Options:
398
- - nosniff
1120
+ - application/json; charset=utf-8
399
1121
  Date:
400
- - Tue, 25 Feb 2025 00:49:48 GMT
401
- Content-Length:
402
- - '19'
1122
+ - Thu, 26 Mar 2026 12:59:26 GMT
1123
+ Strict-Transport-Security:
1124
+ - max-age=63072000; includeSubDomains
1125
+ X-Mailgun-Key-Id:
1126
+ - XXX
1127
+ X-Request-Limit:
1128
+ - '2500'
1129
+ X-Request-Remaining:
1130
+ - '2478'
1131
+ X-Request-Reset:
1132
+ - '1774529969637'
1133
+ X-Xss-Protection:
1134
+ - 1; mode=block
403
1135
  body:
404
1136
  encoding: UTF-8
405
- string: '{"message":"Unsubscribe event has been removed"}
1137
+ string: '{"address":"test1@example.com","message":"Spam complaint has been removed"}
406
1138
 
407
1139
  '
408
- http_version:
409
- recorded_at: Tue, 25 Feb 2025 00:49:48 GMT
1140
+ recorded_at: Thu, 26 Mar 2026 12:59:26 GMT
410
1141
  - request:
411
1142
  method: delete
412
1143
  uri: https://api.mailgun.net/complaints/test2@example.org
@@ -415,11 +1146,11 @@ http_interactions:
415
1146
  string: ''
416
1147
  headers:
417
1148
  User-Agent:
418
- - mailgun-sdk-ruby/1.3.2
1149
+ - mailgun-sdk-ruby/1.4.2
419
1150
  Accept:
420
1151
  - "*/*"
421
1152
  Authorization:
422
- - Basic xxx
1153
+ - Basic XXX
423
1154
  Accept-Encoding:
424
1155
  - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
425
1156
  response:
@@ -427,19 +1158,36 @@ http_interactions:
427
1158
  code: 200
428
1159
  message: OK
429
1160
  headers:
1161
+ Access-Control-Allow-Credentials:
1162
+ - 'true'
1163
+ Access-Control-Allow-Origin:
1164
+ - "*"
1165
+ Cache-Control:
1166
+ - no-store
1167
+ Content-Length:
1168
+ - '76'
1169
+ Content-Type:
1170
+ - application/json; charset=utf-8
430
1171
  Date:
431
- - Sun, 26 Jan 2025 07:29:45 GMT
1172
+ - Thu, 26 Mar 2026 12:59:26 GMT
432
1173
  Strict-Transport-Security:
433
1174
  - max-age=63072000; includeSubDomains
1175
+ X-Mailgun-Key-Id:
1176
+ - XXX
1177
+ X-Request-Limit:
1178
+ - '2500'
1179
+ X-Request-Remaining:
1180
+ - '2477'
1181
+ X-Request-Reset:
1182
+ - '1774529969637'
434
1183
  X-Xss-Protection:
435
1184
  - 1; mode=block
436
1185
  body:
437
1186
  encoding: UTF-8
438
- string: '{"message":"Spam complaint has been removed"}
1187
+ string: '{"address":"test2@example.org","message":"Spam complaint has been removed"}
439
1188
 
440
1189
  '
441
- http_version:
442
- recorded_at: Sun, 26 Jan 2025 07:29:45 GMT
1190
+ recorded_at: Thu, 26 Mar 2026 12:59:26 GMT
443
1191
  - request:
444
1192
  method: delete
445
1193
  uri: https://api.mailgun.net/complaints/test3@example.net
@@ -448,31 +1196,48 @@ http_interactions:
448
1196
  string: ''
449
1197
  headers:
450
1198
  User-Agent:
451
- - mailgun-sdk-ruby/1.3.2
1199
+ - mailgun-sdk-ruby/1.4.2
452
1200
  Accept:
453
- - "*/*"
1201
+ - "*/*"
454
1202
  Authorization:
455
- - Basic xxx
1203
+ - Basic XXX
456
1204
  Accept-Encoding:
457
- - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
1205
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
458
1206
  response:
459
1207
  status:
460
1208
  code: 200
461
1209
  message: OK
462
1210
  headers:
1211
+ Access-Control-Allow-Credentials:
1212
+ - 'true'
1213
+ Access-Control-Allow-Origin:
1214
+ - "*"
1215
+ Cache-Control:
1216
+ - no-store
1217
+ Content-Length:
1218
+ - '76'
1219
+ Content-Type:
1220
+ - application/json; charset=utf-8
463
1221
  Date:
464
- - Sun, 26 Jan 2025 07:29:45 GMT
1222
+ - Thu, 26 Mar 2026 12:59:27 GMT
465
1223
  Strict-Transport-Security:
466
- - max-age=63072000; includeSubDomains
1224
+ - max-age=63072000; includeSubDomains
1225
+ X-Mailgun-Key-Id:
1226
+ - XXX
1227
+ X-Request-Limit:
1228
+ - '2500'
1229
+ X-Request-Remaining:
1230
+ - '2476'
1231
+ X-Request-Reset:
1232
+ - '1774529969637'
467
1233
  X-Xss-Protection:
468
- - 1; mode=block
1234
+ - 1; mode=block
469
1235
  body:
470
1236
  encoding: UTF-8
471
- string: '{"message":"Spam complaint has been removed"}
1237
+ string: '{"address":"test3@example.net","message":"Spam complaint has been removed"}
472
1238
 
473
1239
  '
474
- http_version:
475
- recorded_at: Sun, 26 Jan 2025 07:29:45 GMT
1240
+ recorded_at: Thu, 26 Mar 2026 12:59:27 GMT
476
1241
  - request:
477
1242
  method: delete
478
1243
  uri: https://api.mailgun.net/complaints/test4@example.info
@@ -481,29 +1246,147 @@ http_interactions:
481
1246
  string: ''
482
1247
  headers:
483
1248
  User-Agent:
484
- - mailgun-sdk-ruby/1.3.2
1249
+ - mailgun-sdk-ruby/1.4.2
485
1250
  Accept:
486
- - "*/*"
1251
+ - "*/*"
487
1252
  Authorization:
488
- - Basic xxx
1253
+ - Basic XXX
489
1254
  Accept-Encoding:
490
- - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
1255
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
491
1256
  response:
492
1257
  status:
493
1258
  code: 200
494
1259
  message: OK
495
1260
  headers:
1261
+ Access-Control-Allow-Credentials:
1262
+ - 'true'
1263
+ Access-Control-Allow-Origin:
1264
+ - "*"
1265
+ Cache-Control:
1266
+ - no-store
1267
+ Content-Length:
1268
+ - '77'
1269
+ Content-Type:
1270
+ - application/json; charset=utf-8
1271
+ Date:
1272
+ - Thu, 26 Mar 2026 12:59:27 GMT
1273
+ Strict-Transport-Security:
1274
+ - max-age=63072000; includeSubDomains
1275
+ X-Mailgun-Key-Id:
1276
+ - XXX
1277
+ X-Request-Limit:
1278
+ - '2500'
1279
+ X-Request-Remaining:
1280
+ - '2476'
1281
+ X-Request-Reset:
1282
+ - '1774529969637'
1283
+ X-Xss-Protection:
1284
+ - 1; mode=block
1285
+ body:
1286
+ encoding: UTF-8
1287
+ string: '{"address":"test4@example.info","message":"Spam complaint has been
1288
+ removed"}
1289
+
1290
+ '
1291
+ recorded_at: Thu, 26 Mar 2026 12:59:27 GMT
1292
+ - request:
1293
+ method: get
1294
+ uri: https://api.mailgun.net/bounces
1295
+ body:
1296
+ encoding: US-ASCII
1297
+ string: ''
1298
+ headers:
1299
+ User-Agent:
1300
+ - mailgun-sdk-ruby/1.4.2
1301
+ Accept:
1302
+ - "*/*"
1303
+ Authorization:
1304
+ - Basic XXX
1305
+ Accept-Encoding:
1306
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
1307
+ response:
1308
+ status:
1309
+ code: 200
1310
+ message: OK
1311
+ headers:
1312
+ Access-Control-Allow-Credentials:
1313
+ - 'true'
1314
+ Access-Control-Allow-Origin:
1315
+ - "*"
1316
+ Cache-Control:
1317
+ - no-store
1318
+ Content-Length:
1319
+ - '477'
1320
+ Content-Type:
1321
+ - application/json; charset=utf-8
496
1322
  Date:
497
- - Sun, 26 Jan 2025 07:29:45 GMT
1323
+ - Thu, 26 Mar 2026 12:59:28 GMT
498
1324
  Strict-Transport-Security:
499
- - max-age=63072000; includeSubDomains
1325
+ - max-age=63072000; includeSubDomains
1326
+ X-Mailgun-Key-Id:
1327
+ - XXX
1328
+ X-Request-Limit:
1329
+ - '2500'
1330
+ X-Request-Remaining:
1331
+ - '2474'
1332
+ X-Request-Reset:
1333
+ - '1774529969637'
500
1334
  X-Xss-Protection:
501
- - 1; mode=block
1335
+ - 1; mode=block
1336
+ body:
1337
+ encoding: UTF-8
1338
+ string: '{"items":[],"paging":{"first":"https://api.mailgun.net/bounces?limit=100&term=","last":"https://api.mailgun.net/bounces?limit=100&term=","next":"https://api.mailgun.net/bounces?limit=100&term=","previous":"https://api.mailgun.net/bounces?limit=100&term="}}
1339
+
1340
+ '
1341
+ recorded_at: Thu, 26 Mar 2026 12:59:28 GMT
1342
+ - request:
1343
+ method: get
1344
+ uri: https://api.mailgun.net/v3?limit=100&term=
1345
+ body:
1346
+ encoding: US-ASCII
1347
+ string: ''
1348
+ headers:
1349
+ User-Agent:
1350
+ - mailgun-sdk-ruby/1.4.2
1351
+ Accept:
1352
+ - "*/*"
1353
+ Authorization:
1354
+ - Basic XXX
1355
+ Accept-Encoding:
1356
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
1357
+ response:
1358
+ status:
1359
+ code: 200
1360
+ message: OK
1361
+ headers:
1362
+ Access-Control-Allow-Credentials:
1363
+ - 'true'
1364
+ Access-Control-Allow-Origin:
1365
+ - "*"
1366
+ Cache-Control:
1367
+ - no-store
1368
+ Content-Length:
1369
+ - '477'
1370
+ Content-Type:
1371
+ - application/json; charset=utf-8
1372
+ Date:
1373
+ - Thu, 26 Mar 2026 12:59:28 GMT
1374
+ Strict-Transport-Security:
1375
+ - max-age=63072000; includeSubDomains
1376
+ X-Mailgun-Key-Id:
1377
+ - XXX
1378
+ X-Request-Limit:
1379
+ - '2500'
1380
+ X-Request-Remaining:
1381
+ - '2473'
1382
+ X-Request-Reset:
1383
+ - '1774529969637'
1384
+ X-Xss-Protection:
1385
+ - 1; mode=block
502
1386
  body:
503
1387
  encoding: UTF-8
504
- string: '{"message":"Spam complaint has been removed"}
1388
+ string: '{"items":[],"paging":{"first":"https://api.mailgun.net/bounces?limit=100&term=","last":"https://api.mailgun.net/bounces?limit=100&term=","next":"https://api.mailgun.net/bounces?limit=100&term=","previous":"https://api.mailgun.net/bounces?limit=100&term="}}
505
1389
 
506
1390
  '
507
- http_version:
508
- recorded_at: Sun, 26 Jan 2025 07:29:45 GMT
509
- recorded_with: VCR 3.0.3
1391
+ recorded_at: Thu, 26 Mar 2026 12:59:28 GMT
1392
+ recorded_with: VCR 6.4.0