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"}>>,]>,
         
     |