sisimai 5.0.1 → 5.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (55) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/codecovio.yml +33 -0
  3. data/.github/workflows/rake-test.yml +54 -0
  4. data/ChangeLog.md +55 -0
  5. data/Gemfile +2 -0
  6. data/README-JA.md +14 -14
  7. data/README.md +15 -16
  8. data/lib/sisimai/arf.rb +24 -5
  9. data/lib/sisimai/fact.rb +46 -8
  10. data/lib/sisimai/lhost/amazonses.rb +0 -1
  11. data/lib/sisimai/lhost/amazonworkmail.rb +0 -1
  12. data/lib/sisimai/lhost/aol.rb +0 -1
  13. data/lib/sisimai/lhost/bigfoot.rb +0 -1
  14. data/lib/sisimai/lhost/domino.rb +0 -1
  15. data/lib/sisimai/lhost/exchange2007.rb +1 -1
  16. data/lib/sisimai/lhost/exim.rb +7 -16
  17. data/lib/sisimai/lhost/facebook.rb +0 -1
  18. data/lib/sisimai/lhost/googlegroups.rb +2 -1
  19. data/lib/sisimai/lhost/gsuite.rb +0 -1
  20. data/lib/sisimai/lhost/mailmarshalsmtp.rb +1 -1
  21. data/lib/sisimai/lhost/mailru.rb +8 -17
  22. data/lib/sisimai/lhost/messagelabs.rb +0 -1
  23. data/lib/sisimai/lhost/mfilter.rb +1 -1
  24. data/lib/sisimai/lhost/mxlogic.rb +8 -18
  25. data/lib/sisimai/lhost/office365.rb +1 -1
  26. data/lib/sisimai/lhost/outlook.rb +0 -1
  27. data/lib/sisimai/lhost/postfix.rb +0 -1
  28. data/lib/sisimai/lhost/receivingses.rb +0 -1
  29. data/lib/sisimai/lhost/sendgrid.rb +1 -3
  30. data/lib/sisimai/lhost/sendmail.rb +0 -1
  31. data/lib/sisimai/lhost/yandex.rb +0 -1
  32. data/lib/sisimai/message.rb +14 -5
  33. data/lib/sisimai/reason/authfailure.rb +1 -0
  34. data/lib/sisimai/reason/blocked.rb +3 -0
  35. data/lib/sisimai/reason/expired.rb +8 -0
  36. data/lib/sisimai/reason/filtered.rb +1 -0
  37. data/lib/sisimai/reason/mailboxfull.rb +4 -0
  38. data/lib/sisimai/reason/norelaying.rb +1 -0
  39. data/lib/sisimai/reason/rejected.rb +1 -1
  40. data/lib/sisimai/reason/securityerror.rb +1 -0
  41. data/lib/sisimai/reason/spamdetected.rb +1 -0
  42. data/lib/sisimai/reason/suspend.rb +5 -0
  43. data/lib/sisimai/reason/userunknown.rb +4 -1
  44. data/lib/sisimai/rfc5322.rb +120 -64
  45. data/lib/sisimai/rhost/google.rb +82 -67
  46. data/lib/sisimai/rhost/microsoft.rb +8 -0
  47. data/lib/sisimai/rhost/mimecast.rb +9 -2
  48. data/lib/sisimai/rhost/nttdocomo.rb +3 -3
  49. data/lib/sisimai/version.rb +1 -1
  50. data/set-of-emails/maildir/bsd/arf-26.eml +27 -0
  51. data/set-of-emails/maildir/bsd/lhost-sendmail-60.eml +85 -0
  52. data/set-of-emails/maildir/bsd/rhost-microsoft-04.eml +86 -0
  53. data/set-of-emails/maildir/bsd/rhost-microsoft-05.eml +83 -0
  54. metadata +8 -3
  55. data/.travis.yml +0 -23
@@ -15,16 +15,16 @@ module Sisimai
15
15
  # - 550 5.7.24 The SPF record of the sending domain has one or more suspicious entries.
16
16
  # For more information, go to Email sender guidelines.
17
17
  # - https://support.google.com/mail/answer/81126#authentication
18
- ['451', '4.7.24', 'the spf record of the sending domain has one or more suspicious entries'],
19
- ['550', '5.7.24', 'the spf record of the sending domain has one or more suspicious entries'],
18
+ ['451', '4.7.24', 'the spf record of the sending domain'],
19
+ ['550', '5.7.24', 'the spf record of the sending domain'],
20
20
 
21
21
  # - 421 4.7.26 This mail has been rate limited because it is unauthenticated.
22
22
  # Gmail requires all senders to authenticate with either SPF or DKIM.
23
23
  # Authentication results: DKIM = did not pass SPF domain-name with ip: ip-address =
24
24
  # did not pass. To resolve this issue, go to Email sender guidelines.
25
25
  # - https://support.google.com/mail/answer/81126#authentication
26
- ['421', '4.7.26', 'gmail requires all senders to authenticate with either spf or dkim'],
27
- ['550', '5.7.26', 'gmail requires all senders to authenticate with either spf or dkim'],
26
+ ['421', '4.7.26', 'senders to authenticate with either spf or dkim'],
27
+ ['550', '5.7.26', 'senders to authenticate with either spf or dkim'],
28
28
 
29
29
  # - 550 5.7.26 This message fails to pass SPF checks for an SPF record with a hard fail
