sisimai 5.5.0 → 5.6.0

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 (61) hide show
  1. checksums.yaml +4 -4
  2. data/ChangeLog.md +21 -0
  3. data/LICENSE +1 -1
  4. data/README-JA.md +15 -12
  5. data/README.md +16 -13
  6. data/lib/sisimai/fact.rb +17 -2
  7. data/lib/sisimai/lhost/amazonses.rb +1 -1
  8. data/lib/sisimai/lhost/einsundeins.rb +1 -1
  9. data/lib/sisimai/lhost/exchange2007.rb +2 -2
  10. data/lib/sisimai/lhost/exim.rb +6 -8
  11. data/lib/sisimai/lhost/qmail.rb +5 -5
  12. data/lib/sisimai/message.rb +2 -0
  13. data/lib/sisimai/reason/authfailure.rb +9 -13
  14. data/lib/sisimai/reason/badreputation.rb +7 -7
  15. data/lib/sisimai/reason/blocked.rb +57 -83
  16. data/lib/sisimai/reason/contenterror.rb +14 -8
  17. data/lib/sisimai/reason/{mesgtoobig.rb → emailtoolarge.rb} +22 -25
  18. data/lib/sisimai/reason/expired.rb +16 -23
  19. data/lib/sisimai/reason/filtered.rb +13 -17
  20. data/lib/sisimai/reason/hasmoved.rb +2 -1
  21. data/lib/sisimai/reason/hostunknown.rb +16 -19
  22. data/lib/sisimai/reason/mailboxfull.rb +27 -49
  23. data/lib/sisimai/reason/networkerror.rb +16 -16
  24. data/lib/sisimai/reason/norelaying.rb +19 -19
  25. data/lib/sisimai/reason/notaccept.rb +6 -8
  26. data/lib/sisimai/reason/notcompliantrfc.rb +5 -9
  27. data/lib/sisimai/reason/policyviolation.rb +11 -25
  28. data/lib/sisimai/reason/ratelimited.rb +62 -0
  29. data/lib/sisimai/reason/rejected.rb +45 -59
  30. data/lib/sisimai/reason/requireptr.rb +13 -25
  31. data/lib/sisimai/reason/securityerror.rb +13 -19
  32. data/lib/sisimai/reason/spamdetected.rb +51 -101
  33. data/lib/sisimai/reason/suspend.rb +26 -24
  34. data/lib/sisimai/reason/systemerror.rb +19 -23
  35. data/lib/sisimai/reason/systemfull.rb +1 -1
  36. data/lib/sisimai/reason/userunknown.rb +79 -112
  37. data/lib/sisimai/reason/virusdetected.rb +6 -8
  38. data/lib/sisimai/reason.rb +14 -14
  39. data/lib/sisimai/rhost/apple.rb +5 -5
  40. data/lib/sisimai/rhost/cloudflare.rb +2 -0
  41. data/lib/sisimai/rhost/cox.rb +22 -20
  42. data/lib/sisimai/rhost/facebook.rb +16 -16
  43. data/lib/sisimai/rhost/franceptt.rb +8 -3
  44. data/lib/sisimai/rhost/godaddy.rb +33 -15
  45. data/lib/sisimai/rhost/google.rb +63 -64
  46. data/lib/sisimai/rhost/iua.rb +1 -1
  47. data/lib/sisimai/rhost/messagelabs.rb +12 -12
  48. data/lib/sisimai/rhost/microsoft.rb +82 -86
  49. data/lib/sisimai/rhost/mimecast.rb +34 -34
  50. data/lib/sisimai/rhost/nttdocomo.rb +2 -2
  51. data/lib/sisimai/rhost/spectrum.rb +7 -7
  52. data/lib/sisimai/rhost/tencent.rb +9 -11
  53. data/lib/sisimai/rhost/yahooinc.rb +7 -8
  54. data/lib/sisimai/smtp/command.rb +2 -0
  55. data/lib/sisimai/smtp/status.rb +50 -90
  56. data/lib/sisimai/string.rb +0 -15
  57. data/lib/sisimai/version.rb +1 -1
  58. metadata +4 -6
  59. data/lib/sisimai/reason/exceedlimit.rb +0 -47
  60. data/lib/sisimai/reason/speeding.rb +0 -47
  61. data/lib/sisimai/reason/toomanyconn.rb +0 -59
@@ -150,7 +150,18 @@ module Sisimai
150
150
  ['550', '5.7.1', 'an unusual rate of unsolicited mail'],
151
151
  ['550', '5.7.28', 'an unusual rate of unsolicited mail'],
152
152
  ],
