Releases: truemail-rb/truemail
v2.2.2
v2.2.1: Bugfix/UndefinedConversionError
Fixed Encoding::UndefinedConversionError
in Truemail::Log::Serializer::ValidatorJson#serialize
. Filter out ASCII-8BIT chars for serialized SMTP response errors. Also added missed smtp_fail_fast
attribute to serialized validator and auditor results.
- Updated
Truemail::Log::Serializer::Base
- Updated
Truemail::Log::Serializer::ValidatorBase
- Refactored
Truemail::Configuration
- Updated gem development depemdencies
- Updated linters/codeclimate configs
- Updated JSON auditor/validator schemas
- Updated readme, changelog
- Updated gem version to
2.2.1
v2.2.0: Feature/SMTP fail fast
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.
Truemail.configure do |config|
config.smtp_fail_fast = true # by default it's equal to false
end
- Added
Truemail::Configuration#smtp_fail_fast
- Added
Truemail::Validate::Smtp#smtp_fail_fast?
- Added
Truemail::Validate::Smtp#filtered_mail_servers_by_fail_fast_scenario
- Updated
Truemail::Validate::Smtp#establish_smtp_connection
- Updated readme, changelog
- Updated gem version to
2.2.0
v2.1.0: Feature/Collect only unique ip-addresses for target mail servers
This release should reduce email validation time for case when remote server have closed connection via avoiding connection attempt to server with the same ip address.
- Updated
Truemail::Validate::Mx#fetch_target_hosts
- Updated gem changelog
- Updated gem version to
2.1.0
v2.0.2
v2.0.1
Bugfix/SMTP connection errors
FIxed SMTP connection errors: invalid HELO
hostname (localhost
), duplicate HELO
(verifier domain
).
- Updated
Truemail::Validate::Smtp::Request#run
- Updated
Truemail::Validate::Smtp::Request#session_data
- Updated behaviour of collecting
Truemail::Validate::Smtp::Response
instance - Updated gem documentation, changelog
- Updated gem version to
2.0.0
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.
#<struct Truemail::Validate::Smtp::Response:0x00007fa74704cd10
port_opened=true,
connection=true,
helo=true, # Returns Boolean instead of Net::SMTP::Response instance
mailfrom=false,
rcptto=nil,
errors={:mailfrom=>"server response timeout"}>
Feature/Input email type checking
Added error handling for invalid types as input email.
- Added
Truemail::TypeError
- Updated
Truemail.validate
- Updated
Truemail.valid?
- Updated gem changelog
- Updated gem version to
1.9.2
Compatibility with Ruby 2.7.x
Migrated to updated Ruby 2.7.x syntax.
- Updated
Truemail::Configuration#logger=
- Updated gem dependencies
- Updated linters configs
- Updated gem changelog
- Updated gem version to
1.9.1
Feature/Host auditor serializer
Ability to use Truemail::Auditor
instance represented as json directly:
Truemail.host_audit.as_json
=>
# Serialized Truemail::Auditor instance
{
"date": "2020-08-31 22:33:43 +0300",
"current_host_ip": "127.0.0.1",
"warnings": {
"dns": "A-record of verifier domain not refers to current host ip address", "ptr": "PTR-record does not reference to current verifier domain"
},
"configuration": {
"validation_type_by_domain": null,
"whitelist_validation": false,
"whitelisted_domains": null,
"blacklisted_domains": null,
"not_rfc_mx_lookup_flow": false,
"smtp_safe_check": false,
"email_pattern": "default gem value",
"smtp_error_body_pattern": "default gem value"
}
}
- Updated
Truemail::Auditor, Truemail::Validator
- Refactored
Truemail::Log::Serializer
namespaces - Implemented
Truemail::Log::Serializer::AuditorJson
- Optimized regex
- Updated gem dependencies
- Updated linters configs
- Updated gem changelog
- Updated gem version to
1.9.0