30
30
  # policy (-all). To best protect our users from spam and phishing, the message has
@@ -36,7 +36,7 @@ module Sisimai
36
36
  # protect our users from spam and phishing, the message has been blocked. For more
37
37
  # information, go to Email sender guidelines.
38
38
  # - https://support.google.com/mail/answer/81126#authentication
39
- ['550', '5.7.26', 'this message fails to pass spf checks for an spf record with a hard fail'],
39
+ ['550', '5.7.26', 'fails to pass spf checks for an spf record with a hard fail'],
40
40
  ['550', '5.7.26', 'has an spf record with a hard fail policy'],
41
41
 
42
42
  # - 451 4.7.26 Unauthenticated email from domain-name is not accepted due to domain's
@@ -61,27 +61,36 @@ module Sisimai
61
61
  ['550', '5.7.1', 'fails to pass authentication checks'],
62
62
  ['550', '5.7.26', 'fails to pass authentication checks'],
63
63
 
64
- # - 421 4.7.27 This mail has been rate limited because SPF does not pass.
65
- # Gmail requires all large senders to authenticate with SPF. Authentication results:
66
- # SPF domain-name with ip: ip-address = did not pass. To resolve this issue, go to
67
- # Define your SPF record窶韮asic setup. https://support.google.com/a/answer/10685031
68
- ['421', '4.7.27', 'gmail requires all large senders to authenticate with spf'],
69
- ['550', '5.7.27', 'gmail requires all large senders to authenticate with spf'],
70
-
71
- # - 421 4.7.28 This mail has been rate limited because DKIM does not pass.
72
- # Gmail requires all large senders to authenticate with DKIM. Authentication results:
73
- # DKIM = did not pass. For instructions on setting up DKIM authentication, go to Turn
74
- # on DKIM for your domain. https://support.google.com/a/answer/180504
75
- ['421', '4.7.28', 'gmail requires all large senders to authenticate with dkim'],
76
- ['550', '5.7.28', 'gmail requires all large senders to authenticate with dkim'],
64
+ # - 421 4.7.27 Your email has been rate limited because SPF authentication didn't pass
65
+ # for this message. Gmail requires all bulk email senders to authenticate their emaili
66
+ # with SPF. Authentication results: SPF domain-name with IP address: ip-address = Did
67
+ # not pass.
68
+ ['421', '4.7.27', 'senders to authenticate with spf'],
69
+ ['421', '4.7.27', 'senders to authenticate their email with spf'],
70
+ ['550', '5.7.27', 'senders to authenticate with spf'],
71
+
72
+ # - 421 4.7.30 Your email has been rate limited because DKIM authentication didn't pass
73
+ # for this message. Gmail requires all email bulk senders to authenticate their email
74
+ # with DKIM. Authentication results: DKIM = Did not pass.
75
+ ['421', '4.7.30', 'senders to authenticate their email with dkim'],
76
+
77
+ # - 550 5.7.30 This mail has been blocked because DKIM does not pass. Gmail requires all
78
+ # large senders to authenticate with DKIM. Authentication results: DKIM = did not pass.
79
+ # For instructions on setting up DKIM authentication, go to Turn on DKIM for your domain.
80
+ ['550', '5.7.30', 'senders to authenticate with dkim'],
81
+
82
+ # - 421 4.7.32 Your email has been rate limited because the From: header (RFC5322) in
83
+ # this message isn't aligned with either the authenticated SPF or DKIM organizational
84
+ # domain.
85
+ ['421', '4.7.32', 'aligned with either the authenticated spf or dkim'],
77
86
  ],
78
87
  'badreputation' => [
79
88
  # - 421 4.7.0 This message is suspicious due to the very low reputation of the sending
80
89
  # IP address/domain. To protect our users from spam, mail sent from your IP address
81
90
  # has been temporarily rate limited. For more information, go to Why has Gmail blocked
82
91
  # my messages?. https://support.google.com/mail/answer/188131
83
- ['421', '4.7.0', 'this message is suspicious due to the very low reputation of the sending ip address'],
84
- ['421', '4.7.0', 'this message is suspicious due to the very low reputation of the sending domain'],
92
+ ['421', '4.7.0', 'very low reputation of the sending ip address'],
93
+ ['421', '4.7.0', 'very low reputation of the sending domain'],
85
94
 
86
95
  # - 550 5.7.1 Our system has detected that this message is likely suspicious due to the
87
96
  # very low reputation of the sending IP address/domain. To best protect our users
@@ -94,7 +103,7 @@ module Sisimai
94
103
  # - 421 4.7.0 IP not in whitelist for RCPT domain, closing connection.
95
104
  # For more information, go to Allowlists, denylists, and approved senders.
96
105
  # https://support.google.com/a/answer/60752
97
- ['421', '4.7.0', 'ip not in whitelist for rcpt domain, closing connection.'],
106
+ ['421', '4.7.0', 'ip not in whitelist for rcpt domain'],
98
107
 
99
108
  # - 421 4.7.0 Try again later, closing connection. This usually indicates a Denial of
100
109
  # Service (DoS) for the SMTP relay at the HELO stage.
@@ -105,7 +114,7 @@ module Sisimai
105
114
  ['501', '5.5.4', 'empty helo/ehlo argument not allowed'],
106
115
  ['501', '5.5.4', 'helo/ehlo argument is invalid'],
107
116
 
108
- # - 421 4.7.28 Gmail has detected an unusual rate of unsolicited mail.
117
+ # - 421 4.7.28 Gmail has detected an unusual rate of mail
109
118
  # (originating from)
110
119
  # - your IP address 192.0.2.25
111
120
  # - your IP Netblock 192.0.2.0/24 (?)
@@ -117,7 +126,7 @@ module Sisimai
117
126
  # our bulk email senders guidelines, go to Email sender guidelines.
118
127
  # https://support.google.com/mail/?p=UnsolicitedRateLimitError
119
128
  ['421', '4.7.0', 'an unusual rate of unsolicited mail'],
120
- ['421', '4.7.28', 'an unusual rate of unsolicited mail'],
129
+ ['421', '4.7.28', 'an unusual rate of mail'],
121
130
 
122
131
  # - 550 5.7.1 Our system has detected an unusual rate of unsolicited mail originating
123
132
  # from your IP address. To protect our users from spam, mail sent from your IP ad-
@@ -126,8 +135,8 @@ module Sisimai
126
135
  # - 550 5.7.28 There is an unusual rate of unsolicited mail originating from your IP
127
136
  # address. To protect our users from spam, mail sent from your IP address has been
128
137
  # blocked. To review our bulk email senders guidelines, go to Email sender guidelines.
129
- ['550', '5.7.1', 'an unusual rate of unsolicited mail originating from your ip address'],
130
- ['550', '5.7.28', 'an unusual rate of unsolicited mail originating from your ip address'],
138
+ ['550', '5.7.1', 'an unusual rate of unsolicited mail'],
139
+ ['550', '5.7.28', 'an unusual rate of unsolicited mail'],
131
140
  ],