153
- 'exceedlimit' => [
153
+ 'contenterror' => [
154
+ # - 552 5.7.0 Our system detected an illegal attachment on your message. Please visit
155
+ # http://mail.google.com/support/bin/answer.py?answer=6590 to review our attachment
156
+ # guidelines.
157
+ ['552', '5.7.0', 'illegal attachment on your message'],
158
+
159
+ # - 552 5.7.0 This message was blocked because its content presents a potential securi-
160
+ # ty issue. Please visit https://support.google.com/mail/?p=BlockedMessage to review
161
+ # our message content and attachment content guidelines.
162
+ ['552', '5.7.0', 'blocked because its content presents a potential security issue'],
163
+ ],
164
+ 'emailtoolarge' => [
154
165
  # - 552 5.2.3 Your message exceeded Google's message size limits. For more information,
155
166
  # visit https://support.google.com/mail/answer/6584
156
167
  ['552', '5.2.3', "your message exceeded google's message size limits"],
@@ -162,11 +173,22 @@ module Sisimai
162
173
  # - 552 5.3.4 The size of the <header name> header value (size bytes) exceeds Google's
163
174
  # limit of limit bytes per individual header size. To view our header size guidelines,
164
175
  # go to Gmail message header limits https://support.google.com/a?p=header-limits
165
- ['552', '5.3.4', "exceeds google's limit of limit attachments."],
176
+ #
177
+ # - 552 5.3.4 Your message exceeded Google's message size limits. To view our message
178
+ # size guidelines, go to Send attachments with your Gmail message.
179
+ # - https://support.google.com/mail/?p=MaxSizeError
180
+ #
181
+ # - 552 5.3.4 The size of your message (size bytes) exceeded Google's message size
182
+ # limits of limit bytes. To view our message size guidelines, go to Gmail receiving
183
+ # limits in Google Workspace.
184
+ # - https://support.google.com/mail/?p=MaxSizeError
166
185
  ['552', '5.3.4', "your message exceeded google's message header size limits"],
167
186
  ['552', '5.3.4', 'bytes per individual header size'],
187
+ ['552', '5.3.4', "exceeds google's limit of limit attachments."],
168
188
  ['552', '5.3.4', "exceeds google's header name limit of"],
169
- ['552', '5.3.4', "exceeds google's message header size limit"]
189
+ ['552', '5.3.4', "exceeds google's message size limit of"],
190
+ ['552', '5.3.4', "exceeds google's message header size limit"],
191
+ ['552', '5.3.4', "exceeded google's message size limits"],
170
192
  ],
171
193
  'expired' => [
172
194
  # - 421 4.7.0 Connection expired, try reconnecting. For more information, go to About
@@ -206,18 +228,6 @@ module Sisimai
206
228
  ['552', '5.2.2', 'is over quota'],
207
229
  ['550', '5.7.1', 'email quota exceeded'],
208
230
  ],
209
- 'mesgtoobig' => [
210
- # - 552 5.3.4 Your message exceeded Google's message size limits. To view our message
211
- # size guidelines, go to Send attachments with your Gmail message.
212
- # - https://support.google.com/mail/?p=MaxSizeError
213
- ['552', '5.3.4', "exceeded google's message size limits"],
214
-
215
- # - 552 5.3.4 The size of your message (size bytes) exceeded Google's message size
216
- # limits of limit bytes. To view our message size guidelines, go to Gmail receiving
217
- # limits in Google Workspace.
218
- # - https://support.google.com/mail/?p=MaxSizeError
219
- ['552', '5.3.4', "exceeds google's message size limit of"],
220
- ],
221
231
  'networkerror' => [
222
232
  # - 554 5.4.6 Message exceeded 50 hops, this may indicate a mail loop.
223
233
  # For more information, go to Gmail Help. https://support.google.com/mail/?p=MailLoop
@@ -291,21 +301,49 @@ module Sisimai
291
301
  ['554', '5.6.0', 'mail message is malformed'],
292
302
  ],
293
303
  'policyviolation' => [
294
- # - 552 5.7.0 Our system detected an illegal attachment on your message. Please visit
295
- # http://mail.google.com/support/bin/answer.py?answer=6590 to review our attachment
296
- # guidelines.
297
- ['552', '5.7.0', 'illegal attachment on your message'],
298
-
299
- # - 552 5.7.0 This message was blocked because its content presents a potential securi-
300
- # ty issue. Please visit https://support.google.com/mail/?p=BlockedMessage to review
301
- # our message content and attachment content guidelines.
302
- ['552', '5.7.0', 'blocked because its content presents a potential security issue'],
303
-
304
304
  # - 550 5.7.1 The user or domain that you are sending to (or from) has a policy that
305
305
  # prohibited the mail that you sent. Please contact your domain administrator for
306
306
  # further details.
307
307
  # For more information, visit https://support.google.com/a/answer/172179
308
308
  ['550', '5.7.1', 'you are sending to (or from) has a policy that prohibited'],
309
+ ],
310
+ 'ratelimited' => [
311
+ # - 450 4.2.1 The user you are trying to contact is receiving mail too quickly. Please
312
+ # resend your message at a later time. If the user is able to receive mail at that
313
+ # time, your message will be delivered.
314
+ # For more information, visit https://support.google.com/mail/answer/22839
315
+ #
316
+ # - 450 4.2.1 Peak SMTP relay limit exceeded for customer. This is a temporary error.
317
+ # For more information on SMTP relay limits, please contact your administrator or
318
+ # visit https://support.google.com/a/answer/6140680
319
+ ['450', '4.2.1', 'is receiving mail too quickly'],
320
+ ['450', '4.2.1', 'peak smtp relay limit exceeded for customer'],
321
+
322
+ # - 450 4.2.1 The user you are trying to contact is receiving mail at a rate that pre-
323
+ # vents additional messages from being delivered. Please resend your message at a
324
+ # later time. If the user is able to receive mail at that time, your message will be
325
+ # delivered. For more information, visit https://support.google.com/mail/answer/6592
326
+ # - https://support.google.com/mail/?p=ReceivingRatePerm
327
+ ['450', '4.2.1', 'rate that prevents additional messages from being delivered'],
328
+ ['550', '5.2.1', 'rate that prevents additional messages from being delivered'],
329
+
330
+ # - 452 4.5.3 Your message has too many recipients. For more information regarding
331
+ # Google's sending limits, visit https://support.google.com/mail/answer/6592
332
+ # https://support.google.com/mail/?p=TooManyRecipientsError
333
+ ['452', '4.5.3', 'your message has too many recipients'],
334
+ ['550', '5.5.3', 'too many recipients for this sender'],
335
+
336
+ # - 550 5.4.5 Daily SMTP relay limit exceeded for user. For more information on SMTP
337
+ # relay sending limits please contact your administrator or visit SMTP relay service
338
+ # error messages.
339
+ # https://support.google.com/a/answer/6140680
340
+ # - https://support.google.com/a/answer/166852
341
+ ['550', '5.4.5', 'daily sending quota exceeded'],
342
+ ['550', '5.4.5', 'daily user sending limit exceeded'],
343
+ ['550', '5.4.5', 'daily smtp relay limit exceeded for'],
344
+ ['550', '5.7.1', 'daily smtp relay limit exceeded for'],
345
+ ['550', '5.7.1', 'daily smtp relay sending limit exceeded for'],
346
+ ['550', '5.7.1', 'this mail has been rate limited'],
309
347
 
310
348
  # - 421 4.7.28 Gmail has detected this message exceeded its quota for sending messages
311
349
  # with the same Message-ID:. To best protect our users, the message has been tempo-
@@ -394,38 +432,6 @@ module Sisimai
394
432
  # - https://support.google.com/mail/?p=UnsolicitedMessageError
395
433
  ['550', '5.7.1', 'likely unsolicited mail'],
396
434
  ],
397
- 'speeding' => [
398
- # - 450 4.2.1 The user you are trying to contact is receiving mail too quickly. Please
399
- # resend your message at a later time. If the user is able to receive mail at that
400
- # time, your message will be delivered.
401
- # For more information, visit https://support.google.com/mail/answer/22839
402
- #
403
- # - 450 4.2.1 Peak SMTP relay limit exceeded for customer. This is a temporary error.
404
- # For more information on SMTP relay limits, please contact your administrator or
405
- # visit https://support.google.com/a/answer/6140680
406
- ['450', '4.2.1', 'is receiving mail too quickly'],
407
- ['450', '4.2.1', 'peak smtp relay limit exceeded for customer'],
408
-
409
- # - 450 4.2.1 The user you are trying to contact is receiving mail at a rate that pre-
410
- # vents additional messages from being delivered. Please resend your message at a
411
- # later time. If the user is able to receive mail at that time, your message will be
412
- # delivered. For more information, visit https://support.google.com/mail/answer/6592
413
- # - https://support.google.com/mail/?p=ReceivingRatePerm
414
- ['450', '4.2.1', 'rate that prevents additional messages from being delivered'],
415
- ['550', '5.2.1', 'rate that prevents additional messages from being delivered'],
416
-
417
- # - 550 5.4.5 Daily SMTP relay limit exceeded for user. For more information on SMTP
418
- # relay sending limits please contact your administrator or visit SMTP relay service
419
- # error messages.
420
- # https://support.google.com/a/answer/6140680
421
- # - https://support.google.com/a/answer/166852
422
- ['550', '5.4.5', 'daily sending quota exceeded'],
423
- ['550', '5.4.5', 'daily user sending limit exceeded'],
424
- ['550', '5.4.5', 'daily smtp relay limit exceeded for'],
425
- ['550', '5.7.1', 'daily smtp relay limit exceeded for'],
426
- ['550', '5.7.1', 'daily smtp relay sending limit exceeded for'],
427
- ['550', '5.7.1', 'this mail has been rate limited'],
428
- ],
429
435
  'suspend' => [
430
436
  # - 550 5.2.1 The email account that you tried to reach is inactive.
431
437
  # For more information, go to https://support.google.com/mail/?p=DisabledUser
@@ -494,13 +500,6 @@ module Sisimai
494
500
  # https://support.google.com/a/answer/3221692
495
501
  ['454', '4.7.0', 'cannot authenticate due to temporary system problem'],
496
502
  ],
497
- 'toomanyconn' => [
498
- # - 452 4.5.3 Your message has too many recipients. For more information regarding
499
- # Google's sending limits, visit https://support.google.com/mail/answer/6592
500
- # https://support.google.com/mail/?p=TooManyRecipientsError
501
- ['452', '4.5.3', 'your message has too many recipients'],
502
- ['550', '5.5.3', 'too many recipients for this sender'],
503
- ],
504
503
  'userunknown' => [
505
504
  # - 550 5.1.1 The email account that you tried to reach does not exist. Please try dou-
506
505
  # ble-checking the recipient's email address for typos or unnecessary spaces.
@@ -11,7 +11,7 @@ module Sisimai
11
11
  '2' => 'userunknown', # User is not found.
12
12
  '3' => 'suspend', # Mailbox was not used for more than 3 months
13
13
  '4' => 'mailboxfull', # Mailbox is full.
14
- '5' => 'toomanyconn', # Letter sending limit is exceeded.
14
+ '5' => 'ratelimited', # Letter sending limit is exceeded.
15
15
  '6' => 'norelaying', # Use SMTP of your provider to send mail.
16
16
  '7' => 'blocked', # Wrong value if command HELO/EHLO parameter.
17
17
  '8' => 'rejected', # Couldn't check sender address.
@@ -91,6 +91,18 @@ module Sisimai
91
91
  "550 Requested action aborted [4]",
92
92
  "has detected that this message is not RFC 5322",
93
93
  ],
94
+ "ratelimited" => [
95
+ # - https://knowledge.broadcom.com/external/article/385809
96
+ # Email Security Cloud is attempting to deliver the email and recipient MTA is
97
+ # responding "452 Too many recipients received this hour".
98
+ # - https://knowledge.broadcom.com/external/article/164767
99
+ # This error can occur when sending outbound or inbound emails through Email
100
+ # Security.Cloud. A non-delivery receipt (NDR) stating delivery contains a message
101
+ # that the intended recipient has failed with error:
102
+ # "460 too many messages (#4.3.0)"
103
+ "Too many recipients received this hour",
104
+ "too many messages",
105
+ ],
94
106
  "rejected" => [
95
107
  # - 550 sender envelope domain not allowed for sender IP address (#5.1.8)
96
108
  # This error occurs when a sender attempts to send an email and any one of the
@@ -137,18 +149,6 @@ module Sisimai
137
149
  "Message Filtered",
138
150
  "filtered by Outbound scanning",
139
151
  ],
140
- "toomanyconn" => [
141
- # - https://knowledge.broadcom.com/external/article/385809
142
- # Email Security Cloud is attempting to deliver the email and recipient MTA is
143
- # responding "452 Too many recipients received this hour".
144
- # - https://knowledge.broadcom.com/external/article/164767
145
- # This error can occur when sending outbound or inbound emails through Email
146
- # Security.Cloud. A non-delivery receipt (NDR) stating delivery contains a message
147
- # that the intended recipient has failed with error:
148
- # "460 too many messages (#4.3.0)"
149
- "Too many recipients received this hour",
150
- "too many messages",
151
- ],
152
152
  "userunknown" => [
153
153
  # - https://knowledge.broadcom.com/external/article/165163
154
154
  # When sending email to a user on the Symantec Email Security.cloud service, the
@@ -131,12 +131,21 @@ module Sisimai
131
131
  ['5.4.11', 0, 0, 'agent generated message depth exceeded'],
132
132
  ['5.5.6', 0, 0, 'invalid message content'],
133
133
  ],
134
- 'exceedlimit' => [
134
+ 'emailtoolarge' => [
135
135
  # Exchange Server 2019 ----------------------------------------------------------------
136
136
  # - The message is too large. Send the message again without any attachments, or confi-
137
137
  # gure a larger message size limit for the recipient. For more information, see Re-
138
138
  # cipient limits.
139
139
  ['5.2.3', 0, 0, 'resolver.rst.recipsizelimit; message too large for this recipient'],
140
+
141
+ # - The message is too large. This error can be generated by the source or destination
142
+ # messaging system. Send the message again without any attachments, or configure a
143
+ # larger message size limit. For more information, see Message size and recipient
144
+ # limits in Exchange Server.
145
+ ['5.3.4', 0, 0, 'message size exceeds fixed maximum message size'],
146
+
147
+ # Previous versions of Exchange Server ------------------------------------------------
148
+ ['5.3.4', 0, 0, 'message too big for system'],
140
149
  ],
141
150
  'expired' => [
142
151
  # Exchange Server 2019 ----------------------------------------------------------------
@@ -243,17 +252,6 @@ module Sisimai
243
252
  # figure storage quotas for a mailbox.
244
253
  ['5.2.2', 0, 0, 'mailbox full'],
245
254
  ],
246
- 'mesgtoobig' => [
247
- # Exchange Server 2019 ----------------------------------------------------------------
248
- # - The message is too large. This error can be generated by the source or destination
249
- # messaging system. Send the message again without any attachments, or configure a
250
- # larger message size limit. For more information, see Message size and recipient
251
- # limits in Exchange Server.
252
- ['5.3.4', 0, 0, 'message size exceeds fixed maximum message size'],
253
-
254
- # Previous versions of Exchange Server ------------------------------------------------
255
- ['5.3.4', 0, 0, 'message too big for system'],
256
- ],
257
255
  'networkerror' => [
258
256
  # Exchange Server 2019 ----------------------------------------------------------------
259
257
  # - There's a DNS or network adapter configuration issue on the Exchange server. Verify
@@ -372,6 +370,78 @@ module Sisimai
372
370
  # Mail flow rule actions in Exchange Server.
373
371
  ['5.7.', 900, 999, 'delivery not authorized, message refused'],
374
372
  ],
373
+ 'ratelimited' => [
374
+ # Exchange Server 2019 ----------------------------------------------------------------
375
+ # - The combined total of recipients on the To, Cc, and Bcc lines of the message ex-
376
+ # ceeds the total number of recipients allowed in a single message for the organiza-
377
+ # tion, Receive connector, or sender. For more information, see Message size and re-
378
+ # cipient limits in Exchange Server.
379
+ ['5.5.3', 0, 0, 'too many recipients'],
380
+
381
+ # Exchange Online ---------------------------------------------------------------------
382
+ # - The recipient mailbox's ability to accept messages is being throttled because it's
383
+ # receiving too many messages too quickly. This is done so a single recipient's mail
384
+ # processing doesn't unfairly impact other recipients sharing the same mailbox data-
385
+ # base.
386
+ ['4.3.2', 0, 0, 'storedrv.deliver; recipient thread limit exceeded'],
387
+
388
+ # - The message has more than 200 SMTP envelope recipients from the same domain.
389
+ # - An envelope recipient is the original, unexpanded recipient that's used in the RCPT
390
+ # TO command to transmit the message between SMTP servers. When this error is return-
391
+ # ed by Microsoft 365 or Office 365, the sending server must break up the number of
392
+ # envelope recipients into smaller chunks (chunking) and resend the message.
393
+ ['4.5.3', 0, 0, 'too many recipients'],
394
+
395
+ # - The sender has exceeded the recipient rate limit as described in Sending limits.
396
+ # - This could indicate the account has been compromised and is being used to send
397
+ # spam.
398
+ ['5.1.90', 0, 0, "reached your daily limit for message recipients"],
399
+
400
+ # - The sender has exceeded the recipient rate limit or the message rate limit as de-
401
+ # scribed in Sending limits.
402
+ # - This could indicate the account has been compromised and is being used to send
403
+ # spam.
404
+ ['5.2.2', 0, 0, 'submission quota exceeded'],
405
+
406
+ # - The sender has exceeded the maximum number of messages they're allowed to send per
407
+ # hour to a specific recipient in Exchange Online.
408
+ # - The automated mailer or sender should try again later, and reduce the number of
409
+ # messages they send per hour to a specific recipient. This limit helps protect
410
+ # Microsoft 365 or Office 365 users from rapidly filling their inboxes with a large
411
+ # number of messages from errant automated notification systems or other single-send-
412
+ # er mail storms.
413
+ ['5.2.121', 0, 0, "recipient's per hour message receive limit"],
414
+
415
+ # - The Microsoft 365 or Office 365 recipient has exceeded the number of messages they
416
+ # can receive per hour from all senders.
417
+ # - The automated mailer or sender should try again later, and reduce the number of
418
+ # messages they send per hour to a specific recipient. This limit helps protect
419
+ # Microsoft 365 and Office 365 users from rapidly filling their inboxes with a large
420
+ # number of messages from errant automated notification systems or other mail storms.
421
+ ['5.2.122', 0, 0, "recipient's per hour message receive limit"],
422
+
423
+ # - Access denied, [$SenderIPAddress] has exceeded permitted limits within $range range
424
+ # - The sender's IPv6 range has attempted to send too many messages in too short a time
425
+ # period.
426
+ ['5.7.508', 0, 0, 'has exceeded permitted limits within'],
427
+
428
+ # - The majority of traffic from this tenant has been detected as suspicious and has
429
+ # resulted in a ban on sending ability for the tenant.
430
+ # - Ensure that any compromises or open relays have been resolved, and then contact
431
+ # support through your regular channel. For more information, see Fix email delivery
432
+ # issues for error codes 5.7.700 through 5.7.750 in Exchange Online.
433
+ ['5.7.', 700, 749, 'tenant has exceeded threshold'],
434
+ ['5.7.', 700, 749, 'traffic not accepted from this ip'],
435
+
436
+ # - 451 4.7.652 The mail server [192.0.2.251] has exceeded the maximum number of
437
+ # connections. (S3115) [Name=Protocol Filter Agent][AGT=PFA][MxId=11BA9B3FA168ABBF]
438
+ # [BN3PEPF0000B370.namprd21.prod.outlook.com 2025-02-20T14:30:32.425Z 08DD4D9FD5AFF45C]
439
+ # (in reply to MAIL FROM command))
440
+ ["4.7.652", 0, 0, "has exceeded the maximum number of connections"],
441
+
442
+ # Previous versions of Exchange Server ------------------------------------------------
443
+ ['5.2.122', 0, 0, 'the recipient has exceeded their limit for'],
444
+ ],
375
445
  'rejected' => [
376
446
  # Exchange Server 2019 ----------------------------------------------------------------
377
447
  # - There's a problem with the sender's email address. Verify the sender's email ad-
@@ -490,55 +560,6 @@ module Sisimai
490
560
  # sender exceptions for content filtering.
491
561
  ['5.2.1', 0, 0, 'content filter agent quarantined this message'],
492
562
  ],
493
- 'speeding' => [
494
- # Exchange Online ---------------------------------------------------------------------
495
- # - The recipient mailbox's ability to accept messages is being throttled because it's
496
- # receiving too many messages too quickly. This is done so a single recipient's mail
497
- # processing doesn't unfairly impact other recipients sharing the same mailbox data-
498
- # base.
499
- ['4.3.2', 0, 0, 'storedrv.deliver; recipient thread limit exceeded'],
500
-
501
- # - The sender has exceeded the recipient rate limit as described in Sending limits.
502
- # - This could indicate the account has been compromised and is being used to send
503
- # spam.
504
- ['5.1.90', 0, 0, "reached your daily limit for message recipients"],
505
-
506
- # - The sender has exceeded the recipient rate limit or the message rate limit as de-
507
- # scribed in Sending limits.
508
- # - This could indicate the account has been compromised and is being used to send
509
- # spam.
510
- ['5.2.2', 0, 0, 'submission quota exceeded'],
511
-
512
- # - The sender has exceeded the maximum number of messages they're allowed to send per
513
- # hour to a specific recipient in Exchange Online.
514
- # - The automated mailer or sender should try again later, and reduce the number of
515
- # messages they send per hour to a specific recipient. This limit helps protect
516
- # Microsoft 365 or Office 365 users from rapidly filling their inboxes with a large
517
- # number of messages from errant automated notification systems or other single-send-
518
- # er mail storms.
519
- ['5.2.121', 0, 0, "recipient's per hour message receive limit"],
520
-
521
- # - The Microsoft 365 or Office 365 recipient has exceeded the number of messages they
522
- # can receive per hour from all senders.
523
- # - The automated mailer or sender should try again later, and reduce the number of
524
- # messages they send per hour to a specific recipient. This limit helps protect
525
- # Microsoft 365 and Office 365 users from rapidly filling their inboxes with a large
526
- # number of messages from errant automated notification systems or other mail storms.
527
- ['5.2.122', 0, 0, "recipient's per hour message receive limit"],
528
-
529
- # - Access denied, [$SenderIPAddress] has exceeded permitted limits within $range range
530
- # - The sender's IPv6 range has attempted to send too many messages in too short a time
531
- # period.
532
- ['5.7.508', 0, 0, 'has exceeded permitted limits within'],
533
-
534
- # - The majority of traffic from this tenant has been detected as suspicious and has
535
- # resulted in a ban on sending ability for the tenant.
536
- # - Ensure that any compromises or open relays have been resolved, and then contact
537
- # support through your regular channel. For more information, see Fix email delivery
538
- # issues for error codes 5.7.700 through 5.7.750 in Exchange Online.
539
- ['5.7.', 700, 749, 'tenant has exceeded threshold'],
540
- ['5.7.', 700, 749, 'traffic not accepted from this ip'],
541
- ],
542
563
  'suspend' => [
543
564
  # Exchange Online ---------------------------------------------------------------------
544
565
  # - The recipient address that you're attempting to contact isn't valid.
@@ -641,31 +662,6 @@ module Sisimai
641
662
  # machines.
642
663
  ['4.3.1', 0, 0, 'insufficient system resources'],
643
664
  ],
644
- 'toomanyconn' => [
645
- # Exchange Server 2019 ----------------------------------------------------------------
646
- # - The combined total of recipients on the To, Cc, and Bcc lines of the message ex-
647
- # ceeds the total number of recipients allowed in a single message for the organiza-
648
- # tion, Receive connector, or sender. For more information, see Message size and re-
649
- # cipient limits in Exchange Server.
650
- ['5.5.3', 0, 0, 'too many recipients'],
651
-
652
- # Exchange Online ---------------------------------------------------------------------
653
- # - The message has more than 200 SMTP envelope recipients from the same domain.
654
- # - An envelope recipient is the original, unexpanded recipient that's used in the RCPT
655
- # TO command to transmit the message between SMTP servers. When this error is return-
656
- # ed by Microsoft 365 or Office 365, the sending server must break up the number of
657
- # envelope recipients into smaller chunks (chunking) and resend the message.
658
- ['4.5.3', 0, 0, 'too many recipients'],
659
-
660
- # - 451 4.7.652 The mail server [192.0.2.251] has exceeded the maximum number of
661
- # connections. (S3115) [Name=Protocol Filter Agent][AGT=PFA][MxId=11BA9B3FA168ABBF]
662
- # [BN3PEPF0000B370.namprd21.prod.outlook.com 2025-02-20T14:30:32.425Z 08DD4D9FD5AFF45C]
663
- # (in reply to MAIL FROM command))
664
- ["4.7.652", 0, 0, "has exceeded the maximum number of connections"],
665
-
666
- # Previous versions of Exchange Server ------------------------------------------------
667
- ['5.2.122', 0, 0, 'the recipient has exceeded their limit for'],
668
- ],
669
665
  'userunknown' => [
670
666
  # Exchange Server 2019 ----------------------------------------------------------------
671
667
  # - The recipient's email address is incorrect (the recipient doesn't exist in the des-
@@ -69,6 +69,15 @@ module Sisimai
69
69
  # the associated IP address from the RBL.
70
70
  #[550, '< details of RBL >'], NEED AN ACTUAL ERROR MESSAGE STRING
71
71
  ],
72
+ 'emailtoolarge' => [
73
+ # - The email size either exceeds an Email Size Limit policy or is larger than the
74
+ # Mimecast service limit. The default is 100 MB for the Legacy MTA, and 200 MB for
75
+ # "the Latest MTA".
76
+ # - Resend the message ensuring it's smaller than the limitation set. The transmission
77
+ # and content-encoding can add significantly to the total message size (e.g. a mes-
78
+ # sage with a 70 MB attachment, can have an overall size larger than 100 MB).
79
+ [554, 'maximum email size exceeded'],
80
+ ],
72
81
  'expired' => [
73
82
  # - Journal messages past the expiration
74
83
  # - Attempts are being made to journal mail past the set expiry threshold.
@@ -112,15 +121,6 @@ module Sisimai
112
121
  # - Check you DNS has the required umbrella accounts listed as comma-separated values.
113
122
  [554, 'configuration is invalid for this certificate'],
114
123
  ],
115
- 'mesgtoobig' => [
116
- # - The email size either exceeds an Email Size Limit policy or is larger than the
117
- # Mimecast service limit. The default is 100 MB for the Legacy MTA, and 200 MB for
118
- # "the Latest MTA".
119
- # - Resend the message ensuring it's smaller than the limitation set. The transmission
120
- # and content-encoding can add significantly to the total message size (e.g. a mes-
121
- # sage with a 70 MB attachment, can have an overall size larger than 100 MB).
122
- [554, 'maximum email size exceeded'],
123
- ],
124
124
  'networkerror' => [
125
125
  # - The recipients' domains have MX records configured incorrectly
126
126
  # - Check and remove any MX records that point to hostnames with outbound references.
@@ -181,6 +181,31 @@ module Sisimai
181
181
  [554, 'host network not allowed'],
182
182
  [554, 'host network, not allowed'],
183
183
  ],
184
+ 'ratelimited' => [
185
+ # - There are too many concurrent inbound connections for the account. The default is 20.
186
+ # - The IP address is automatically removed from the block list after five minutes.
187
+ # Continued invalid connections result in the IP being readded to the block list. En-
188
+ # sure you don't route outbound or journal messages to Mimecast from an IP address
189
+ # that hasn't been authorized to do so.
190
+ [451, 'account service is temporarily unavailable'],
191
+
192
+ # - The sending server issues more than 100 RCPT TO entries. By default, Mimecast only
193
+ # accepts 100 RCPT TO entries per message body (DATA). The error triggers the sending
194
+ # mail server to provide the DATA for the first 100 recipients before it provides the
195
+ # next batch of RCPT TO entries.
196
+ # - Most mail servers respect the transient error and treat it as a "truncation request".
197
+ # If your mail server, firewall, or on-site solution doesn't respect the error, you
198
+ # must ensure that no more than 100 recipients are submitted.
199
+ # Note:
200
+ # Solutions like SMTP Fix-Up / MailGuard and ESMTP inspection on Cisco Pix and
201
+ # ASA Firewalls are known not to respect the transient error. We advise you to
202
+ # disable this functionality.
203
+ [452, 'too many recipients'],
204
+
205
+ # - There are too many concurrent outbound connections for the account.
206
+ # - Send the messages in smaller chunks to recipients.
207
+ [550, 'exceeding outbound thread limit'],
208
+ ],
184
209
  'rejected' => [
185
210
  # - The sender's email address or domain has triggered a Blocked Senders Policy or
186
211
  # there's an SPF hard rejection.
@@ -245,31 +270,6 @@ module Sisimai
245
270
  # - Contact Mimecast Support.
246
271
  [451, 'unable to process an email at this time'],
247
272
  ],
248
- 'toomanyconn' => [
249
- # - There are too many concurrent inbound connections for the account. The default is 20.
250
- # - The IP address is automatically removed from the block list after five minutes.
251
- # Continued invalid connections result in the IP being readded to the block list. En-
252
- # sure you don't route outbound or journal messages to Mimecast from an IP address
253
- # that hasn't been authorized to do so.
254
- [451, 'account service is temporarily unavailable'],
255
-
256
- # - The sending server issues more than 100 RCPT TO entries. By default, Mimecast only
257
- # accepts 100 RCPT TO entries per message body (DATA). The error triggers the sending
258
- # mail server to provide the DATA for the first 100 recipients before it provides the
259
- # next batch of RCPT TO entries.
260
- # - Most mail servers respect the transient error and treat it as a "truncation request".
261
- # If your mail server, firewall, or on-site solution doesn't respect the error, you
262
- # must ensure that no more than 100 recipients are submitted.
263
- # Note:
264
- # Solutions like SMTP Fix-Up / MailGuard and ESMTP inspection on Cisco Pix and
265
- # ASA Firewalls are known not to respect the transient error. We advise you to
266
- # disable this functionality.
267
- [452, 'too many recipients'],
268
-
269
- # - There are too many concurrent outbound connections for the account.
270
- # - Send the messages in smaller chunks to recipients.
271
- [550, 'exceeding outbound thread limit'],
272
- ],
273
273
  'userunknown' => [
274
274
  # - The email address isn't a valid SMTP address.
275
275
  # - The sender must resend the message to a valid internal email address.
@@ -7,8 +7,8 @@ module Sisimai
7
7
  class << self
8
8
  MessagesOf = {
9
9
  'mailboxfull' => ['552 too much mail data'],
10
+ 'ratelimited' => ['552 too many recipients'],
10
11
  'syntaxerror' => ['503 bad sequence of commands', '504 command parameter not implemented'],
11
- 'toomanyconn' => ['552 too many recipients'],
12
12
  'userunknown' => ['550 unknown user'],
13
13
  }.freeze
14
14
 
@@ -44,7 +44,7 @@ module Sisimai
44
44
  # Final-Recipient: RFC822; ***@docomo.ne.jp
45
45
  # Action: failed
46
46
  # Status: 5.2.0
47
- return 'userunknown' if statuscode == '5.1.1' || statuscode == '5.0.911'
47
+ return 'userunknown' if statuscode == '5.1.1' || statuscode == '5.9.213'
48
48
  return 'filtered' if statuscode == '5.2.0'
49
49
 
50
50
  MessagesOf.each_key do |e|
@@ -62,11 +62,11 @@ module Sisimai
62
62
  # 1300 Spectrum limits the number of concurrent connections from a sender, as well as the
63
63
  # 1340 total number of connections allowed. Limits vary based on the reputation of the IP
64
64
  # address. Reduce your number of connections and try again later.
65
- [1300, 1340, 'toomanyconn'],
65
+ [1300, 1340, 'ratelimited'],
66
66
 
67
67
  # 1350 Spectrum limits emails by the number of messages sent, amount of recipients,
68
68
  # 1490 potential for spam and invalid recipients.
69
- [1350, 1490, 'speeding'],
69
+ [1350, 1490, 'ratelimited'],
70
70
 
71
71
  # 1500 Your email was rejected for attempting to send as a different email address than you
72
72
  # signed in under. Check that you're sending emails from the address you signed in with.
@@ -77,23 +77,23 @@ module Sisimai
77
77
  [1520, 0, 'rejected'],
78
78
 
79
79
  # 1530 Your email was rejected because it's larger than the maximum size of 20MB.
80
- [1530, 0, 'mesgtoobig'],
80
+ [1530, 0, 'emailtoolarge'],
81
81
 
82
82
  # 1540 Your emails were deferred for attempting to send too many in a single session.
83
83
  # Reconnect and try reducing the number of emails you send at one time.
84
- [1540, 0, 'speeding'],
84
+ [1540, 0, 'ratelimited'],
85
85
 
86
86
  # 1550 Your email was rejected for having too many recipients in one message. Reduce the
87
87
  # number of recipients and try again later.
88
- [1550, 0, 'speeding'],
88
+ [1550, 0, 'ratelimited'],
89
89
 
90
90
  # 1560 Your email was rejected for having too many invalid recipients. Check your outgoing
91
91
  # email addresses and try again later.
92
- [1560, 0, 'policyviolation'],
92
+ [1560, 0, 'ratelimited'],
93
93
 
94
94
  # 1580 You've tried to send messages to too many recipients in a short period of time.
95
95
  # Wait a little while and try again later.
96
- [1580, 0, 'speeding'],
96
+ [1580, 0, 'ratelimited'],
97
97
  ].freeze
98
98
 
99
99
  # Detect bounce reason from https://www.spectrum.com/
@@ -15,9 +15,17 @@ module Sisimai
15
15
  'suspected spam ip', # https://service.mail.qq.com/detail/122/66
16
16
  'connection denied', # https://service.mail.qq.com/detail/122/170
17
17
  ],
18
- 'mesgtoobig' => [
18
+ 'emailtoolarge' => [
19
19
  'message too large', # https://service.mail.qq.com/detail/122/168
20
20
  ],
21
+ 'ratelimited' => [
22
+ 'mailbox unavailable or access denined', # https://service.mail.qq.com/detail/122/166
23
+ 'ip frequency limited', # https://service.mail.qq.com/detail/122/172
24
+ 'domain frequency limited', # https://service.mail.qq.com/detail/122/173
25
+ 'sender frequency limited', # https://service.mail.qq.com/detail/122/174
26
+ 'connection frequency limited', # https://service.mail.qq.com/detail/122/175
27
+ "frequency of receiving messages is limited", # https://service.mail.qq.com/detail/122/1011
28
+ ],
21
29
  'rejected' => [
22
30
  'suspected spam', # https://service.mail.qq.com/detail/122/71
23
31
  'mail is rejected by recipients', # https://service.mail.qq.com/detail/122/92
@@ -26,22 +34,12 @@ module Sisimai
26
34
  'spam is embedded in the email', # https://service.mail.qq.com/detail/122/59
27
35
  'mail content denied', # https://service.mail.qq.com/detail/122/171
28
36
  ],
29
- 'speeding' => [
30
- 'mailbox unavailable or access denined', # https://service.mail.qq.com/detail/122/166
31
- "frequency of receiving messages is limited", # https://service.mail.qq.com/detail/122/1011
32
- ],
33
37
  'suspend' => [
34
38
  'is a deactivated mailbox', # http://service.mail.qq.com/cgi-bin/help?subtype=1&&id=20022&&no=1000742
35
39
  ],
36
40
  'syntaxerror' => [
37
41
  'bad address syntax', # https://service.mail.qq.com/detail/122/167
38
42
  ],
39
- 'toomanyconn' => [
40
- 'ip frequency limited', # https://service.mail.qq.com/detail/122/172
41
- 'domain frequency limited', # https://service.mail.qq.com/detail/122/173
42
- 'sender frequency limited', # https://service.mail.qq.com/detail/122/174
43
- 'connection frequency limited', # https://service.mail.qq.com/detail/122/175
44
- ],
45
43
  'userunknown' => [
46
44
  'mailbox not found', # https://service.mail.qq.com/detail/122/169
47
45
  ],