truemail 1.9.0 → 2.0.2
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/.circleci/config.yml +1 -1
- data/.codeclimate.yml +1 -1
- data/.github/BRANCH_NAMING_CONVENTION.md +36 -0
- data/.github/ISSUE_TEMPLATE/bug_report.md +26 -0
- data/.github/ISSUE_TEMPLATE/feature_request.md +25 -0
- data/.github/{ISSUE_TEMPLATE.md → ISSUE_TEMPLATE/issue_report.md} +15 -6
- data/.github/ISSUE_TEMPLATE/question.md +20 -0
- data/.github/PULL_REQUEST_TEMPLATE.md +4 -1
- data/.reek.yml +1 -0
- data/.rubocop.yml +90 -0
- data/CHANGELOG.md +92 -31
- data/CONTRIBUTING.md +15 -14
- data/Gemfile.lock +41 -39
- data/LICENSE.txt +1 -1
- data/README.md +34 -31
- data/lib/truemail.rb +9 -2
- data/lib/truemail/configuration.rb +7 -1
- data/lib/truemail/core.rb +2 -1
- data/lib/truemail/validate/smtp/request.rb +2 -3
- data/lib/truemail/validator.rb +1 -1
- data/lib/truemail/version.rb +1 -1
- data/truemail.gemspec +12 -12
- metadata +28 -30
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6345fef51d5f38efde3065b8edb6d777f7c0cf9aec7a44b073da86bce5943c6a
|
4
|
+
data.tar.gz: 6e55b56b4cb92143059ccd3263739e724ea29f118943546d6464af248951d0c6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 451d5ee34a5eb52e5451017210bf6c4c5fe213f44cf7bc8b66221ab31fa202c682ecad99f810c571f430f4da0fa0c981958db694e929407ad268201bb60c0652
|
7
|
+
data.tar.gz: 4210cf723bd90843ccf7d806b07563b4eff7bece40d361e35897316bb5c779eedd8a82e60d46948a0f419ea9ee5ed2bfc80fc67a4384dcc47de85d25326609ac
|
data/.circleci/config.yml
CHANGED
@@ -3,7 +3,7 @@ defaults: &defaults
|
|
3
3
|
docker:
|
4
4
|
- image: circleci/ruby:2.5.0-node
|
5
5
|
environment:
|
6
|
-
CC_TEST_REPORTER_ID:
|
6
|
+
CC_TEST_REPORTER_ID: 693272a1328521f6f7c09d7ffd419b21c00410da26e98e94c687fdd38b26e2cb
|
7
7
|
|
8
8
|
references:
|
9
9
|
restore_bundle_cache: &restore_bundle_cache
|
data/.codeclimate.yml
CHANGED
@@ -0,0 +1,36 @@
|
|
1
|
+
# Branch naming convention
|
2
|
+
|
3
|
+
## Branch naming
|
4
|
+
|
5
|
+
> Please note for new pull requests create new branches from current `develop` branch only.
|
6
|
+
|
7
|
+
Branch name should include type of your contribution and context. Please follow next pattern for naming your branches:
|
8
|
+
|
9
|
+
```bash
|
10
|
+
feature/add-some-feature
|
11
|
+
technical/some-technical-improvements
|
12
|
+
bugfix/fix-some-bug-name
|
13
|
+
```
|
14
|
+
|
15
|
+
## Before PR actions
|
16
|
+
|
17
|
+
### Squash commits
|
18
|
+
|
19
|
+
Please squash all branch commits into the one before openning your PR from your fork. It's simple to do with the git:
|
20
|
+
|
21
|
+
```bash
|
22
|
+
git rebase -i [hash your first commit of your branch]~1
|
23
|
+
git rebase -i 6467fe36232401fa740af067cfd8ac9ec932fed2~1 # example
|
24
|
+
```
|
25
|
+
|
26
|
+
### Add commit description
|
27
|
+
|
28
|
+
Please complete your commit description folowing next pattern:
|
29
|
+
|
30
|
+
```
|
31
|
+
Technical/Add info files # should be the same name as your branch name
|
32
|
+
|
33
|
+
* Added license, changelog, contributing, code of conduct docs
|
34
|
+
* Added GitHub templates
|
35
|
+
* Updated project license link
|
36
|
+
```
|
@@ -0,0 +1,26 @@
|
|
1
|
+
---
|
2
|
+
name: Bug report
|
3
|
+
about: Create a report to help us improve
|
4
|
+
title: [BUG]
|
5
|
+
labels: bug
|
6
|
+
assignees: bestwebua
|
7
|
+
|
8
|
+
---
|
9
|
+
|
10
|
+
<!-- Thanks for helping to make Truemail better! Before submit your bug, please make sure to check the following boxes by putting an x in the [ ] (don't: [x ], [ x], do: [x]) -->
|
11
|
+
|
12
|
+
### New bug checklist
|
13
|
+
|
14
|
+
- [ ] I have updated `truemail` to the latest version
|
15
|
+
- [ ] I have read the [Contribution Guidelines](https://github.com/truemail-rb/truemail/blob/master/CONTRIBUTING.md)
|
16
|
+
- [ ] I have read the [documentation](https://truemail-rb.org/truemail-gem)
|
17
|
+
- [ ] I have searched for [existing GitHub issues](https://github.com/truemail-rb/truemail/issues)
|
18
|
+
|
19
|
+
### Bug description
|
20
|
+
<!-- Please include what's happening, expected behavior, and any relevant code samples -->
|
21
|
+
|
22
|
+
##### Complete output when running truemail, including the stack trace and command used
|
23
|
+
|
24
|
+
<details>
|
25
|
+
<pre>[INSERT OUTPUT HERE]</pre>
|
26
|
+
</details>
|
@@ -0,0 +1,25 @@
|
|
1
|
+
---
|
2
|
+
name: Feature request
|
3
|
+
about: Suggest an idea for Truemail
|
4
|
+
title: [FEATURE]
|
5
|
+
labels: enhancement
|
6
|
+
assignees: bestwebua
|
7
|
+
|
8
|
+
---
|
9
|
+
|
10
|
+
<!-- Thanks for helping to make Truemail better! Before submit your new feature request, please make sure to check the following boxes by putting an x in the [ ] (don't: [x ], [ x], do: [x]) -->
|
11
|
+
|
12
|
+
### New feature request checklist
|
13
|
+
|
14
|
+
- [ ] I have updated `truemail` to the latest version
|
15
|
+
- [ ] I have read the [Contribution Guidelines](https://github.com/truemail-rb/truemail/blob/master/CONTRIBUTING.md)
|
16
|
+
- [ ] I have read the [documentation](https://truemail-rb.org/truemail-gem)
|
17
|
+
- [ ] I have searched for [existing GitHub issues](https://github.com/truemail-rb/truemail/issues)
|
18
|
+
|
19
|
+
### Feature description
|
20
|
+
|
21
|
+
<!-- Is your feature request related to a problem? Please describe. A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
|
22
|
+
|
23
|
+
Describe the solution you'd like. A clear and concise description of what you want to happen.
|
24
|
+
|
25
|
+
Describe alternatives you've considered. A clear and concise description of any alternative solutions or features you've considered. -->
|
@@ -1,13 +1,22 @@
|
|
1
|
+
---
|
2
|
+
name: Issue report
|
3
|
+
about: Create a report to help us improve
|
4
|
+
title: [ISSUE]
|
5
|
+
labels: ''
|
6
|
+
assignees: bestwebua
|
7
|
+
|
8
|
+
---
|
9
|
+
|
1
10
|
<!-- Thanks for helping to make Truemail better! Before submit your issue, please make sure to check the following boxes by putting an x in the [ ] (don't: [x ], [ x], do: [x]) -->
|
2
11
|
|
3
|
-
### New
|
12
|
+
### New issue checklist
|
4
13
|
|
5
|
-
- [ ] I have updated truemail to the latest version
|
6
|
-
- [ ] I have read the [Contribution Guidelines](https://github.com/
|
7
|
-
- [ ] I have read the [documentation](https://
|
8
|
-
- [ ] I have searched for [existing GitHub issues](https://github.com/
|
14
|
+
- [ ] I have updated `truemail` to the latest version
|
15
|
+
- [ ] I have read the [Contribution Guidelines](https://github.com/truemail-rb/truemail/blob/master/CONTRIBUTING.md)
|
16
|
+
- [ ] I have read the [documentation](https://truemail-rb.org/truemail-gem)
|
17
|
+
- [ ] I have searched for [existing GitHub issues](https://github.com/truemail-rb/truemail/issues)
|
9
18
|
|
10
|
-
### Issue
|
19
|
+
### Issue description
|
11
20
|
<!-- Please include what's happening, expected behavior, and any relevant code samples -->
|
12
21
|
|
13
22
|
##### Complete output when running truemail, including the stack trace and command used
|
@@ -0,0 +1,20 @@
|
|
1
|
+
---
|
2
|
+
name: Question
|
3
|
+
about: Ask your question to Truemail team
|
4
|
+
title: [QUESTION]
|
5
|
+
labels: question
|
6
|
+
assignees: bestwebua
|
7
|
+
|
8
|
+
---
|
9
|
+
|
10
|
+
<!-- Thanks for helping to make Truemail better! Before submit your question, please make sure to check the following boxes by putting an x in the [ ] (don't: [x ], [ x], do: [x]) -->
|
11
|
+
|
12
|
+
### New question checklist
|
13
|
+
|
14
|
+
- [ ] I have read the [Contribution Guidelines](https://github.com/truemail-rb/truemail/blob/master/CONTRIBUTING.md)
|
15
|
+
- [ ] I have read the [documentation](https://truemail-rb.org/truemail-gem)
|
16
|
+
- [ ] I have searched for [existing GitHub issues](https://github.com/truemail-rb/truemail/issues)
|
17
|
+
|
18
|
+
### Question
|
19
|
+
|
20
|
+
<!-- Your question context here -->
|
@@ -1,6 +1,9 @@
|
|
1
1
|
# PR Details
|
2
2
|
|
3
3
|
<!-- Provide a general summary of your changes in the Title above -->
|
4
|
+
<!-- PR name should the same name as your branch name, example: -->
|
5
|
+
<!-- Branch name is: feature/add-some-feature -->
|
6
|
+
<!-- PR name should be: Feature/Add some feature -->
|
4
7
|
|
5
8
|
## Description
|
6
9
|
|
@@ -40,7 +43,7 @@
|
|
40
43
|
- [ ] My code follows the code style of this project
|
41
44
|
- [ ] My change requires a change to the documentation
|
42
45
|
- [ ] I have updated the documentation accordingly
|
43
|
-
- [ ] I have read the [**CONTRIBUTING** document](https://github.com/
|
46
|
+
- [ ] I have read the [**CONTRIBUTING** document](https://github.com/truemail-rb/truemail/blob/master/CONTRIBUTING.md)
|
44
47
|
- [ ] I have added tests to cover my changes
|
45
48
|
- [ ] I have run `bundle exec rspec` from the root directory to see all new and existing tests pass
|
46
49
|
- [ ] I have run `rubocop` and `reek` to ensure the code style is valid
|
data/.reek.yml
CHANGED
data/.rubocop.yml
CHANGED
@@ -103,6 +103,39 @@ Style/SlicingWithRange:
|
|
103
103
|
Style/StringConcatenation:
|
104
104
|
Enabled: true
|
105
105
|
|
106
|
+
Style/CombinableLoops:
|
107
|
+
Enabled: true
|
108
|
+
|
109
|
+
Style/KeywordParametersOrder:
|
110
|
+
Enabled: true
|
111
|
+
|
112
|
+
Style/RedundantSelfAssignment:
|
113
|
+
Enabled: true
|
114
|
+
|
115
|
+
Style/SoleNestedConditional:
|
116
|
+
Enabled: true
|
117
|
+
|
118
|
+
Style/ClassEqualityComparison:
|
119
|
+
Enabled: true
|
120
|
+
|
121
|
+
Style/ArgumentsForwarding:
|
122
|
+
Enabled: true
|
123
|
+
|
124
|
+
Style/CollectionCompact:
|
125
|
+
Enabled: true
|
126
|
+
|
127
|
+
Style/DocumentDynamicEvalDefinition:
|
128
|
+
Enabled: true
|
129
|
+
|
130
|
+
Style/NegatedIfElseCondition:
|
131
|
+
Enabled: true
|
132
|
+
|
133
|
+
Style/NilLambda:
|
134
|
+
Enabled: true
|
135
|
+
|
136
|
+
Style/SwapValues:
|
137
|
+
Enabled: true
|
138
|
+
|
106
139
|
Layout/LineLength:
|
107
140
|
Max: 140
|
108
141
|
|
@@ -131,6 +164,9 @@ Layout/SpaceAroundMethodCallOperator:
|
|
131
164
|
Layout/EmptyLinesAroundAttributeAccessor:
|
132
165
|
Enabled: true
|
133
166
|
|
167
|
+
Layout/BeginEndAlignment:
|
168
|
+
Enabled: true
|
169
|
+
|
134
170
|
Lint/NonDeterministicRequireOrder:
|
135
171
|
Enabled: false
|
136
172
|
|
@@ -176,6 +212,54 @@ Lint/TopLevelReturnWithArgument:
|
|
176
212
|
Lint/UnreachableLoop:
|
177
213
|
Enabled: true
|
178
214
|
|
215
|
+
Lint/ConstantDefinitionInBlock:
|
216
|
+
Enabled: true
|
217
|
+
|
218
|
+
Lint/DuplicateRequire:
|
219
|
+
Enabled: true
|
220
|
+
|
221
|
+
Lint/EmptyFile:
|
222
|
+
Enabled: true
|
223
|
+
|
224
|
+
Lint/IdentityComparison:
|
225
|
+
Enabled: true
|
226
|
+
|
227
|
+
Lint/TrailingCommaInAttributeDeclaration:
|
228
|
+
Enabled: true
|
229
|
+
|
230
|
+
Lint/UselessMethodDefinition:
|
231
|
+
Enabled: true
|
232
|
+
|
233
|
+
Lint/UselessTimes:
|
234
|
+
Enabled: true
|
235
|
+
|
236
|
+
Lint/HashCompareByIdentity:
|
237
|
+
Enabled: true
|
238
|
+
|
239
|
+
Lint/RedundantSafeNavigation:
|
240
|
+
Enabled: true
|
241
|
+
|
242
|
+
Lint/DuplicateBranch:
|
243
|
+
Enabled: true
|
244
|
+
|
245
|
+
Lint/DuplicateRegexpCharacterClassElement:
|
246
|
+
Enabled: true
|
247
|
+
|
248
|
+
Lint/EmptyBlock:
|
249
|
+
Enabled: true
|
250
|
+
|
251
|
+
Lint/EmptyClass:
|
252
|
+
Enabled: true
|
253
|
+
|
254
|
+
Lint/NoReturnInBeginEndBlocks:
|
255
|
+
Enabled: false
|
256
|
+
|
257
|
+
Lint/ToEnumArguments:
|
258
|
+
Enabled: true
|
259
|
+
|
260
|
+
Lint/UnmodifiedReduceAccumulator:
|
261
|
+
Enabled: true
|
262
|
+
|
179
263
|
Performance/AncestorsInclude:
|
180
264
|
Enabled: true
|
181
265
|
|
@@ -200,6 +284,9 @@ Performance/Squeeze:
|
|
200
284
|
Performance/StringInclude:
|
201
285
|
Enabled: true
|
202
286
|
|
287
|
+
Performance/Sum:
|
288
|
+
Enabled: true
|
289
|
+
|
203
290
|
RSpec/ExampleLength:
|
204
291
|
Enabled: false
|
205
292
|
|
@@ -226,3 +313,6 @@ RSpec/MultipleDescribes:
|
|
226
313
|
|
227
314
|
RSpec/MultipleMemoizedHelpers:
|
228
315
|
Enabled: false
|
316
|
+
|
317
|
+
RSpec/StubbedMock:
|
318
|
+
Enabled: false
|
data/CHANGELOG.md
CHANGED
@@ -2,9 +2,72 @@
|
|
2
2
|
|
3
3
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
4
4
|
|
5
|
+
## [2.0.2] - 2020.11.14
|
6
|
+
|
7
|
+
### Fixed
|
8
|
+
|
9
|
+
Timeouts time units in `Setting global configuration` of Truemail documentation's section. Thanks to [@wikiti](https://github.com/wikiti) for report.
|
10
|
+
|
11
|
+
### Changed
|
12
|
+
|
13
|
+
- Refactored `Truemail::RegexConstant::REGEX_EMAIL_PATTERN`
|
14
|
+
- Updated gem development dependencies
|
15
|
+
- Updated gem documentation
|
16
|
+
|
17
|
+
## [2.0.1] - 2020.10.20
|
18
|
+
|
19
|
+
### Changed
|
20
|
+
|
21
|
+
- Updated gem development dependencies
|
22
|
+
- Updated gem documentation
|
23
|
+
|
24
|
+
## [2.0.0] - 2020.10.19
|
25
|
+
|
26
|
+
### Fixed
|
27
|
+
|
28
|
+
SMTP connection errors: invalid `HELO` hostname (`localhost`), duplicate `HELO` (`verifier domain`). Thanks to [@nenoganchev](https://github.com/nenoganchev) for report.
|
29
|
+
|
30
|
+
### Changed
|
31
|
+
|
32
|
+
- Updated `Truemail::Validate::Smtp::Request#run`
|
33
|
+
- Updated `Truemail::Validate::Smtp::Request#session_data`
|
34
|
+
- Updated `Truemail::Validate::Smtp::Response`
|
35
|
+
|
36
|
+
Now `helo` is a `Boolean` instead of `Net::SMTP::Response` instance. It was changed because `helo` is sending during SMTP-session initializing (`Net::SMTP.new.start`), and `helo` is always `true` if session up is okay. Also `hello` response won't logged as error if it happens. Example of `Truemail::Validate::Smtp::Response` instance from 2.x version.
|
37
|
+
|
38
|
+
```ruby
|
39
|
+
#<struct Truemail::Validate::Smtp::Response:0x00007fa74704cd10
|
40
|
+
port_opened=true,
|
41
|
+
connection=true,
|
42
|
+
helo=true, # Returns Boolean instead of Net::SMTP::Response instance
|
43
|
+
mailfrom=false,
|
44
|
+
rcptto=nil,
|
45
|
+
errors={:mailfrom=>"server response timeout"}>
|
46
|
+
```
|
47
|
+
|
48
|
+
## [1.9.2] - 2020.10.02
|
49
|
+
|
50
|
+
### Added
|
51
|
+
|
52
|
+
- `Truemail::TypeError`
|
53
|
+
- error handling for invalid types as input email
|
54
|
+
|
55
|
+
### Changed
|
56
|
+
|
57
|
+
- Updated `Truemail.validate`
|
58
|
+
- Updated `Truemail.valid?`
|
59
|
+
|
60
|
+
## [1.9.1] - 2020.09.21
|
61
|
+
|
62
|
+
### Changed
|
63
|
+
|
64
|
+
Migrated to updated Ruby 2.7.x syntax.
|
65
|
+
|
66
|
+
- Updated `Truemail::Configuration#logger=`
|
67
|
+
|
5
68
|
## [1.9.0] - 2020.09.01
|
6
69
|
|
7
|
-
|
70
|
+
### Added
|
8
71
|
|
9
72
|
- Ability to use `Truemail::Auditor` instance represented as json directly
|
10
73
|
- `Truemail::Log::Serializer::AuditorJson`
|
@@ -42,7 +105,7 @@ Truemail.host_audit.as_json
|
|
42
105
|
|
43
106
|
## [1.8.0] - 2020.06.21
|
44
107
|
|
45
|
-
|
108
|
+
### Added
|
46
109
|
|
47
110
|
Separated audit features for verifier host.
|
48
111
|
|
@@ -89,7 +152,7 @@ Truemail.host_audit
|
|
89
152
|
|
90
153
|
## [1.7.1] - 2020.05.10
|
91
154
|
|
92
|
-
|
155
|
+
### Added
|
93
156
|
|
94
157
|
- Ability to show `not_rfc_mx_lookup_flow` attribute in serialized validation result
|
95
158
|
|
@@ -137,7 +200,7 @@ Truemail.validate('nonexistent_email@bestweb.com.ua').as_json
|
|
137
200
|
|
138
201
|
## [1.7.0] - 2020.05.09
|
139
202
|
|
140
|
-
|
203
|
+
### Added
|
141
204
|
|
142
205
|
- Ability to use not RFC MX lookup flow (MX and Null MX records will be checked on the DNS validation layer only)
|
143
206
|
|
@@ -335,6 +398,7 @@ Truemail.validate('email@white-domain.com', with: :regex)
|
|
335
398
|
smtp_debug=nil>,
|
336
399
|
@validation_type=:regex>
|
337
400
|
```
|
401
|
+
|
338
402
|
**Email hasn't whitelisted domain**
|
339
403
|
|
340
404
|
```ruby
|
@@ -360,9 +424,9 @@ Truemail.validate('email@domain.com', with: :regex)
|
|
360
424
|
|
361
425
|
### Added
|
362
426
|
|
363
|
-
- Configurable default validation type, [issue details](https://github.com/
|
427
|
+
- Configurable default validation type, [issue details](https://github.com/truemail-rb/truemail/issues/48)
|
364
428
|
|
365
|
-
You can predefine default validation type for
|
429
|
+
You can predefine default validation type for `Truemail.validate('email@email.com')` call without with-parameter. Available validation types: `:regex`, `:mx`, `:smtp`. By default validation type still remains `:smtp`
|
366
430
|
|
367
431
|
```ruby
|
368
432
|
Truemail.configure do |config|
|
@@ -417,7 +481,7 @@ Truemail.validate('email@black-domain.com')
|
|
417
481
|
|
418
482
|
### Added
|
419
483
|
|
420
|
-
- Feature domain whitelist blacklist. Other validations will not processed even if it was defined in
|
484
|
+
- Feature domain whitelist blacklist. Other validations will not processed even if it was defined in `validation_type_for`.
|
421
485
|
|
422
486
|
```ruby
|
423
487
|
Truemail.configure do |config|
|
@@ -440,7 +504,7 @@ Truemail.configuration.blacklisted_domains = ['somedomain1.com', 'somedomain2.co
|
|
440
504
|
|
441
505
|
### Removed
|
442
506
|
|
443
|
-
-
|
507
|
+
- `:skip` validation type for `validation_type_for`
|
444
508
|
|
445
509
|
### Fixed
|
446
510
|
|
@@ -455,7 +519,7 @@ Truemail.configuration.blacklisted_domains = ['somedomain1.com', 'somedomain2.co
|
|
455
519
|
|
456
520
|
### Added
|
457
521
|
|
458
|
-
- skip validation by domain for validation_type_for configuration option:
|
522
|
+
- skip validation by domain for `validation_type_for` configuration option:
|
459
523
|
|
460
524
|
```ruby
|
461
525
|
Truemail.configure do |config|
|
@@ -478,7 +542,7 @@ Truemail.configuration.validation_type_for = { 'somedomain.com' => :skip }
|
|
478
542
|
|
479
543
|
### Added
|
480
544
|
|
481
|
-
- SMTP error body configurable option, [issue details](https://github.com/
|
545
|
+
- SMTP error body configurable option, [issue details](https://github.com/truemail-rb/truemail/issues/19)
|
482
546
|
|
483
547
|
### Changed
|
484
548
|
|
@@ -495,11 +559,11 @@ Truemail.configuration.validation_type_for = { 'somedomain.com' => :skip }
|
|
495
559
|
|
496
560
|
### Added
|
497
561
|
|
498
|
-
- Reverse trace, [issue details](https://github.com/
|
562
|
+
- Reverse trace, [issue details](https://github.com/truemail-rb/truemail/issues/18)
|
499
563
|
|
500
564
|
### Fixed
|
501
565
|
|
502
|
-
- Behaviour of current host address resolver, [issue details](https://github.com/
|
566
|
+
- Behaviour of current host address resolver, [issue details](https://github.com/truemail-rb/truemail/issues/18)
|
503
567
|
|
504
568
|
### Changed
|
505
569
|
|
@@ -510,7 +574,7 @@ Truemail.configuration.validation_type_for = { 'somedomain.com' => :skip }
|
|
510
574
|
|
511
575
|
### Added
|
512
576
|
|
513
|
-
- PTR record audit, [issue details](https://github.com/
|
577
|
+
- PTR record audit, [issue details](https://github.com/truemail-rb/truemail/issues/18)
|
514
578
|
|
515
579
|
### Changed
|
516
580
|
|
@@ -521,12 +585,12 @@ Truemail.configuration.validation_type_for = { 'somedomain.com' => :skip }
|
|
521
585
|
|
522
586
|
### Added
|
523
587
|
|
524
|
-
- MX gem logic with [RFC 7505](https://tools.ietf.org/html/rfc7505), null MX record supporting, [issue details](https://github.com/
|
588
|
+
- MX gem logic with [RFC 7505](https://tools.ietf.org/html/rfc7505), null MX record supporting, [issue details](https://github.com/truemail-rb/truemail/issues/27)
|
525
589
|
- [Contributing guideline](CONTRIBUTING.md)
|
526
590
|
|
527
591
|
### Fixed
|
528
592
|
|
529
|
-
- Multihomed MX records supporting, [issue details](https://github.com/
|
593
|
+
- Multihomed MX records supporting, [issue details](https://github.com/truemail-rb/truemail/issues/28)
|
530
594
|
|
531
595
|
### Changed
|
532
596
|
|
@@ -537,11 +601,11 @@ Truemail.configuration.validation_type_for = { 'somedomain.com' => :skip }
|
|
537
601
|
|
538
602
|
### Added
|
539
603
|
|
540
|
-
- Retries for
|
604
|
+
- Retries for `Truemail::Validate::Smtp` for cases when one mx server
|
541
605
|
|
542
606
|
### Changed
|
543
607
|
|
544
|
-
-
|
608
|
+
- `Truemail::Configuration` class, please use `.connection_attempts` instead `.retry_count`
|
545
609
|
- `Truemail::VERSION`
|
546
610
|
- gem documentation
|
547
611
|
|
@@ -549,12 +613,12 @@ Truemail.configuration.validation_type_for = { 'somedomain.com' => :skip }
|
|
549
613
|
|
550
614
|
### Added
|
551
615
|
|
552
|
-
- Checking A record presence if
|
553
|
-
- Handling of
|
554
|
-
- Checking A record if
|
555
|
-
- Supporting of multihomed MX records, conversion host names to ips, [issue details](https://github.com/
|
556
|
-
- Timeout configuration for DNS resolver, [issue details](https://github.com/
|
557
|
-
-
|
616
|
+
- Checking A record presence if `MX` and `CNAME` records not exist, [issue details](https://github.com/truemail-rb/truemail/issues/10)
|
617
|
+
- Handling of `CNAME` records, [issue details](https://github.com/truemail-rb/truemail/issues/11)
|
618
|
+
- Checking A record if `MX` and `CNAME` records not found, [issue details](https://github.com/truemail-rb/truemail/issues/12)
|
619
|
+
- Supporting of multihomed MX records, conversion host names to ips, [issue details](https://github.com/truemail-rb/truemail/issues/17)
|
620
|
+
- Timeout configuration for DNS resolver, [issue details](https://github.com/truemail-rb/truemail/issues/13)
|
621
|
+
- `.valid?` helper
|
558
622
|
|
559
623
|
### Changed
|
560
624
|
|
@@ -565,16 +629,16 @@ Truemail.configuration.validation_type_for = { 'somedomain.com' => :skip }
|
|
565
629
|
|
566
630
|
### Added
|
567
631
|
|
568
|
-
- Independent domain name extractor to
|
632
|
+
- Independent domain name extractor to `Truemail::Validate::Mx#run`
|
569
633
|
|
570
634
|
### Fixed
|
571
635
|
|
572
|
-
- Default
|
636
|
+
- Default `REGEX_EMAIL_PATTERN`, [issue details](https://github.com/truemail-rb/truemail/issues/7)
|
573
637
|
* local part of address can't start with a dot or special symbol
|
574
638
|
* local part of address can include ```+``` symbol
|
575
|
-
- Default
|
639
|
+
- Default `REGEX_DOMAIN_PATTERN`, [issue details](https://github.com/truemail-rb/truemail/issues/8)
|
576
640
|
* TLD size increased up to 63 characters
|
577
|
-
- Case sensitive domain names, [issue details](https://github.com/
|
641
|
+
- Case sensitive domain names, [issue details](https://github.com/truemail-rb/truemail/issues/9)
|
578
642
|
|
579
643
|
### Changed
|
580
644
|
|
@@ -621,10 +685,7 @@ Truemail.validate('email@example.com')
|
|
621
685
|
#<struct Truemail::Validate::Smtp::Response
|
622
686
|
port_opened=true,
|
623
687
|
connection=false,
|
624
|
-
helo=
|
625
|
-
#<Net::SMTP::Response:0x0000000002c934c8
|
626
|
-
@status="250",
|
627
|
-
@string="250 mx1.example.com\n">,
|
688
|
+
helo=true,
|
628
689
|
mailfrom=false,
|
629
690
|
rcptto=nil,
|
630
691
|
errors={:mailfrom=>"554 5.7.1 Client host blocked\n", :connection=>"server dropped connection after response"}>>,]>,
|