132
141
  'exceedlimit' => [
133
142
  # - 552 5.2.3 Your message exceeded Google's message size limits. For more information,
@@ -144,8 +153,8 @@ module Sisimai
144
153
  ['552', '5.3.4', "exceeds google's limit of limit attachments."],
145
154
  ['552', '5.3.4', "your message exceeded google's message header size limits"],
146
155
  ['552', '5.3.4', 'bytes per individual header size'],
147
- ['552', '5.3.4', "exceeds google窶冱 header name limit of"],
148
- ['552', '5.3.4', "your message has a subject: header that exceeds google's message header size limit"]
156
+ ['552', '5.3.4', "exceeds google's header name limit of"],
157
+ ['552', '5.3.4', "exceeds google's message header size limit"]
149
158
  ],
150
159
  'expired' => [
151
160
  # - 421 4.7.0 Connection expired, try reconnecting. For more information, go to About
@@ -165,15 +174,15 @@ module Sisimai
165
174
 
166
175
  # - 452 4.2.2 The email account that you tried to reach is over quota. Please direct
167
176
  # the recipient to Clear Google Drive space & increase storage.
168
- ['452', '4.2.2', 'the email account that you tried to reach is over quota'],
169
- ['552', '5.2.2', 'the email account that you tried to reach is over quota'],
177
+ ['452', '4.2.2', 'is over quota'],
178
+ ['552', '5.2.2', 'is over quota'],
170
179
  ['550', '5.7.1', 'email quota exceeded'],
171
180
  ],
