Skip to content

Releases: truemail-rb/truemail

v2.4.3

15 Jun 09:43
2f80d9f
Compare
Choose a tag to compare
  1. Updated gem development dependencies
  2. Updated rubocop/codeclimate config
  3. Updated gem changelog, documentation
  4. Updated gem version to 2.4.3

v2.4.2

13 May 17:17
363736d
Compare
Choose a tag to compare
  1. Fixed security vulnerability for bundler (CVE-2019-3881)
  2. Fixed test coverage issues
  3. Updated gem development dependencies
  4. Updated simplecov/CircleCi config
  5. Updated gem documentation
  6. Updated gem changelog
  7. Updated gem version to 2.4.2

v2.4.1

05 May 20:18
6643121
Compare
Choose a tag to compare
  1. Refactored Truemail::Validate::MxBlacklist
  2. Updated gem development dependencies
  3. Updated rubocop/codeclimate config
  4. Updated gem changelog
  5. Updated gem version to 2.4.1

v2.4.0: Feature/MxBlacklist validation layer

28 Apr 18:10
76d3e21
Compare
Choose a tag to compare

MX blacklist layer provides checking extracted mail server(s) IP address from MX validation with predefined blacklisted IP addresses list. It can be used as a part of DEA (disposable email address) validations.

[Whitelist/Blacklist] -> [Regex validation] -> [MX validation] -> [MX blacklist validation]

Example of usage:

require 'truemail'

Truemail.configure do |config|
  config.verifier_email = 'verifier@example.com'
  config.blacklisted_mx_ip_addresses = ['127.0.1.2']
end

Truemail.validate('email@example.com', with: :mx_blacklist)

=> #<Truemail::Validator:0x00007fca0c8aea70
 @result=
  #<struct Truemail::Validator::Result
   success=false,
   email="email@example.com",
   domain="example.com",
   mail_servers=["127.0.1.1", "127.0.1.2"],
   errors={:mx_blacklist=>"blacklisted mx server ip address"},
   smtp_debug=nil,
   configuration=
    #<Truemail::Configuration:0x00007fca0c8aeb38
     @blacklisted_domains=[],
     @blacklisted_mx_ip_addresses=["127.0.1.2"],
     @connection_attempts=2,
     @connection_timeout=2,
     @default_validation_type=:smtp,
     @dns=[],
     @email_pattern=/(?=\A.{6,255}\z)(\A([\p{L}0-9]+[\w|\-.+]*)@((?i-mx:[\p{L}0-9]+([\-.]{1}[\p{L}0-9]+)*\.\p{L}{2,63}))\z)/,
     @not_rfc_mx_lookup_flow=false,
     @response_timeout=2,
     @smtp_error_body_pattern=/(?=.*550)(?=.*(user|account|customer|mailbox)).*/i,
     @smtp_fail_fast=false,
     @smtp_safe_check=false,
     @validation_type_by_domain={},
     @verifier_domain="example.com",
     @verifier_email="verifier@example.com",
     @whitelist_validation=false,
     @whitelisted_domains=[]>>,
 @validation_type=:mx_blacklist>
  1. Added Truemail::Validate::MxBlacklist, tests
  2. Updated Truemail::Core, tests
  3. Updated Truemail::Configuration, tests
  4. Updated Truemail::Validator
  5. Updated Truemail::Validate::Smtp, tests
  6. Updated Truemail::Log::Serializer::Base, dependent tests
  7. Updated Truemail::Log::Serializer::ValidatorText, tests
  8. Updated gem development dependencies
  9. Updated gem documentation, changelog
  10. Updated gem version to 2.4.0

v2.3.4: Bugfix/Impossibility to use valid DNS port number

16 Apr 07:26
256b36c
Compare
Choose a tag to compare

Fixed bug with impossibility to use valid dns port number. Now validation for dns port for range 1..65535 works as expected.

  1. Updated Truemail::RegexConstant::REGEX_PORT_NUMBER, tests
  2. Updated gem documentation
  3. Changed location of CircleCI config
  4. Updated gem changelog
  5. Updated gem version to 2.3.4

v2.3.3: Technical/Update gem dependencies, CircleCI config (#141)

14 Apr 12:25
da717dc
Compare
Choose a tag to compare
  1. Updated gem development dependencies
  2. Updated rubocop/codeclimate config
  3. Updated CircleCI config for using multiple Ruby versions
  4. Updated gem changelog
  5. Updated gem version to 2.3.3

v2.3.2

08 Mar 20:00
872b472
Compare
Choose a tag to compare
  1. Updated gem development dependencies
  2. Updated rubocop/codeclimate config
  3. Updated gem changelog
  4. Updated gem version to 2.3.2

v2.3.1

26 Feb 16:12
e55ca16
Compare
Choose a tag to compare
  1. Updated gem development dependencies
  2. Updated rubocop/codeclimate config
  3. Updated gem documentation, changelog
  4. Updated gem version to 2.3.1

v2.3.0: Feature/Ability to use custom DNS gateway

05 Feb 21:41
Compare
Choose a tag to compare

Ability to use custom DNS gateway. Thanks @le0pard for the great idea and @verdi8 for feature request.

Truemail.configure do |config|
  # Optional parameter. This option will provide to use custom DNS gateway when
  # Truemail interacts with DNS. If you won't specify nameserver's ports Truemail
  # will use default DNS TCP/UDP port 53. By default Truemail uses DNS gateway
  # from system settings and this option is equal to empty array.
  config.dns = ['10.0.0.1', '10.0.0.2:5300']
end
  1. Added Truemail::Dns::Resolver
  2. Added Truemail::Dns::Worker
  3. Updated Truemail::Configuration, tests
  4. Updated Truemail::Validate::Mx, tests
  5. Updated Truemail::Audit::Base
  6. Updated Truemail::Audit::Dns, tests
  7. Updated Truemail::Audit::Ptr, tests
  8. Updated Truemail::Log::Serializer::Base, dependent tests
  9. Updated namespaces for stdlib classes
  10. Updated linters/codeclimate configs
  11. Updated gem runtime/development dependencies
  12. Updated gem documentation, changelog
  13. Updated gem version to 2.3.0

v2.2.3

12 Jan 20:18
f6751eb
Compare
Choose a tag to compare
  1. Removed needless Timeout.timeout block in Truemail::Validate::Smtp::Request#check_port, replaced TCPSocket to Socket with native timeout detection. Thanks to @wikiti for idea, testing on production and clean PR #127
  2. Updated gem development dependencies
  3. Updated rubocop, reek configs
  4. Updated gem changelog
  5. Updated gem version to 2.2.3