sisimai 5.0.2-java → 5.0.3-java
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.
- checksums.yaml +4 -4
- data/.github/workflows/codecovio.yml +33 -0
- data/.github/workflows/rake-test.yml +22 -23
- data/ChangeLog.md +28 -0
- data/Gemfile +2 -0
- data/README-JA.md +9 -9
- data/README.md +11 -11
- data/lib/sisimai/arf.rb +24 -5
- data/lib/sisimai/lhost/mailmarshalsmtp.rb +1 -1
- data/lib/sisimai/message.rb +1 -1
- data/lib/sisimai/reason/blocked.rb +1 -0
- data/lib/sisimai/reason/expired.rb +7 -0
- data/lib/sisimai/reason/filtered.rb +1 -0
- data/lib/sisimai/reason/mailboxfull.rb +3 -0
- data/lib/sisimai/reason/norelaying.rb +1 -0
- data/lib/sisimai/reason/rejected.rb +1 -1
- data/lib/sisimai/reason/suspend.rb +4 -0
- data/lib/sisimai/reason/userunknown.rb +4 -1
- data/lib/sisimai/rhost/google.rb +82 -67
- data/lib/sisimai/rhost/microsoft.rb +8 -0
- data/lib/sisimai/rhost/nttdocomo.rb +3 -3
- data/lib/sisimai/version.rb +1 -1
- data/set-of-emails/maildir/bsd/arf-26.eml +27 -0
- data/set-of-emails/maildir/bsd/rhost-microsoft-04.eml +86 -0
- data/set-of-emails/maildir/bsd/rhost-microsoft-05.eml +83 -0
- metadata +6 -3
- data/.travis.yml +0 -23
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 54c592e5b1c8a3be27062107f12c99a55a70e953523df5c6c575e668a71e0dde
|
4
|
+
data.tar.gz: c6f726ab72d810a9447b3e7df6cccab4c458e899bd52c652c1260b7ba063fd3c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 910179d9e65f229fb8775bf104e469bfb7b5c8d04d1888f2bdf1fb9e47cb00a6710e5e76cdb15118ceb4bf1358b8020cc70fecfab5c8a72ff0ab773fafd5b9fd
|
7
|
+
data.tar.gz: 949e5a68e872884ad3718dbc9280107c9c59c18986994878552c3d0bd0e595ac9ced30bf79ef1db33281757956f26fee0f8fcfc7d697159abbc718073006a61a
|
@@ -0,0 +1,33 @@
|
|
1
|
+
name: Upload coverage reports to Codecov
|
2
|
+
on:
|
3
|
+
push:
|
4
|
+
branches: ["5-stable"]
|
5
|
+
pull_request:
|
6
|
+
branches: ["5-stable"]
|
7
|
+
jobs:
|
8
|
+
codecov:
|
9
|
+
runs-on: ubuntu-latest
|
10
|
+
steps:
|
11
|
+
- name: Checkout the repository(CRuby)
|
12
|
+
uses: actions/checkout@v4
|
13
|
+
- name: Setup CRuby
|
14
|
+
uses: ruby/setup-ruby@v1
|
15
|
+
with:
|
16
|
+
ruby-version: "3.3"
|
17
|
+
- name: Install minitest
|
18
|
+
run: gem install minitest -v 5.15.0
|
19
|
+
- name: Install oj
|
20
|
+
run: gem install oj -v 3.10.0
|
21
|
+
- name: Install bundle, rake, simplecov, and simplecov-cobertura
|
22
|
+
run: gem install bundle rake simplecov simplecov-cobertura
|
23
|
+
- name: Check the CRuby version
|
24
|
+
run: ruby -v
|
25
|
+
- name: Execute public tests with the coverage report
|
26
|
+
run: ruby -I./lib ./test/coverage.rb
|
27
|
+
- name: Run Codecov on GitHub Actions
|
28
|
+
uses: codecov/codecov-action@v4.4.0
|
29
|
+
with:
|
30
|
+
token: ${{ secrets.CODECOV_TOKEN }}
|
31
|
+
files: ./coverage/coverage.xml
|
32
|
+
verbose: true
|
33
|
+
|
@@ -13,22 +13,22 @@ jobs:
|
|
13
13
|
matrix:
|
14
14
|
cruby: ["2.4", "3.3"]
|
15
15
|
steps:
|
16
|
-
-
|
16
|
+
- name: Checkout the repository(CRuby)
|
17
|
+
uses: actions/checkout@v4
|
17
18
|
- name: Setup CRuby
|
18
19
|
uses: ruby/setup-ruby@v1
|
19
20
|
with:
|
20
21
|
ruby-version: ${{ matrix.cruby }}
|
21
|
-
-
|
22
|
-
|
23
|
-
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
-
|
30
|
-
|
31
|
-
- run: rake privatetest
|
22
|
+
- name: Install minitest
|
23
|
+
run: gem install minitest -v 5.15.0
|
24
|
+
- name: Install oj
|
25
|
+
run: gem install oj -v 3.10.0
|
26
|
+
- name: Install bundle and rake
|
27
|
+
run: gem install bundle rake
|
28
|
+
- name: Check the CRuby version
|
29
|
+
run: ruby -v
|
30
|
+
- name: Execute public tests
|
31
|
+
run: rake publictest
|
32
32
|
test-jruby:
|
33
33
|
name: rake test with JRuby ${{ matrix.jruby }}
|
34
34
|
runs-on: ubuntu-latest
|
@@ -37,19 +37,18 @@ jobs:
|
|
37
37
|
matrix:
|
38
38
|
jruby: ["jruby-9.2", "jruby-9.4"]
|
39
39
|
steps:
|
40
|
-
-
|
40
|
+
- name: Checkout the repository(JRuby)
|
41
|
+
uses: actions/checkout@v2
|
41
42
|
- name: Setup JRuby
|
42
43
|
uses: ruby/setup-ruby@v1
|
43
44
|
with:
|
44
45
|
ruby-version: ${{ matrix.jruby }}
|
45
|
-
-
|
46
|
-
|
47
|
-
- name:
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
- run: rake publictest
|
54
|
-
- run: rake privatetest
|
46
|
+
- name: Install minitest
|
47
|
+
run: gem install minitest -v 5.15.0
|
48
|
+
- name: Install bundle, rake, and jrjackson
|
49
|
+
run: gem install bundle rake jrjackson
|
50
|
+
- name: Check the JRuby version
|
51
|
+
run: jruby -v
|
52
|
+
- name: Execute public tests
|
53
|
+
run: rake publictest
|
55
54
|
|
data/ChangeLog.md
CHANGED
@@ -3,6 +3,34 @@ RELEASE NOTES for Ruby version of Sisimai
|
|
3
3
|
- releases: "https://github.com/sisimai/rb-sisimai/releases"
|
4
4
|
- download: "https://rubygems.org/gems/sisimai"
|
5
5
|
|
6
|
+
v5.0.3
|
7
|
+
---------------------------------------------------------------------------------------------------
|
8
|
+
- release: "Wed, 22 May 2024 14:12:22 +0900 (JST)"
|
9
|
+
- version: "5.0.3"
|
10
|
+
- changes:
|
11
|
+
- Remove `.travis.yml` from this repository
|
12
|
+
- Follow updates in Gmail SMTP errors and codes on Apr 29 and May 10 at `Sisimai::Rhost::Google`
|
13
|
+
#275 #277 #283
|
14
|
+
- https://support.google.com/a/answer/3726730?hl=en
|
15
|
+
- https://github.com/azumakuniyuki/feb-2024-no-auth-no-entry/commit/1d6adede
|
16
|
+
- https://github.com/azumakuniyuki/feb-2024-no-auth-no-entry/commit/d477b178
|
17
|
+
- Implement SMTP error codes as follows: `4.7.23`, `4.7.30`, `4.7.32`, `5.7.29`, and `5.7.30`
|
18
|
+
- Shortened error message patterns to make them more adaptable to minor sentence changes.
|
19
|
+
- Multibyte characters in the code and comments have been replaced with ASCII characters #278
|
20
|
+
- #279 #280 Deal the Apple unsubscribe notification as an ARF message. Thanks to @mnmallea
|
21
|
+
- Add the following error message patterns returned from Exchange Online #281
|
22
|
+
- 4.4.317, 5.4.317: STARTTLS is required to send mail
|
23
|
+
- 4.4.318, 5.4.318: Connection was closed abruptly (SuspiciousRemoteServerError)
|
24
|
+
- #282 Added 16 error message patterns into the following reasons:
|
25
|
+
- `Blocked`
|
26
|
+
- `Expired`
|
27
|
+
- `Filtered`
|
28
|
+
- `MailboxFull`
|
29
|
+
- `NoRelaying`
|
30
|
+
- `Suspend`
|
31
|
+
- `UserUnknown`
|
32
|
+
- #286 Use Codecov for the coverage
|
33
|
+
|
6
34
|
v5.0.2
|
7
35
|
---------------------------------------------------------------------------------------------------
|
8
36
|
- release: "Wed, 13 Mar 2024 13:00:00 +0900 (JST)"
|
data/Gemfile
CHANGED
data/README-JA.md
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|

