truemail 1.9.2 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +28 -0
- data/.github/ISSUE_TEMPLATE/feature_request.md +27 -0
- data/.github/{ISSUE_TEMPLATE.md → ISSUE_TEMPLATE/issue_report.md} +16 -5
- data/.github/ISSUE_TEMPLATE/question.md +22 -0
- data/.github/PULL_REQUEST_TEMPLATE.md +4 -1
- data/.reek.yml +1 -0
- data/.rubocop.yml +51 -0
- data/CHANGELOG.md +102 -27
- data/CONTRIBUTING.md +15 -14
- data/Gemfile.lock +33 -32
- data/README.md +127 -31
- data/lib/truemail/configuration.rb +2 -1
- data/lib/truemail/core.rb +1 -1
- data/lib/truemail/validate/mx.rb +1 -1
- data/lib/truemail/validate/smtp.rb +15 -5
- data/lib/truemail/validate/smtp/request.rb +2 -3
- data/lib/truemail/version.rb +1 -1
- data/truemail.gemspec +9 -9
- metadata +21 -23
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ccc592c306e3cb61ae0b64e88204a5d464d614abb842bc6538112a19acca812a
|
4
|
+
data.tar.gz: f61ebb1883ff711a1816c3f6523c1ab2f4ffa11b13782011d4d42f9204a4e298
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 640d6769aee1f4fde2d525253d3096a99866ecd190ad1e3f5ddb77c4105908f97a7cd3468fb65d97363291ec3931cc4802f25673e696ffee6d028000f8d5edff
|
7
|
+
data.tar.gz: 21e63e9a6b6e17b830569a64ddb563264e8ff1a5a4ab6ac22da21169bd331474ae2e467765a196d36b5bafd5ef40867cf4baf74b3861cab967c24bfd457d4a73
|
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,28 @@
|
|
1
|
+
---
|
2
|
+
name: Bug report
|
3
|
+
about: Create a report to help us improve
|
4
|
+
title: "[BUG] Your bug report title here"
|
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
|
+
<!-- Please use next pattern for your bug report title: [BUG] Your bug report title here -->
|
20
|
+
|
21
|
+
### Bug description
|
22
|
+
<!-- Please include what's happening, expected behavior, and any relevant code samples -->
|
23
|
+
|
24
|
+
##### Complete output when running truemail, including the stack trace and command used
|
25
|
+
|
26
|
+
<details>
|
27
|
+
<pre>[INSERT OUTPUT HERE]</pre>
|
28
|
+
</details>
|
@@ -0,0 +1,27 @@
|
|
1
|
+
---
|
2
|
+
name: Feature request
|
3
|
+
about: Suggest an idea for Truemail
|
4
|
+
title: "[FEATURE] Your feature request title here"
|
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
|
+
<!-- Please use next pattern for your feature request title: [FEATURE] Your feature request title here -->
|
20
|
+
|
21
|
+
### Feature description
|
22
|
+
|
23
|
+
<!-- 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 [...]
|
24
|
+
|
25
|
+
Describe the solution you'd like. A clear and concise description of what you want to happen.
|
26
|
+
|
27
|
+
Describe alternatives you've considered. A clear and concise description of any alternative solutions or features you've considered. -->
|
@@ -1,13 +1,24 @@
|
|
1
|
+
---
|
2
|
+
name: Issue report
|
3
|
+
about: Create a report to help us improve
|
4
|
+
title: "[ISSUE] Your issue report title here"
|
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/
|
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)
|
7
16
|
- [ ] I have read the [documentation](https://truemail-rb.org/truemail-gem)
|
8
|
-
- [ ] I have searched for [existing GitHub issues](https://github.com/
|
17
|
+
- [ ] I have searched for [existing GitHub issues](https://github.com/truemail-rb/truemail/issues)
|
18
|
+
|
19
|
+
<!-- Please use next pattern for your issue report title: [ISSUE] Your issue report title here -->
|
9
20
|
|
10
|
-
### Issue
|
21
|
+
### Issue description
|
11
22
|
<!-- Please include what's happening, expected behavior, and any relevant code samples -->
|
12
23
|
|
13
24
|
##### Complete output when running truemail, including the stack trace and command used
|
@@ -0,0 +1,22 @@
|
|
1
|
+
---
|
2
|
+
name: Question
|
3
|
+
about: Ask your question to Truemail team
|
4
|
+
title: "[QUESTION] Your question title here"
|
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
|
+
<!-- Please use next pattern for your question title: [QUESTION] Your question title here -->
|
19
|
+
|
20
|
+
### Question
|
21
|
+
|
22
|
+
<!-- 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
@@ -115,6 +115,27 @@ Style/RedundantSelfAssignment:
|
|
115
115
|
Style/SoleNestedConditional:
|
116
116
|
Enabled: true
|
117
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
|
+
|
118
139
|
Layout/LineLength:
|
119
140
|
Max: 140
|
120
141
|
|
@@ -212,6 +233,33 @@ Lint/UselessMethodDefinition:
|
|
212
233
|
Lint/UselessTimes:
|
213
234
|
Enabled: true
|
214
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
|
+
|
215
263
|
Performance/AncestorsInclude:
|
216
264
|
Enabled: true
|
217
265
|
|
@@ -265,3 +313,6 @@ RSpec/MultipleDescribes:
|
|
265
313
|
|
266
314
|
RSpec/MultipleMemoizedHelpers:
|
267
315
|
Enabled: false
|
316
|
+
|
317
|
+
RSpec/StubbedMock:
|
318
|
+
Enabled: false
|
data/CHANGELOG.md
CHANGED
@@ -2,6 +2,83 @@
|
|
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.2.0] - 2020.12.01
|
6
|
+
|
7
|
+
Ability to use fail fast behaviour for SMTP validation layer. When `smtp_fail_fast = true` it means that `truemail` ends smtp validation session after first attempt on the first mx server in any fail cases (network connection/timeout error, smtp validation error). This feature helps to reduce total time of SMTP validation session up to 1 second.
|
8
|
+
|
9
|
+
### Added
|
10
|
+
|
11
|
+
- Added `Truemail::Configuration#smtp_fail_fast`
|
12
|
+
- Added `Truemail::Validate::Smtp#smtp_fail_fast?`
|
13
|
+
- Added `Truemail::Validate::Smtp#filtered_mail_servers_by_fail_fast_scenario`
|
14
|
+
|
15
|
+
### Changed
|
16
|
+
|
17
|
+
- Updated `Truemail::Validate::Smtp#attempts`
|
18
|
+
- Updated `Truemail::Validate::Smtp#establish_smtp_connection`
|
19
|
+
- Updated gem documentation
|
20
|
+
|
21
|
+
It's a configurable and not required option:
|
22
|
+
|
23
|
+
```ruby
|
24
|
+
Truemail.configure do |config|
|
25
|
+
config.smtp_fail_fast = true # by default it's equal to false
|
26
|
+
end
|
27
|
+
```
|
28
|
+
|
29
|
+
Thanks to [@wikiti](https://github.com/wikiti) for timeout reports.
|
30
|
+
|
31
|
+
## [2.1.0] - 2020.11.21
|
32
|
+
|
33
|
+
Collecting only unique ip-addresses for target mail servers. This update reduces email validation time for case when remote server have closed connection via avoiding connection attempt to server with the same ip address.
|
34
|
+
|
35
|
+
### Changed
|
36
|
+
|
37
|
+
- Updated `Truemail::Validate::Mx#fetch_target_hosts`
|
38
|
+
|
39
|
+
## [2.0.2] - 2020.11.14
|
40
|
+
|
41
|
+
### Fixed
|
42
|
+
|
43
|
+
Timeouts time units in `Setting global configuration` of Truemail documentation's section. Thanks to [@wikiti](https://github.com/wikiti) for report.
|
44
|
+
|
45
|
+
### Changed
|
46
|
+
|
47
|
+
- Refactored `Truemail::RegexConstant::REGEX_EMAIL_PATTERN`
|
48
|
+
- Updated gem development dependencies
|
49
|
+
- Updated gem documentation
|
50
|
+
|
51
|
+
## [2.0.1] - 2020.10.20
|
52
|
+
|
53
|
+
### Changed
|
54
|
+
|
55
|
+
- Updated gem development dependencies
|
56
|
+
- Updated gem documentation
|
57
|
+
|
58
|
+
## [2.0.0] - 2020.10.19
|
59
|
+
|
60
|
+
### Fixed
|
61
|
+
|
62
|
+
SMTP connection errors: invalid `HELO` hostname (`localhost`), duplicate `HELO` (`verifier domain`). Thanks to [@nenoganchev](https://github.com/nenoganchev) for report.
|
63
|
+
|
64
|
+
### Changed
|
65
|
+
|
66
|
+
- Updated `Truemail::Validate::Smtp::Request#run`
|
67
|
+
- Updated `Truemail::Validate::Smtp::Request#session_data`
|
68
|
+
- Updated `Truemail::Validate::Smtp::Response`
|
69
|
+
|
70
|
+
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.
|
71
|
+
|
72
|
+
```ruby
|
73
|
+
#<struct Truemail::Validate::Smtp::Response:0x00007fa74704cd10
|
74
|
+
port_opened=true,
|
75
|
+
connection=true,
|
76
|
+
helo=true, # Returns Boolean instead of Net::SMTP::Response instance
|
77
|
+
mailfrom=false,
|
78
|
+
rcptto=nil,
|
79
|
+
errors={:mailfrom=>"server response timeout"}>
|
80
|
+
```
|
81
|
+
|
5
82
|
## [1.9.2] - 2020.10.02
|
6
83
|
|
7
84
|
### Added
|
@@ -355,6 +432,7 @@ Truemail.validate('email@white-domain.com', with: :regex)
|
|
355
432
|
smtp_debug=nil>,
|
356
433
|
@validation_type=:regex>
|
357
434
|
```
|
435
|
+
|
358
436
|
**Email hasn't whitelisted domain**
|
359
437
|
|
360
438
|
```ruby
|
@@ -380,9 +458,9 @@ Truemail.validate('email@domain.com', with: :regex)
|
|
380
458
|
|
381
459
|
### Added
|
382
460
|
|
383
|
-
- Configurable default validation type, [issue details](https://github.com/
|
461
|
+
- Configurable default validation type, [issue details](https://github.com/truemail-rb/truemail/issues/48)
|
384
462
|
|
385
|
-
You can predefine default validation type for
|
463
|
+
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`
|
386
464
|
|
387
465
|
```ruby
|
388
466
|
Truemail.configure do |config|
|
@@ -437,7 +515,7 @@ Truemail.validate('email@black-domain.com')
|
|
437
515
|
|
438
516
|
### Added
|
439
517
|
|
440
|
-
- Feature domain whitelist blacklist. Other validations will not processed even if it was defined in
|
518
|
+
- Feature domain whitelist blacklist. Other validations will not processed even if it was defined in `validation_type_for`.
|
441
519
|
|
442
520
|
```ruby
|
443
521
|
Truemail.configure do |config|
|
@@ -460,7 +538,7 @@ Truemail.configuration.blacklisted_domains = ['somedomain1.com', 'somedomain2.co
|
|
460
538
|
|
461
539
|
### Removed
|
462
540
|
|
463
|
-
-
|
541
|
+
- `:skip` validation type for `validation_type_for`
|
464
542
|
|
465
543
|
### Fixed
|
466
544
|
|
@@ -475,7 +553,7 @@ Truemail.configuration.blacklisted_domains = ['somedomain1.com', 'somedomain2.co
|
|
475
553
|
|
476
554
|
### Added
|
477
555
|
|
478
|
-
- skip validation by domain for validation_type_for configuration option:
|
556
|
+
- skip validation by domain for `validation_type_for` configuration option:
|
479
557
|
|
480
558
|
```ruby
|
481
559
|
Truemail.configure do |config|
|
@@ -498,7 +576,7 @@ Truemail.configuration.validation_type_for = { 'somedomain.com' => :skip }
|
|
498
576
|
|
499
577
|
### Added
|
500
578
|
|
501
|
-
- SMTP error body configurable option, [issue details](https://github.com/
|
579
|
+
- SMTP error body configurable option, [issue details](https://github.com/truemail-rb/truemail/issues/19)
|
502
580
|
|
503
581
|
### Changed
|
504
582
|
|
@@ -515,11 +593,11 @@ Truemail.configuration.validation_type_for = { 'somedomain.com' => :skip }
|
|
515
593
|
|
516
594
|
### Added
|
517
595
|
|
518
|
-
- Reverse trace, [issue details](https://github.com/
|
596
|
+
- Reverse trace, [issue details](https://github.com/truemail-rb/truemail/issues/18)
|
519
597
|
|
520
598
|
### Fixed
|
521
599
|
|
522
|
-
- Behaviour of current host address resolver, [issue details](https://github.com/
|
600
|
+
- Behaviour of current host address resolver, [issue details](https://github.com/truemail-rb/truemail/issues/18)
|
523
601
|
|
524
602
|
### Changed
|
525
603
|
|
@@ -530,7 +608,7 @@ Truemail.configuration.validation_type_for = { 'somedomain.com' => :skip }
|
|
530
608
|
|
531
609
|
### Added
|
532
610
|
|
533
|
-
- PTR record audit, [issue details](https://github.com/
|
611
|
+
- PTR record audit, [issue details](https://github.com/truemail-rb/truemail/issues/18)
|
534
612
|
|
535
613
|
### Changed
|
536
614
|
|
@@ -541,12 +619,12 @@ Truemail.configuration.validation_type_for = { 'somedomain.com' => :skip }
|
|
541
619
|
|
542
620
|
### Added
|
543
621
|
|
544
|
-
- MX gem logic with [RFC 7505](https://tools.ietf.org/html/rfc7505), null MX record supporting, [issue details](https://github.com/
|
622
|
+
- 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)
|
545
623
|
- [Contributing guideline](CONTRIBUTING.md)
|
546
624
|
|
547
625
|
### Fixed
|
548
626
|
|
549
|
-
- Multihomed MX records supporting, [issue details](https://github.com/
|
627
|
+
- Multihomed MX records supporting, [issue details](https://github.com/truemail-rb/truemail/issues/28)
|
550
628
|
|
551
629
|
### Changed
|
552
630
|
|
@@ -557,11 +635,11 @@ Truemail.configuration.validation_type_for = { 'somedomain.com' => :skip }
|
|
557
635
|
|
558
636
|
### Added
|
559
637
|
|
560
|
-
- Retries for
|
638
|
+
- Retries for `Truemail::Validate::Smtp` for cases when one mx server
|
561
639
|
|
562
640
|
### Changed
|
563
641
|
|
564
|
-
-
|
642
|
+
- `Truemail::Configuration` class, please use `.connection_attempts` instead `.retry_count`
|
565
643
|
- `Truemail::VERSION`
|
566
644
|
- gem documentation
|
567
645
|
|
@@ -569,12 +647,12 @@ Truemail.configuration.validation_type_for = { 'somedomain.com' => :skip }
|
|
569
647
|
|
570
648
|
### Added
|
571
649
|
|
572
|
-
- Checking A record presence if
|
573
|
-
- Handling of
|
574
|
-
- Checking A record if
|
575
|
-
- Supporting of multihomed MX records, conversion host names to ips, [issue details](https://github.com/
|
576
|
-
- Timeout configuration for DNS resolver, [issue details](https://github.com/
|
577
|
-
-
|
650
|
+
- Checking A record presence if `MX` and `CNAME` records not exist, [issue details](https://github.com/truemail-rb/truemail/issues/10)
|
651
|
+
- Handling of `CNAME` records, [issue details](https://github.com/truemail-rb/truemail/issues/11)
|
652
|
+
- Checking A record if `MX` and `CNAME` records not found, [issue details](https://github.com/truemail-rb/truemail/issues/12)
|
653
|
+
- Supporting of multihomed MX records, conversion host names to ips, [issue details](https://github.com/truemail-rb/truemail/issues/17)
|
654
|
+
- Timeout configuration for DNS resolver, [issue details](https://github.com/truemail-rb/truemail/issues/13)
|
655
|
+
- `.valid?` helper
|
578
656
|
|
579
657
|
### Changed
|
580
658
|
|
@@ -585,16 +663,16 @@ Truemail.configuration.validation_type_for = { 'somedomain.com' => :skip }
|
|
585
663
|
|
586
664
|
### Added
|
587
665
|
|
588
|
-
- Independent domain name extractor to
|
666
|
+
- Independent domain name extractor to `Truemail::Validate::Mx#run`
|
589
667
|
|
590
668
|
### Fixed
|
591
669
|
|
592
|
-
- Default
|
670
|
+
- Default `REGEX_EMAIL_PATTERN`, [issue details](https://github.com/truemail-rb/truemail/issues/7)
|
593
671
|
* local part of address can't start with a dot or special symbol
|
594
672
|
* local part of address can include ```+``` symbol
|
595
|
-
- Default
|
673
|
+
- Default `REGEX_DOMAIN_PATTERN`, [issue details](https://github.com/truemail-rb/truemail/issues/8)
|
596
674
|
* TLD size increased up to 63 characters
|
597
|
-
- Case sensitive domain names, [issue details](https://github.com/
|
675
|
+
- Case sensitive domain names, [issue details](https://github.com/truemail-rb/truemail/issues/9)
|
598
676
|
|
599
677
|
### Changed
|
600
678
|
|
@@ -641,10 +719,7 @@ Truemail.validate('email@example.com')
|
|
641
719
|
#<struct Truemail::Validate::Smtp::Response
|
642
720
|
port_opened=true,
|
643
721
|
connection=false,
|
644
|
-
helo=
|
645
|
-
#<Net::SMTP::Response:0x0000000002c934c8
|
646
|
-
@status="250",
|
647
|
-
@string="250 mx1.example.com\n">,
|
722
|
+
helo=true,
|
648
723
|
mailfrom=false,
|
649
724
|
rcptto=nil,
|
650
725
|
errors={:mailfrom=>"554 5.7.1 Client host blocked\n", :connection=>"server dropped connection after response"}>>,]>,
|