172
181
  'mesgtoobig' => [
173
182
  # - 552 5.3.4 Your message exceeded Google's message size limits. To view our message
174
183
  # size guidelines, go to Send attachments with your Gmail message.
175
184
  # - https://support.google.com/mail/?p=MaxSizeError
176
- ['552', '5.3.4', "your message exceeded google's message size limits"],
185
+ ['552', '5.3.4', "exceeded google's message size limits"],
177
186
 
178
187
  # - 552 5.3.4 The size of your message (size bytes) exceeded Google's message size
179
188
  # limits of limit bytes. To view our message size guidelines, go to Gmail receiving
@@ -184,8 +193,8 @@ module Sisimai
184
193
  'networkerror' => [
185
194
  # - 554 5.4.6 Message exceeded 50 hops, this may indicate a mail loop.
186
195
  # For more information, go to Gmail Help. https://support.google.com/mail/?p=MailLoop
187
- ['554', '5.4.6', 'message exceeded 50 hops, this may indicate a mail loop'],
188
- ['554', '5.6.0', 'message exceeded 50 hops, this may indicate a mail loop'],
196
+ ['554', '5.4.6', 'message exceeded 50 hops'],
197
+ ['554', '5.6.0', 'message exceeded 50 hops'],
189
198
  ],
190
199
  'norelaying' => [
191
200
  # - 550 5.7.0 Mail relay denied <ip-address>. Invalid credentials for relay for one of
@@ -211,37 +220,37 @@ module Sisimai
211
220
  # to our servers. Use the SMTP relay at your service provider instead. For more
212
221
  # information, go to 'The IP you're using to send email is not authorized...'.
213
222
  # - https://support.google.com/mail/?p=NotAuthorizedError
214
- ['550', '5.7.1', "the ip you're using to send mail is not authorized to send email directly to our servers"],
223
+ ['550', '5.7.1', 'is not authorized to send email directly to our servers'],
215
224
  ],
216
225
  'notcompliantrfc' => [
217
226
  # - 550 5.7.1 Messages missing a valid address in the From: header, or having no From:
218
227
  # header, are not accepted. For more information, go to Email sender guidelines and
219
228
  # review RFC 5322 specifications.
220
229
  # - https://support.google.com/mail/?p=RfcMessageNonCompliant
221
- ['550', '5.7.1', 'messages missing a valid address in the from: header'],
222
- ['550', '5.7.1', 'messages with multiple addresses in from: header are not accepted'],
230
+ ['550', '5.7.1', 'missing a valid address in the from: header'],
231
+ ['550', '5.7.1', 'multiple addresses in from: header are not accepted'],
223
232
 
224
233
  # - 550 5.7.1 This message is not RFC 5322 compliant because it has duplicate headers.
225
234
  # To reduce the amount of spam sent to Gmail, this message has been blocked. For more
226
235
  # information, go to Email sender guidelines and review RFC 5322 specifications.
227
236
  # - https://support.google.com/mail/?p=RfcMessageNonCompliant
228
- ['550', '5.7.1', 'this message is not rfc 5322 compliant'],
237
+ ['550', '5.7.1', 'is not rfc 5322 compliant'],
229
238
 
230
239
  # - 550 5.7.1 Messages missing a valid Message-ID: header are not accepted. For more
231
240
  # information, go to Email sender guidelines and review RFC 5322 specifications.
232
241
  # - https://support.google.com/mail/?p=RfcMessageNonCompliant
233
- ['550', '5.7.1', 'messages missing a valid message-id: header are not accepted'],
242
+ ['550', '5.7.1', 'missing a valid message-id: header'],
234
243
 
235
244
  # - 550 5.7.1 The message contains a unicode character in a disallowed header.
236
245
  # To review our message and header content guidelines, go to File types blocked in
237
246
  # Gmail. https://support.google.com/mail/?p=BlockedMessage
238
- ['550', '5.7.1', 'the message contains a unicode character in a disallowed header'],
247
+ ['550', '5.7.1', 'contains a unicode character in a disallowed header'],
239
248
 
240
249
  # - 550 5.7.1 Encoded-word syntax is not permitted in message header header-name. To
241
250
  # reduce the amount of spam sent to Gmail, this message has been blocked. For more
242
251
  # information, go to Email sender guidelines and review RFC 5322 specifications.
243
252
  # - https://support.google.com/mail/?p=RfcMessageNonCompliant
244
- ['550', '5.7.1', 'encoded-word syntax is not permitted in message header'],
253
+ ['550', '5.7.1', 'encoded-word syntax is not permitted'],
245
254
 
246
255
  # - 553 5.1.7 The sender address address is not a valid RFC 5321 address. For more
247
256
  # information, go to About SMTP error messages and review RFC 5321 specifications.
@@ -251,49 +260,55 @@ module Sisimai
251
260
  # - 554 5.6.0 Mail message is malformed. Not accepted. For more information, go to
252
261
  # Email sender guidelines and review RFC 5322 specifications.
253
262
  # - https://support.google.com/mail/?p=RfcMessageNonCompliant
254
- ['554', '5.6.0', 'mail message is malformed. not accepted'],
263
+ ['554', '5.6.0', 'mail message is malformed'],
255
264
  ],
256
265
  'policyviolation' => [
257
266
  # - 552 5.7.0 Our system detected an illegal attachment on your message. Please visit
258
267
  # http://mail.google.com/support/bin/answer.py?answer=6590 to review our attachment
259
268
  # guidelines.
260
- ['552', '5.7.0', 'detected an illegal attachment on your message'],
269
+ ['552', '5.7.0', 'illegal attachment on your message'],
261
270
 
262
271
  # - 552 5.7.0 This message was blocked because its content presents a potential securi-
263
272
  # ty issue. Please visit https://support.google.com/mail/?p=BlockedMessage to review
264
273
  # our message content and attachment content guidelines.
265
- ['552', '5.7.0', 'this message was blocked because its content presents a potential security issue'],
274
+ ['552', '5.7.0', 'blocked because its content presents a potential security issue'],
266
275
 
267
276
  # - 550 5.7.1 The user or domain that you are sending to (or from) has a policy that
268
277
  # prohibited the mail that you sent. Please contact your domain administrator for
269
278
  # further details.
270
279
  # For more information, visit https://support.google.com/a/answer/172179
271
- ['550', '5.7.1', 'the user or domain that you are sending to (or from) has a policy that prohibited'],
280
+ ['550', '5.7.1', 'you are sending to (or from) has a policy that prohibited'],
272
281
 
273
282
  # - 421 4.7.28 Gmail has detected this message exceeded its quota for sending messages
274
283
  # with the same Message-ID:. To best protect our users, the message has been tempo-
275
284
  # rarily rejected. For more information, go to Why has Gmail blocked my messages?.
276
285
  # https://support.google.com/mail/answer/188131
277
- ['421', '4.7.28', 'has detected this message exceeded its quota for sending messages with the same message-id:'],
286
+ ['421', '4.7.28', 'sending messages with the same message-id:'],
278
287
  ],
279
288
  'rejected' => [
280
289
  # - 550 5.7.0, Mail Sending denied. This error occurs if the sender account is disabled
281
290
  # or not registered within your Google Workspace domain.
282
291
  # - https://support.google.com/a/answer/6140680#maildenied
283
292
  ['550', '5.7.0', 'mail sending denied'],
284
- ['550', '5.7.1', 'unauthenticated email is not accepted from this domain'],
293
+ ['550', '5.7.1', 'unauthenticated email is not accepted'],
285
294
  ],
286
295
  'requireptr' => [
287
296
  # - 550 5.7.1 This message does not meet IPv6 sending guidelines regarding PTR records
288
297
  # and authentication. For more information, go to Email sender guidelines.
289
298
  # https://support.google.com/mail/?p=IPv6AuthError
290
- ['550', '5.7.1', 'this message does not meet ipv6 sending guidelines regarding ptr records and authentication'],
299
+ ['550', '5.7.1', 'does not meet ipv6 sending guidelines regarding ptr records and authentication'],
291
300
 
292
301
  # - 421 4.7.0 The IP address sending this message does not have a PTR record, or the
293
302
  # corresponding forward DNS entry does not point to the sending IP. To protect our
294
303
  # users from spam, mail sent from your IP address has been temporarily rate limited.
295
304
  # For more information, go to Email sender guidelines.
296
- #
305
+ ['421', '4.7.0', 'does not have a ptr record'],
306
+
307
+ # - 421 4.7.23 The sending IP address for this message doesn't have a PTR record, or
308
+ # the PTR record's forward DNS entry doesn't match the sending IP address. To protect
309
+ # users from spam, your email has been temporarily rate limited.
310
+ ['421', '4.7.23', ' have a ptr record, or the ptr record'],
311
+
297
312
  # - 550 5.7.25 The IP address sending this message does not have a PTR record setup, or
298
313
  # the corresponding forward DNS entry does not point to the sending IP. As a policy,
299
314
  # Gmail does not accept messages from IPs with missing PTR records.
@@ -303,9 +318,8 @@ module Sisimai
303
318
  # - 550 5.7.25 The sending IP does not match the IP address of the hostname specified
304
319
  # in the pointer (PTR) record. For more information, go to Email sender guidelines.
305
320
  # - https://support.google.com/mail/answer/81126#ip-practices
306
- ['421', '4.7.0', 'the ip address sending this message does not have a ptr record'],
307
- ['550', '5.7.25', 'the ip address sending this message does not have a ptr record'],
308
- ['550', '5.7.25', 'the sending ip does not match the ip address of the hostname'],
321
+ ['550', '5.7.25', 'does not have a ptr record'],
322
+ ['550', '5.7.25', 'does not match the ip address of the hostname'],
309
323
  ],
310
324
  'securityerror' => [
311
325
  # - 421 4.7.0 TLS required for RCPT domain, closing connection. For more information,
@@ -313,7 +327,7 @@ module Sisimai
313
327
  #
314
328
  # - 454 4.7.0 Too many login attempts, please try again later. For more information, go
315
329
  # to Add Gmail to another email client. https://support.google.com/mail/answer/7126229
316
- ['421', '4.7.0', 'tls required for rcpt domain, closing connection'],
330
+ ['421', '4.7.0', 'tls required for rcpt domain'],
317
331
  ['454', '4.7.0', 'too many login attempts'],
318
332
 
319
333
  # - 503 5.7.0 No identity changes permitted. For more information, go to About SMTP
@@ -334,32 +348,33 @@ module Sisimai
334
348
 
335
349
  # - 535 5.7.1 Please log in with your web browser and then try again. For more infor-
336
350
  # mation, visit https://support.google.com/mail/bin/accounts/answer/78754
337
- ['535', '5.7.1', 'please log in with your web browser and then try again'],
338
- ['534', '5.7.9', 'please log in with your web browser and then try again'],
339
- ['534', '5.7.14', 'please log in through your web browser and then try again'],
351
+ ['535', '5.7.1', 'please log in with your web browser'],
352
+ ['534', '5.7.9', 'please log in with your web browser'],
353
+ ['534', '5.7.14', 'please log in through your web browser'],
340
354
 
341
355
  # - 535 5.7.1 Username and Password not accepted. For more information, visit
342
356
  # https://support.google.com/accounts/troubleshooter/2402620
343
357
  ['535', '5.7.1', 'username and password not accepted'],
344
358
  ['535', '5.7.8', 'username and password not accepted'],
345
359
 
346
- # - 421 4.7.29 This mail has been rate limited because TLS wasn't used. Gmail requires
347
- # all large senders to use TLS/SSL during SMTP. For instructions on using TLS, go to
348
- # TLS & SSL connections. https://support.google.com/a/answer/100181
349
- ['421', '4.7.29', 'gmail requires all large senders to use tls/ssl during smtp'],
360
+ # - 421 4.7.29 Your email has been rate limited because this message wasn't sent over a
361
+ # TLS connection. Gmail requires all bulk email senders to use TLS/SSL for SMTP conn-
362
+ # ections.
363
+ ['421', '4.7.29', 'senders to use tls/ssl for smtp'],
364
+ ['550', '5.7.29', 'senders to use tls/ssl for smtp'],
350
365
  ],
351
366
  'spamdetected' => [
352
367
  # - 421 4.7.0 This message is suspicious due to the nature of the content or the links
353
368
  # within. To best protect our users from spam, the message has been blocked. For more
354
369
  # information, go to Why has Gmail blocked my messages?.
355
370
  # https://support.google.com/mail/answer/188131
356
- ['421', '4.7.0', 'this message is suspicious due to the nature of the content or the links within'],
371
+ ['421', '4.7.0', 'due to the nature of the content or the links within'],
357
372
 
358
373
  # - 550 5.7.1 Our system has detected that this message is likely unsolicited mail. To
359
374
  # reduce the amount of spam sent to Gmail, this message has been blocked.
360
375
  # For more information, visit https://support.google.com/mail/answer/188131
361
376
  # - https://support.google.com/mail/?p=UnsolicitedMessageError
362
- ['550', '5.7.1', 'this message is likely unsolicited mail'],
377
+ ['550', '5.7.1', 'likely unsolicited mail'],
363
378
  ],
364
379
  'speeding' => [
365
380
  # - 450 4.2.1 The user you are trying to contact is receiving mail too quickly. Please
@@ -378,8 +393,8 @@ module Sisimai
378
393
  # later time. If the user is able to receive mail at that time, your message will be
379
394
  # delivered. For more information, visit https://support.google.com/mail/answer/6592
380
395
  # - https://support.google.com/mail/?p=ReceivingRatePerm
381
- ['450', '4.2.1', 'is receiving mail at a rate that prevents additional messages from being delivered'],
382
- ['550', '5.2.1', 'is receiving mail at a rate that prevents additional messages from being delivered'],
396
+ ['450', '4.2.1', 'rate that prevents additional messages from being delivered'],
397
+ ['550', '5.2.1', 'rate that prevents additional messages from being delivered'],
383
398
 
384
399
  # - 550 5.4.5 Daily SMTP relay limit exceeded for user. For more information on SMTP
385
400
  # relay sending limits please contact your administrator or visit SMTP relay service
@@ -396,17 +411,17 @@ module Sisimai
396
411
  'suspend' => [
397
412
  # - 550 5.2.1 The email account that you tried to reach is inactive.
398
413
  # For more information, go to https://support.google.com/mail/?p=DisabledUser
399
- ['550', '5.2.1', 'the email account that you tried to reach is disabled'],
400
- ['550', '5.2.1', 'the email account that you tried to reach is inactive'],
414
+ ['550', '5.2.1', 'account that you tried to reach is disabled'],
415
+ ['550', '5.2.1', 'account that you tried to reach is inactive'],
401
416
  ],
402
417
  'syntaxerror' => [
403
418
  # - 523 5.7.10 SMTP protocol violation, no commands allowed to pipeline after STARTTLS.
404
419
  # For more information, go to About SMTP error messages and review RFC 3207
405
420
  # specifications.
406
421
  ['451', '4.5.0', 'smtp protocol violation'],
407
- ['454', '4.5.0', 'smtp protocol violation, no commands allowed to pipeline after starttls'],
408
- ['525', '5.7.10', 'smtp protocol violation, no commands allowed to pipeline after starttls'],
409
- ['535', '5.5.4', 'optional argument not permitted for that auth mode'],
422
+ ['454', '4.5.0', 'smtp protocol violation'],
423
+ ['525', '5.7.10', 'smtp protocol violation'],
424
+ ['535', '5.5.4', 'optional argument not permitted'],
410
425
  ['454', '5.5.1', 'starttls may not be repeated'],
411
426
 
412
427
  # - 501 5.5.2 Syntax error, cannot decode response. For more information, go to About
@@ -455,6 +455,9 @@ module Sisimai
455
455
  # - This message usually indicates an issue on the destination email server. Check the
456
456
  # validity of the recipient address. Determine if the destination server is configur-
457
457
  # ed correctly to receive the messages.
458
+ ['4.4.317', 0, 0, 'starttls is required to send mail'],
459
+ ['5.4.317', 0, 0, 'starttls is required to send mail'],
460
+
458
461
  ['4.7.321', 0, 0, 'starttls-not-supported: destination mail server must support tls to receive mail'],
459
462
  ['5.7.321', 0, 0, 'starttls-not-supported: destination mail server must support tls to receive mail'],
460
463
 
@@ -599,6 +602,11 @@ module Sisimai
599
602
  ['4.4.25', 0, 0, 'message failed to be replicated: no healthy secondary server available to accept replica at this time.'],
600
603
  ['4.4.28', 0, 0, 'message failed to be replicated: the operation was canceled'],
601
604
 
605
+ # 550 5.4.318 Message expired, connection reset (SuspiciousRemoteServerError)
606
+ # 450 4.4.318 Connection was closed abruptly (SuspiciousRemoteServerError)
607
+ ['4.4.318', 0, 0, '(suspiciousremoteservererror)'],
608
+ ['5.4.318', 0, 0, '(suspiciousremoteservererror)'],
609
+
602
610
  # - status=deferred (host hotmail-com.olc.protection.outlook.com[192.0.2.1] said:
603
611
  # 451 4.7.500 Server busy. Please try again later from [192.0.2.2]. (AS761) (in reply
604
612
  # to RCPT TO command))
@@ -7,6 +7,7 @@ module Sisimai
7
7
  class << self
8
8
  MessagesOf = {
9
9
  # https://community.mimecast.com/s/article/Mimecast-SMTP-Error-Codes-842605754
10
+ # https://community.mimecast.com/s/article/email-security-cloud-gateway-mimecast-smtp-error-codes
10
11
  'authfailure' => [
11
12
  # - The inbound message has been rejected because the originated IP address isn't list-
12
13
  # ed in the published SPF records for the sending domain.
@@ -76,6 +77,12 @@ module Sisimai
76
77
  [554, 'maximum email size exceeded'],
77
78
  ],
78
79
  'networkerror' => [
80
+ # - The recipients' domains have MX records configured incorrectly
81
+ # - Check and remove any MX records that point to hostnames with outbound references.
82
+ # Only Inbound smart hosts are supported on MX records.
83
+ [451, 'the incorrect hostname used for inbounds'],
84
+ [550, 'the incorrect hostname used for inbounds'],
85
+
79
86
  # - The message has too many "received headers" as it has been forwarded across multi-
80
87
  # ple hops. Once 25 hops have been reached, the email is rejected.
81
88
  # - Investigate the email addresses in the communication pairs, to see what forwarders
@@ -135,8 +142,8 @@ module Sisimai
135
142
 
136
143
  # - A personal block policy is in place for the email address/domain.
137
144
  # - Remove the email address/domain from the Managed Senders list.
138
- [550, 'envelope blocked user entry'],
139
- [550, 'envelope blocked user domain entry'],
145
+ [550, 'envelope blocked - user entry'],
146
+ [550, 'envelope blocked - user domain entry'],
140
147
  [550, 'rejected by header-based manually blocked senders - block for manual block'],
141
148
 
142
149
  # - A Block Sender Policy has been applied to reject emails based on the Header From or
@@ -93,15 +93,15 @@ module Sisimai
93
93
  else
94
94
  # Rejected by other SMTP commands: AUTH, MAIL,
95
95
  # もしもこのブロックを通過するNTTドコモからのエラーメッセージを見つけたら
96
- # https://github.com/sisimai/p5-sisimai/issues からご連絡ねがいます。
96
+ # https://github.com/sisimai/rb-sisimai/issues からご連絡ねがいます。
97
97
  #
98
98
  # If you found a error message from mfsmax.docomo.ne.jp which passes this block,
99
- # please open an issue at https://github.com/sisimai/p5-sisimai/issues .
99
+ # please open an issue at https://github.com/sisimai/rb-sisimai/issues .
100
100
  end
101
101
  else
102
102
  # Status: field is neither 5.0.0 nor values defined in code above
103
103
  # もしもこのブロックを通過するNTTドコモからのエラーメッセージを見つけたら
104
- # https://github.com/sisimai/p5-sisimai/issues からご連絡ねがいます。
104
+ # https://github.com/sisimai/rb-sisimai/issues からご連絡ねがいます。
105
105
  #
106
106
  # If you found a error message from mfsmax.docomo.ne.jp which passes this block,
107
107
  #
@@ -1,4 +1,4 @@
1
1
  # Define the version number of Sisimai
2
2
  module Sisimai
3
- VERSION = '5.0.1'.freeze
3
+ VERSION = '5.0.3'.freeze
4
4
  end
@@ -0,0 +1,27 @@
1
+ Date: Thu, 2 May 2024 17:48:55 +0000 (UTC)
2
+ From: example@icloud.com
3
+ Reply-To: example@icloud.com
4
+ To: opt-out-100731.e75std53hz8rnmy4r@example.org
5
+ Message-ID: <898B6152-36BC-4F4B-ABF8-2694A88CB5FC@icloud.com>
6
+ Subject: unsubscribe
7
+ MIME-Version: 1.0
8
+ Content-Type: text/plain; charset=UTF-8
9
+ Content-Transfer-Encoding: quoted-printable
10
+ DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=icloud.com;
11
+ s=1a1hai; t=1714672136; bh=63IYtxpNtEan90vzJQT9iqnMeWHy9rlx8iFLnco1rRc=;
12
+ h=Content-Type:From:Mime-Version:Date:Subject:Message-Id:To;
13
+ b=AoovfvadwxCx8Pp5yD62kw1AcKMQV32RhSrBsyw4qLr/CVsQo1tIh+xCUPdI7So9i
14
+ paxzn20YdVvHuP3f8CxT/q3x9WaQV3NDAmbbQumYwOpJk7yNXRkuWNjIlt6isZM0tb
15
+ FK8v+Tq3j3Va83mZ6OeR8ZjvfY8ImjewEOTEZ79sNxToaaHvRuDWRbzt4uaktRuL44
16
+ j1wEjiKxgy6f7bOC2XJyRaf41BtCm4V6TGtcBF9hOEMzn6LulaLgashs3yGQ92wkb9
17
+ OLSy1uP0iA4nj/qAM+QaauAFzmqYmqa9r7rUFCjqf01q4gvn1QfO4QVqiRQXiMXc8e
18
+ QPSqskbSbsIQA==
19
+ X-Proofpoint-GUID: fiybgv3DewxSxApGH8GnpeSw3OZld4ll
20
+ Auto-Submitted: auto-replied
21
+ X-Apple-Unsubscribe: true
22
+ X-Proofpoint-ORIG-GUID: fiybgv3DewxSxApGH8GnpeSw3OZld4ll
23
+ X-Virus-Status: Clean
24
+
25
+ Apple Mail sent this email to unsubscribe from the message =E2=80=9Cunsubsc=
26
+ ribe=E2=80=9D.
27
+
@@ -0,0 +1,85 @@
1
+ Return-Path: <>
2
+ X-Original-To: nekochan@email.example.jp
3
+ Delivered-To: mail@email.example.jp
4
+ Received: from mx311.ume.example.ne.jp (ip-192-0-2-25.us-east-1.compute.internal [192.0.2.25])
5
+ by mx1.email.example.jp (Postfix) with ESMTPS id Ln2ZS7LPwxzW4HMF
6
+ for <nekochan@email.example.jp>; Wed, 7 Feb 2024 23:34:45 +0900 (JST)
7
+ Received: from localhost (localhost)
8
+ by mx311.ume.example.ne.jp (8.16.1/8.16.1) id 3LGub1et091679;
9
+ Wed, 7 Feb 2024 23:34:45 +0900 (JST)
10
+ (envelope-from MAILER-DAEMON)
11
+ Date: Wed, 7 Feb 2024 23:34:45 +0900 (JST)
12
+ From: Mail Delivery Subsystem <MAILER-DAEMON@mx311.ume.example.ne.jp>
13
+ To: <nekochan@email.example.jp>
14
+ Message-Id: <202402072222.3LGub1et091679@mx311.ume.example.ne.jp>
15
+ MIME-Version: 1.0
16
+ Content-Type: multipart/report; report-type=delivery-status;
17
+ boundary="3LGub1et091679.1157497350/mx311.ume.example.ne.jp"
18
+ Subject: Returned mail: see transcript for details
19
+ Auto-Submitted: auto-generated (failure)
20
+
21
+ This is a MIME-encapsulated message
22
+
23
+ --3LGub1et091679.1157497350/mx311.ume.example.ne.jp
24
+
25
+ The original message was received at Wed, 7 Feb 2024 23:34:45 +0900 (JST)
26
+ from localhost [127.0.0.1]
27
+
28
+ ----- The following addresses had permanent fatal errors -----
29
+ <kijitora-cat@google.example.com>
30
+ (reason: 550-5.7.26 The MAIL FROM domain [email.example.jp] has an SPF record with a hard fail)
31
+
32
+ ----- Transcript of session follows -----
33
+ ... while talking to gmail-smtp-in.l.google.com.:
34
+ >>> DATA
35
+ <<< 550-5.7.26 The MAIL FROM domain [email.example.jp] has an SPF record with a hard fail
36
+ <<< 550-5.7.26 policy (-all) but it fails to pass SPF checks with the ip:
37
+ <<< 550-5.7.26 [203.0.113.22]. To best protect our users from spam and phishing,
38
+ <<< 550-5.7.26 the message has been blocked. For instructions on setting up
39
+ <<< 550-5.7.26 authentication, go to
40
+ <<< 550 5.7.26 https://support.google.com/mail/answer/81126#authentication q2.22 - gsmtp
41
+ 554 5.0.0 Service unavailable
42
+
43
+ --3LGub1et091679.1157497350/mx311.ume.example.ne.jp
44
+ Content-Type: message/delivery-status
45
+
46
+ Reporting-MTA: dns; mx311.ume.example.ne.jp
47
+ Arrival-Date: Wed, 7 Feb 2024 23:34:45 +0900 (JST)
48
+
49
+ Final-Recipient: RFC822; kijitora-cat@google.example.com
50
+ X-Actual-Recipient: rfc822; kijitora-cat@google.example.com
51
+ Action: failed
52
+ Status: 5.7.26
53
+ Remote-MTA: DNS; gmail-smtp-in.l.google.com
54
+ Diagnostic-Code: SMTP; 550-5.7.26 The MAIL FROM domain [email.example.jp] has an SPF record with a hard fail
55
+ Last-Attempt-Date: Wed, 7 Feb 2024 23:34:45 +0900 (JST)
56
+
57
+ --3LGub1et091679.1157497350/mx311.ume.example.ne.jp
58
+ Content-Type: message/rfc822
59
+
60
+ Return-Path: <nekochan@email.example.jp>
61
+ Received: from mx311.ume.example.ne.jp (localhost [127.0.0.1])
62
+ by mx311.ume.example.ne.jp (8.16.1/8.16.1) with ESMTP id ujmeV2ZG033926
63
+ for <kijitora-cat@google.example.com>; Wed, 7 Feb 2024 23:34:45 +0900 (JST)
64
+ (envelope-from nekochan@email.example.jp)
65
+ Received: (from kijitora@localhost)
66
+ by mx311.ume.example.ne.jp (8.16.1/8.16.1/Submit) id BJObadmZ060489
67
+ for kijitora-cat@google.example.com; Wed, 7 Feb 2024 23:34:45 +0900 (JST)
68
+ (envelope-from nekochan@email.example.jp)
69
+ Received: from relay1.email.example.jp (relay1.email.example.jp [192.168.168.168])
70
+ by mx311.ume.example.ne.jp (8.16.1/8.16.1) with ESMTPS id Mf73VCB9P8z4lM3b
71
+ (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO)
72
+ for <neko@libsisimai.org>; Wed, 7 Feb 2024 23:34:45 +0900 (JST)
73
+ (envelope-from nekochan@email.example.jp)
74
+ Content-Type: text/plain; charset=us-ascii
75
+ Message-Id: <50ad190.20240207.2202@relay1.email.example.jp>
76
+ Content-Transfer-Encoding: 7bit
77
+ Subject: Nyaan
78
+ From: <nekochan@email.example.jp>
79
+ To: <neko@libsisimai.org>
80
+ Date: 7 Feb 2024 23:34:45 +0900
81
+ MIME-Version: 1.0
82
+
83
+ Nyaan?
84
+
85
+ --3LGub1et091679.1157497350/mx311.ume.example.ne.jp--