|
2
2
|
[](https://github.com/sisimai/rb-sisimai/blob/master/LICENSE)
|
3
|
-
[](https://coveralls.io/r/sisimai/rb-sisimai)
|
4
3
|
[](https://www.ruby-lang.org/)
|
5
4
|
[](https://badge.fury.io/rb/sisimai)
|
5
|
+
[](https://codecov.io/github/sisimai/rb-sisimai)
|
6
6
|
|
7
7
|
> [!IMPORTANT]
|
8
8
|
> **2024年2月2日の時点でこのリポジトリのデフォルトブランチは[5-stable](https://github.com/sisimai/rb-sisimai/tree/5-stable)
|
@@ -110,10 +110,10 @@ Install
|
|
110
110
|
### From RubyGems.org
|
111
111
|
```shell
|
112
112
|
$ sudo gem install sisimai
|
113
|
-
Fetching: sisimai-5.0.
|
114
|
-
Successfully installed sisimai-5.0.
|
115
|
-
Parsing documentation for sisimai-5.0.
|
116
|
-
Installing ri documentation for sisimai-5.0.
|
113
|
+
Fetching: sisimai-5.0.3.gem (100%)
|
114
|
+
Successfully installed sisimai-5.0.3
|
115
|
+
Parsing documentation for sisimai-5.0.3
|
116
|
+
Installing ri documentation for sisimai-5.0.3
|
117
117
|
Done installing documentation for sisimai after 6 seconds
|
118
118
|
1 gem installed
|
119
119
|
```
|
@@ -141,13 +141,13 @@ if [ -d "/usr/local/jr" ]; then \
|
|
141
141
|
...
|
142
142
|
3 gems installed
|
143
143
|
/opt/local/bin/rake install
|
144
|
-
sisimai 5.0.
|
145
|
-
sisimai (5.0.
|
144
|
+
sisimai 5.0.3 built to pkg/sisimai-5.0.3.gem.
|
145
|
+
sisimai (5.0.3) installed.
|
146
146
|
if [ -d "/usr/local/jr" ]; then \
|
147
147
|
PATH="/usr/local/jr/bin:$PATH" /usr/local/jr/bin/rake install; \
|
148
148
|
fi
|
149
|
-
sisimai 5.0.
|
150
|
-
sisimai (5.0.
|
149
|
+
sisimai 5.0.3 built to pkg/sisimai-5.0.3-java.gem.
|
150
|
+
sisimai (5.0.3) installed.
|
151
151
|
```
|
152
152
|
|
153
153
|
Usage
|
data/README.md
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|

|
2
2
|
[](https://github.com/sisimai/rb-sisimai/blob/master/LICENSE)
|
3
|
-
[](https://coveralls.io/r/sisimai/rb-sisimai)
|
4
3
|
[](https://www.ruby-lang.org/)
|
5
4
|
[](https://badge.fury.io/rb/sisimai)
|
5
|
+
[](https://codecov.io/github/sisimai/rb-sisimai)
|
6
6
|
|
7
7
|
> [!IMPORTANT]
|
8
8
|
> **The default branch of this repository is [5-stable](https://github.com/sisimai/rb-sisimai/tree/5-stable)
|
@@ -101,7 +101,7 @@ More details about system requirements are available at
|
|
101
101
|
|
102
102
|
* [Ruby 2.4.0 or later](http://www.ruby-lang.org/)
|
103
103
|
* [__oj | The fastest JSON parser and object serializer__](https://rubygems.org/gems/oj)
|
104
|
-
* Also works on [JRuby 9.2 or later](http://jruby.org)
|
104
|
+
* Also works on [JRuby 9.2 or later](http://jruby.org)
|
105
105
|
* [__jrjackson | A mostly native JRuby wrapper for the java jackson json processor jar__](https://rubygems.org/gems/jrjackson)
|
106
106
|
|
107
107
|
Install
|
@@ -109,10 +109,10 @@ Install
|
|
109
109
|
### From RubyGems
|
110
110
|
```shell
|
111
111
|
$ sudo gem install sisimai
|
112
|
-
Fetching: sisimai-5.0.
|
113
|
-
Successfully installed sisimai-5.0.
|
114
|
-
Parsing documentation for sisimai-5.0.
|
115
|
-
Installing ri documentation for sisimai-5.0.
|
112
|
+
Fetching: sisimai-5.0.3.gem (100%)
|
113
|
+
Successfully installed sisimai-5.0.3
|
114
|
+
Parsing documentation for sisimai-5.0.3
|
115
|
+
Installing ri documentation for sisimai-5.0.3
|
116
116
|
Done installing documentation for sisimai after 6 seconds
|
117
117
|
1 gem installed
|
118
118
|
```
|
@@ -140,13 +140,13 @@ if [ -d "/usr/local/jr" ]; then \
|
|
140
140
|
...
|
141
141
|
3 gems installed
|
142
142
|
/opt/local/bin/rake install
|
143
|
-
sisimai 5.0.
|
144
|
-
sisimai (5.0.
|
143
|
+
sisimai 5.0.3 built to pkg/sisimai-5.0.3.gem.
|
144
|
+
sisimai (5.0.3) installed.
|
145
145
|
if [ -d "/usr/local/jr" ]; then \
|
146
146
|
PATH="/usr/local/jr/bin:$PATH" /usr/local/jr/bin/rake install; \
|
147
147
|
fi
|
148
|
-
sisimai 5.0.
|
149
|
-
sisimai (5.0.
|
148
|
+
sisimai 5.0.3 built to pkg/sisimai-5.0.3-java.gem.
|
149
|
+
sisimai (5.0.3) installed.
|
150
150
|
```
|
151
151
|
|
152
152
|
Usage
|
@@ -301,7 +301,7 @@ One-Liner
|
|
301
301
|
|
302
302
|
Output example
|
303
303
|
---------------------------------------------------------------------------------------------------
|
304
|
-

|
305
305
|
|
306
306
|
```json
|
307
307
|
[
|
data/lib/sisimai/arf.rb
CHANGED
@@ -37,13 +37,12 @@ module Sisimai
|
|
37
37
|
# false: is not Feedback loop
|
38
38
|
def is_arf(heads)
|
39
39
|
return false unless heads
|
40
|
-
match = false
|
41
40
|
|
42
|
-
|
43
|
-
|
44
|
-
match = true
|
41
|
+
# Content-Type: multipart/report; report-type=feedback-report; ...
|
42
|
+
return true if Sisimai::String.aligned(heads['content-type'], ['report-type=', 'feedback-report'])
|
45
43
|
|
46
|
-
|
44
|
+
match = false
|
45
|
+
if heads['content-type'].include?('multipart/mixed')
|
47
46
|
# Microsoft (Hotmail, MSN, Live, Outlook) uses its own report format.
|
48
47
|
# Amazon SES Complaints bounces
|
49
48
|
cv = Sisimai::Address.s3s4(heads['from'])
|
@@ -54,6 +53,8 @@ module Sisimai
|
|
54
53
|
match = true if ReportFrom.any? { |a| cv.include?(a) }
|
55
54
|
end
|
56
55
|
end
|
56
|
+
match = true if heads['x-apple-unsubscribe'] == 'true'
|
57
|
+
|
57
58
|
return match
|
58
59
|
end
|
59
60
|
|
@@ -280,6 +281,24 @@ module Sisimai
|
|
280
281
|
arfheaders['rhost'] = mhead['subject'][mhead['subject'].rindex(' ') + 1, mhead['subject'].size]
|
281
282
|
commondata['diagnosis'] =
|
282
283
|
'This is a Microsoft email abuse report for an email message received from IP' << arfheaders['rhost'] + ' on ' << mhead['date']
|
284
|
+
|
285
|
+
elsif mhead['subject'].include?('unsubscribe')
|
286
|
+
# Apple Mail sent this email to unsubscribe from the message
|
287
|
+
while true
|
288
|
+
# Subject: unsubscribe
|
289
|
+
# Content-Type: text/plain; charset=UTF-8
|
290
|
+
# Auto-Submitted: auto-replied
|
291
|
+
# X-Apple-Unsubscribe: true
|
292
|
+
#
|
293
|
+
# Apple Mail sent this email to unsubscribe from the message
|
294
|
+
break unless mhead['x-apple-unsubscribe']
|
295
|
+
break unless mhead['x-apple-unsubscribe'] == 'true'
|
296
|
+
break unless mbody.include?('Apple Mail sent this email to unsubscribe from the message');
|
297
|
+
|
298
|
+
dscontents[-1]['recipient'] = Sisimai::Address.s3s4(mhead['from'])
|
299
|
+
dscontents[-1]['feedbacktype'] = 'opt-out'
|
300
|
+
break
|
301
|
+
end
|
283
302
|
end
|
284
303
|
|
285
304
|
dscontents.each do |e|
|
data/lib/sisimai/message.rb
CHANGED
@@ -452,7 +452,7 @@ module Sisimai
|
|
452
452
|
unless haveloaded['Sisimai::ARF']
|
453
453
|
# Feedback Loop message
|
454
454
|
require 'sisimai/arf'
|
455
|
-
havesifted = Sisimai::ARF.inquire(mailheader, bodystring)
|
455
|
+
havesifted = Sisimai::ARF.inquire(mailheader, bodystring)
|
456
456
|
throw :PARSER if havesifted
|
457
457
|
end
|
458
458
|
|
@@ -62,6 +62,7 @@ module Sisimai
|
|
62
62
|
'we do not accept mail from dynamic ips', # @mail.ru
|
63
63
|
'you are not allowed to connect',
|
64
64
|
'you are sending spam',
|
65
|
+
'your ip address is listed in the rbl',
|
65
66
|
'your network is temporary blacklisted',
|
66
67
|
'your server requires confirmation',
|
67
68
|
].freeze
|
@@ -7,10 +7,13 @@ module Sisimai
|
|
7
7
|
# the message you sent has been in the queue for long time.
|
8
8
|
module Expired
|
9
9
|
class << self
|
10
|
+
require 'sisimai/string'
|
11
|
+
|
10
12
|
Index = [
|
11
13
|
'connection timed out',
|
12
14
|
'could not find a gateway for',
|
13
15
|
'delivery attempts will continue to be',
|
16
|
+
'delivery expired',
|
14
17
|
'delivery time expired',
|
15
18
|
'failed to deliver to domain ',
|
16
19
|
'giving up on',
|
@@ -28,6 +31,9 @@ module Sisimai
|
|
28
31
|
'was not reachable within the allowed queue period',
|
29
32
|
'your message could not be delivered for more than',
|
30
33
|
].freeze
|
34
|
+
Pairs = [
|
35
|
+
['could not be delivered for', ' days'],
|
36
|
+
].freeze
|
31
37
|
|
32
38
|
def text; return 'expired'; end
|
33
39
|
def description; return 'Delivery time has expired due to a connection failure'; end
|
@@ -39,6 +45,7 @@ module Sisimai
|
|
39
45
|
def match(argv1)
|
40
46
|
return nil unless argv1
|
41
47
|
return true if Index.any? { |a| argv1.include?(a) }
|
48
|
+
return true if Pairs.any? { |a| Sisimai::String.aligned(argv1, a) }
|
42
49
|
return false
|
43
50
|
end
|
44
51
|
|
@@ -21,6 +21,7 @@ module Sisimai
|
|
21
21
|
'resolver.rst.notauthorized', # Microsoft Exchange
|
22
22
|
'this account is protected by',
|
23
23
|
'user not found', # Filter on MAIL.RU
|
24
|
+
'user refuses to receive this mail',
|
24
25
|
'user reject',
|
25
26
|
'we failed to deliver mail because the following address recipient id refuse to receive mail', # Willcom
|
26
27
|
'you have been blocked by the recipient',
|
@@ -8,6 +8,7 @@ module Sisimai
|
|
8
8
|
module MailboxFull
|
9
9
|
class << self
|
10
10
|
Index = [
|
11
|
+
'452 insufficient disk space',
|
11
12
|
'account disabled temporarly for exceeding receiving limits',
|
12
13
|
'account is exceeding their quota',
|
13
14
|
'account is over quota',
|
@@ -35,7 +36,9 @@ module Sisimai
|
|
35
36
|
'maildir delivery failed: userdisk quota ',
|
36
37
|
'maildir delivery failed: domaindisk quota ',
|
37
38
|
'mailfolder is full',
|
39
|
+
'no space left on device',
|
38
40
|
'not enough storage space in',
|
41
|
+
'not sufficient disk space',
|
39
42
|
'over the allowed quota',
|
40
43
|
'quota exceeded',
|
41
44
|
'quota violation for',
|
@@ -24,6 +24,7 @@ module Sisimai
|
|
24
24
|
'relay not permitted',
|
25
25
|
'relaying denied', # Sendmail
|
26
26
|
'relaying mail to ',
|
27
|
+
'specified domain is not allowed',
|
27
28
|
"that domain isn't in my list of allowed rcpthost",
|
28
29
|
'this system is not configured to relay mail',
|
29
30
|
'unable to relay for',
|
@@ -38,7 +38,7 @@ module Sisimai
|
|
38
38
|
'email address is on senderfilterconfig list',
|
39
39
|
'emetteur invalide',
|
40
40
|
'empty envelope senders not allowed',
|
41
|
-
'envelope blocked
|
41
|
+
'envelope blocked - ',
|
42
42
|
'error: no third-party dsns', # SpamWall - block empty sender
|
43
43
|
'from: domain is invalid. please provide a valid from:',
|
44
44
|
'fully qualified email address required', # McAfee
|
@@ -12,17 +12,21 @@ module Sisimai
|
|
12
12
|
'boite du destinataire archivee',
|
13
13
|
'email account that you tried to reach is disabled',
|
14
14
|
'has been suspended',
|
15
|
+
'inactive account',
|
15
16
|
'invalid/inactive user',
|
16
17
|
'is a deactivated mailbox', # http://service.mail.qq.com/cgi-bin/help?subtype=1&&id=20022&&no=1000742
|
17
18
|
'is unavailable: user is terminated',
|
18
19
|
'mailbox currently suspended',
|
20
|
+
'mailbox disabled',
|
19
21
|
'mailbox is frozen',
|
20
22
|
'mailbox unavailable or access denied',
|
21
23
|
'recipient rejected: temporarily inactive',
|
22
24
|
'recipient suspend the service',
|
23
25
|
'this account has been disabled or discontinued',
|
26
|
+
'this account has been temporarily suspended',
|
24
27
|
'this address no longer accepts mail',
|
25
28
|
'this mailbox is disabled',
|
29
|
+
'user or domain is disabled',
|
26
30
|
'user suspended', # http://mail.163.com/help/help_spam_16.htm
|
27
31
|
'vdelivermail: account is locked email bounced',
|
28
32
|
].freeze
|
@@ -63,7 +63,6 @@ module Sisimai
|
|
63
63
|
'no such mailbox',
|
64
64
|
'no such person at this address',
|
65
65
|
'no such recipient',
|
66
|
-
|
67
66
|
'no such user',
|
68
67
|
'no thank you rejected: account unavailable',
|
69
68
|
'no valid recipients, bye',
|
@@ -76,7 +75,9 @@ module Sisimai
|
|
76
75
|
'recipient address rejected: invalid user',
|
77
76
|
'recipient address rejected: invalid-recipient',
|
78
77
|
'recipient address rejected: unknown user',
|
78
|
+
'recipient address rejected: userunknown',
|
79
79
|
'recipient does not exist',
|
80
|
+
'recipient is not accepted',
|
80
81
|
'recipient is not local',
|
81
82
|
'recipient not exist',
|
82
83
|
'recipient not found',
|
@@ -125,6 +126,7 @@ module Sisimai
|
|
125
126
|
['no ', ' in name directory'],
|
126
127
|
['non', 'existent user'],
|
127
128
|
['rcpt <', ' does not exist'],
|
129
|
+
['rcpt (', 't exist '],
|
128
130
|
['recipient ', ' was not found in'],
|
129
131
|
['recipient address rejected: user ', ' does not exist'],
|
130
132
|
['recipient address rejected: user unknown in ', ' table'],
|
@@ -135,6 +137,7 @@ module Sisimai
|
|
135
137
|
['unknown local', 'part'],
|
136
138
|
['user ', ' was not found'],
|
137
139
|
['user ', ' does not exist'],
|
140
|
+
['user (', ') unknown'],
|
138
141
|
].freeze
|
139
142
|
|
140
143
|
def text; return 'userunknown'; end
|
data/lib/sisimai/rhost/google.rb
CHANGED
@@ -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
|
19
|
-
['550', '5.7.24', 'the spf record of the sending domain
|
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', '
|
27
|
-
['550', '5.7.26', '
|
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', '
|
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
|
65
|
-
# Gmail requires all
|
66
|
-
# SPF domain-name with
|
67
|
-
#
|
68
|
-
['421', '4.7.27', '
|
69
|
-
['
|
70
|
-
|
71
|
-
|
72
|
-
#
|
73
|
-
#
|
74
|
-
#
|
75
|
-
['421', '4.7.
|
76
|
-
|
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', '
|
84
|
-
['421', '4.7.0', '
|
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
|
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
|
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
|
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
|
130
|
-
['550', '5.7.28', 'an unusual rate of unsolicited mail
|
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
|
148
|
-
['552', '5.3.4', "
|
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', '
|
169
|
-
['552', '5.2.2', '
|
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', "
|
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
|
188
|
-
['554', '5.6.0', 'message exceeded 50 hops
|
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',
|
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', '
|
222
|
-
['550', '5.7.1', '
|
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', '
|
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', '
|
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', '
|
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
|
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
|
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', '
|
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', '
|
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', '
|
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', '
|
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
|
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', '
|
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
|
-
['
|
307
|
-
['550', '5.7.25', 'the ip address
|
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
|
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
|
338
|
-
['534', '5.7.9', 'please log in with your web browser
|
339
|
-
['534', '5.7.14', 'please log in through your web browser
|
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
|
347
|
-
# all
|
348
|
-
#
|
349
|
-
['421', '4.7.29', '
|
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', '
|
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', '
|
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', '
|
382
|
-
['550', '5.2.1', '
|
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', '
|
400
|
-
['550', '5.2.1', '
|
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
|
408
|
-
['525', '5.7.10', 'smtp protocol violation
|
409
|
-
['535', '5.5.4', 'optional argument not permitted
|
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))
|
@@ -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/
|
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/
|
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/
|
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
|
#
|
data/lib/sisimai/version.rb
CHANGED
@@ -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,86 @@
|
|
1
|
+
Return-Path: <>
|
2
|
+
X-Original-To: neko@example.jp
|
3
|
+
Delivered-To: return@example.jp
|
4
|
+
Received: from relay1.example.ne.jp (ip-10-25-26-27.ip-block.example.net [10.25.26.27])
|
5
|
+
by mx1.example.jp (Postfix) with ESMTPS id KF65BTjb2jzpq4Pk
|
6
|
+
for <neko@example.jp>; Thu, 29 Apr 2024 23:34:45 +0900 (JST)
|
7
|
+
Received: from localhost (localhost)
|
8
|
+
by relay1.example.ne.jp (8.17.2/8.17.2) id gWjKPD2i071354;
|
9
|
+
Thu, 29 Apr 2024 23:34:45 +0900 (JST)
|
10
|
+
(envelope-from MAILER-DAEMON)
|
11
|
+
MIME-Version: 1.0
|
12
|
+
Date: Thu, 29 Apr 2024 23:34:45 +0900 (JST)
|
13
|
+
From: Mail Delivery Subsystem <MAILER-DAEMON@relay1.example.ne.jp>
|
14
|
+
To: <neko@example.jp>
|
15
|
+
Message-Id: <20240429233445.gWjKPD2i071354@relay1.example.ne.jp>
|
16
|
+
Content-Type: multipart/report; report-type=delivery-status;
|
17
|
+
boundary="gWjKPD2i071354.1423881060/relay1.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
|
+
--gWjKPD2i071354.1423881060/relay1.example.ne.jp
|
24
|
+
|
25
|
+
The original message was received at Thu, 29 Apr 2024 23:34:45 +0900 (JST)
|
26
|
+
from localhost [127.0.0.1]
|
27
|
+
|
28
|
+
----- The following addresses had permanent fatal errors -----
|
29
|
+
<pseudo-local-part-of-microsoft@outlook.com>
|
30
|
+
(reason: 550 5.7.509 Access denied, sending domain [EXAMPLE.JP] does not pass DMARC verification and has a D...E22] [JUTN0NNV051736.eop-eur22.prod.protection.outlook.com 2024-04-29T23:34:45.000Z K2TP4MV8R6ZF2XN2])
|
31
|
+
|
32
|
+
----- Transcript of session follows -----
|
33
|
+
... while talking to apc.olc.protection.outlook.com.:
|
34
|
+
>>> DATA
|
35
|
+
<<< 550 5.7.509 Access denied, sending domain [EXAMPLE.JP] does not pass DMARC verification and has a DMARC policy of reject. [7FQL1BDY0XZ5XGTW.JPNP222.PROD.OUTLOOK.COM 2024-04-29T23:34:45.000Z NG5X6YLY2QZK8T7B] [VB0JMRQKNLZPTQMN.eurprd06.prod.outlook.com 2024-04-29T23:34:45.000Z HTTZYWCWHTZK8F8N] [JUTN0NNV051736.eop-eur22.prod.protection.outlook.com 2024-04-29T23:34:45.000Z K2TP4MV8R6ZF2XN2]
|
36
|
+
554 5.0.0 Service unavailable
|
37
|
+
|
38
|
+
--gWjKPD2i071354.1423881060/relay1.example.ne.jp
|
39
|
+
Content-Type: message/delivery-status
|
40
|
+
|
41
|
+
Reporting-MTA: dns; relay1.example.ne.jp
|
42
|
+
Received-From-MTA: DNS; localhost
|
43
|
+
Arrival-Date: Thu, 29 Apr 2024 23:34:45 +0900 (JST)
|
44
|
+
|
45
|
+
Final-Recipient: RFC822; pseudo-local-part-of-microsoft@outlook.com
|
46
|
+
X-Actual-Recipient: rfc822; pseudo-local-part-of-microsoft@outlook.com
|
47
|
+
Action: failed
|
48
|
+
Status: 5.7.509
|
49
|
+
Remote-MTA: DNS; apc.olc.protection.outlook.com
|
50
|
+
Diagnostic-Code: SMTP; 550 5.7.509 Access denied, sending domain [EXAMPLE.JP] does not pass DMARC verification and has a DMARC policy of reject. [7FQL1BDY0XZ5XGTW.JPNP222.PROD.OUTLOOK.COM 2024-04-29T23:34:45.000Z NG5X6YLY2QZK8T7B] [VB0JMRQKNLZPTQMN.eurprd06.prod.outlook.com 2024-04-29T23:34:45.000Z HTTZYWCWHTZK8F8N] [JUTN0NNV051736.eop-eur22.prod.protection.outlook.com 2024-04-29T23:34:45.000Z K2TP4MV8R6ZF2XN2]
|
51
|
+
Last-Attempt-Date: Thu, 29 Apr 2024 23:34:45 +0900 (JST)
|
52
|
+
|
53
|
+
--gWjKPD2i071354.1423881060/relay1.example.ne.jp
|
54
|
+
Content-Type: message/rfc822
|
55
|
+
|
56
|
+
Return-Path: <neko@example.jp>
|
57
|
+
Received: from relay1.example.ne.jp (localhost [127.0.0.1])
|
58
|
+
by relay1.example.ne.jp (8.17.2/8.17.2) with ESMTP id YQKNBhqe049695
|
59
|
+
for <pseudo-local-part-of-microsoft@outlook.com>; Thu, 29 Apr 2024 23:34:45 +0900 (JST)
|
60
|
+
(envelope-from neko@example.jp)
|
61
|
+
Received: (from neko-nyaan-cat@localhost)
|
62
|
+
by relay1.example.ne.jp (8.17.2/8.17.2/Submit) id J05hAdU8018709
|
63
|
+
for pseudo-local-part-of-microsoft@outlook.com; Thu, 29 Apr 2024 23:34:45 +0900 (JST)
|
64
|
+
(envelope-from neko@example.jp)
|
65
|
+
Received: from relay0.example.jp (relay0.example.jp [192.0.2.25])
|
66
|
+
by relay1.example.ne.jp (8.17.2/8.17.2) with ESMTPS id Ufhljuhn061193
|
67
|
+
(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO)
|
68
|
+
for <kijitora@example.co.jp>; Thu, 29 Apr 2024 23:34:45 +0900 (JST)
|
69
|
+
(envelope-from neko@example.jp)
|
70
|
+
Received: from MTA1 (unknown [10.9.8.7])
|
71
|
+
by relay0.example.jp (Postfix) with ESMTP id Mgt61KRzl7zjTNcc
|
72
|
+
for <kijitora@example.co.jp>; Thu, 29 Apr 2024 23:34:45 +0900 (JST)
|
73
|
+
From: <neko@example.jp>
|
74
|
+
To: "Kijitora, Cat" <kijitora@example.co.jp>
|
75
|
+
Reply-To: sironeko@cat.example.org
|
76
|
+
Date: 29 Apr 2024 23:34:45 +0900
|
77
|
+
Subject: Nyaaaaan
|
78
|
+
MIME-Version: 1.0
|
79
|
+
Content-Type: text/plain; charset=iso-2022-jp
|
80
|
+
Message-Id: <Mgt61KRzl7zjTNcc@relay0.example.jp>
|
81
|
+
Content-Transfer-Encoding: 8bit
|
82
|
+
|
83
|
+
Nyaan?
|
84
|
+
|
85
|
+
--gWjKPD2i071354.1423881060/relay1.example.ne.jp--
|
86
|
+
|
@@ -0,0 +1,83 @@
|
|
1
|
+
Return-Path: <>
|
2
|
+
X-Original-To: kijitora@example.jp
|
3
|
+
Delivered-To: return@example.jp
|
4
|
+
Received: from relay0.example.jp (relay0 [10.25.26.27])
|
5
|
+
by relay1.example.jp (Postfix) with ESMTPS id nhpzScP2kkzDgQ8L
|
6
|
+
for <kijitora@example.jp>; Thu, 9 May 2024 23:34:45 +0900 (JST)
|
7
|
+
Received: by relay0.example.jp (Postfix)
|
8
|
+
id 9ltCcYNCJ4zblqrq; Thu, 9 May 2024 23:34:45 +0900 (JST)
|
9
|
+
Date: Thu, 9 May 2024 23:34:45 +0900 (JST)
|
10
|
+
From: MAILER-DAEMON@relay0.example.jp (Mail Delivery System)
|
11
|
+
To: kijitora@example.jp
|
12
|
+
Subject: Undelivered Mail Returned to Sender
|
13
|
+
Message-Id: <9ltCcYNCJ4zblqrq@relay0.example.jp>
|
14
|
+
Auto-Submitted: auto-replied
|
15
|
+
MIME-Version: 1.0
|
16
|
+
Content-Type: multipart/report; report-type=delivery-status;
|
17
|
+
boundary="WpZGzDpcy1zw5NGv.1098352336/relay0.example.jp"
|
18
|
+
|
19
|
+
This is a MIME-encapsulated message.
|
20
|
+
|
21
|
+
--WpZGzDpcy1zw5NGv.1098352336/relay0.example.jp
|
22
|
+
Content-Description: Notification
|
23
|
+
Content-Type: text/plain; charset=us-ascii
|
24
|
+
|
25
|
+
This is the mail system at host relay0.example.jp.
|
26
|
+
|
27
|
+
I'm sorry to have to inform you that your message could not
|
28
|
+
be delivered to one or more recipients. It's attached below.
|
29
|
+
|
30
|
+
For further assistance, please send mail to postmaster.
|
31
|
+
|
32
|
+
If you do so, please include this problem report. You can
|
33
|
+
delete your own text from the attached returned message.
|
34
|
+
|
35
|
+
The mail system
|
36
|
+
|
37
|
+
<pseudo-local-part-of-microsoft@outlook.com>: host
|
38
|
+
outlook-com.olc.protection.outlook.com[52.101.68.1] said: 451 4.7.650 The
|
39
|
+
mail server [192.0.2.25] has been temporarily rate limited due to IP
|
40
|
+
reputation. For e-mail delivery information, see
|
41
|
+
https://postmaster.live.com (S3113)
|
42
|
+
[5NY1SSJFSTZJRJBG.eurprd02.prod.outlook.com 2024-05-09T23:34:45.000Z
|
43
|
+
GLXTWVLGZHZNHVXY] (in reply to MAIL FROM command)
|
44
|
+
|
45
|
+
--WpZGzDpcy1zw5NGv.1098352336/relay0.example.jp
|
46
|
+
Content-Description: Delivery report
|
47
|
+
Content-Type: message/delivery-status
|
48
|
+
|
49
|
+
Reporting-MTA: dns; relay0.example.jp
|
50
|
+
X-Postfix-Queue-ID: WpZGzDpcy1zw5NGv
|
51
|
+
X-Postfix-Sender: rfc822; kijitora@example.jp
|
52
|
+
Arrival-Date: Thu, 9 May 2024 23:34:45 +0900 (JST)
|
53
|
+
|
54
|
+
Final-Recipient: rfc822; pseudo-local-part-of-microsoft@outlook.com
|
55
|
+
Original-Recipient: rfc822;pseudo-local-part-of-microsoft@outlook.com
|
56
|
+
Action: failed
|
57
|
+
Status: 4.7.650
|
58
|
+
Remote-MTA: dns; outlook-com.olc.protection.outlook.com
|
59
|
+
Diagnostic-Code: smtp; 451 4.7.650 The mail server [192.0.2.25] has been
|
60
|
+
temporarily rate limited due to IP reputation. For e-mail delivery
|
61
|
+
information, see https://postmaster.live.com (S3113)
|
62
|
+
[5NY1SSJFSTZJRJBG.eurprd02.prod.outlook.com 2024-05-09T23:34:45.000Z
|
63
|
+
GLXTWVLGZHZNHVXY]
|
64
|
+
|
65
|
+
--WpZGzDpcy1zw5NGv.1098352336/relay0.example.jp
|
66
|
+
Content-Description: Undelivered Message
|
67
|
+
Content-Type: message/rfc822
|
68
|
+
|
69
|
+
Return-Path: <kijitora@example.jp>
|
70
|
+
Received: from mailhub1.example.jp (unknown [10.9.8.7])
|
71
|
+
by relay0.example.jp (Postfix) with ESMTP id WpZGzDpcy1zw5NGv
|
72
|
+
for <pseudo-local-part-of-microsoft@outlook.com>; Thu, 9 May 2024 23:34:45 +0900 (JST)
|
73
|
+
From: <kijitora@example.jp>
|
74
|
+
To: <pseudo-local-part-of-microsoft@outlook.com>
|
75
|
+
Date: 9 May 2024 23:34:45 +0900
|
76
|
+
Message-Id: <WpZGzDpcy1zw5NGv@relay0.example.jp>
|
77
|
+
Subject: Nyaan
|
78
|
+
MIME-Version: 1.0
|
79
|
+
Content-Type: text/plain; charset=iso-2022-jp
|
80
|
+
|
81
|
+
Nyaan?
|
82
|
+
|
83
|
+
--WpZGzDpcy1zw5NGv.1098352336/relay0.example.jp--
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sisimai
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 5.0.
|
4
|
+
version: 5.0.3
|
5
5
|
platform: java
|
6
6
|
authors:
|
7
7
|
- azumakuniyuki
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-05-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
requirement: !ruby/object:Gem::Requirement
|
@@ -80,10 +80,10 @@ executables: []
|
|
80
80
|
extensions: []
|
81
81
|
extra_rdoc_files: []
|
82
82
|
files:
|
83
|
+
- ".github/workflows/codecovio.yml"
|
83
84
|
- ".github/workflows/rake-test.yml"
|
84
85
|
- ".gitignore"
|
85
86
|
- ".rubocop.yml"
|
86
|
-
- ".travis.yml"
|
87
87
|
- ANALYTICAL-PRECISION
|
88
88
|
- Benchmarks.mk
|
89
89
|
- CONTRIBUTING
|
@@ -251,6 +251,7 @@ files:
|
|
251
251
|
- set-of-emails/maildir/bsd/arf-23.eml
|
252
252
|
- set-of-emails/maildir/bsd/arf-24.eml
|
253
253
|
- set-of-emails/maildir/bsd/arf-25.eml
|
254
|
+
- set-of-emails/maildir/bsd/arf-26.eml
|
254
255
|
- set-of-emails/maildir/bsd/lhost-activehunter-01.eml
|
255
256
|
- set-of-emails/maildir/bsd/lhost-activehunter-02.eml
|
256
257
|
- set-of-emails/maildir/bsd/lhost-amavis-01.eml
|
@@ -752,6 +753,8 @@ files:
|
|
752
753
|
- set-of-emails/maildir/bsd/rhost-microsoft-01.eml
|
753
754
|
- set-of-emails/maildir/bsd/rhost-microsoft-02.eml
|
754
755
|
- set-of-emails/maildir/bsd/rhost-microsoft-03.eml
|
756
|
+
- set-of-emails/maildir/bsd/rhost-microsoft-04.eml
|
757
|
+
- set-of-emails/maildir/bsd/rhost-microsoft-05.eml
|
755
758
|
- set-of-emails/maildir/bsd/rhost-mimecast-01.eml
|
756
759
|
- set-of-emails/maildir/bsd/rhost-mimecast-02.eml
|
757
760
|
- set-of-emails/maildir/bsd/rhost-nttdocomo-01.eml
|
data/.travis.yml
DELETED
@@ -1,23 +0,0 @@
|
|
1
|
-
language: ruby
|
2
|
-
rvm:
|
3
|
-
# See http://rubies.travis-ci.org for Precompiled Ruby Versions
|
4
|
-
# - 2.1.1
|
5
|
-
# - 2.2.10
|
6
|
-
# - 2.3.0
|
7
|
-
- 2.4.9
|
8
|
-
# - 2.5.0
|
9
|
-
- 2.6.6
|
10
|
-
- 2.7.0
|
11
|
-
# - jruby-9.0.5.0
|
12
|
-
# - jruby-9.1.9.0
|
13
|
-
before_install:
|
14
|
-
script:
|
15
|
-
- make user-test
|
16
|
-
sudo: false
|
17
|
-
notifications:
|
18
|
-
recipients:
|
19
|
-
- azumakuniyuki+travis-ci.org@gmail.com
|
20
|
-
email:
|
21
|
-
on_success: change
|
22
|
-
on_failure: always
|
23
|
-
|