README.md in truemail-1.7.1 vs README.md in truemail-1.8.0

- old
+ new

@@ -34,11 +34,14 @@ - [SMTP safe check enabled](#smtp-safe-check-enabled) - [Event logger](#event-logger) - [Available tracking events](#available-tracking-events) - [JSON serializer](#json-serializer) - [Host audit features](#host-audit-features) + - [IP audit](#ip-audit) + - [DNS audit](#dns-audit) - [PTR audit](#ptr-audit) + - [Example of using](#example-of-using) - [Truemail helpers](#truemail-helpers) - [.valid?](#valid) - [#as_json](#as_json) - [Test environment](#test-environment) - [Truemail family](#truemail-family) @@ -68,10 +71,11 @@ - Minimal runtime dependencies - Supporting of internationalized emails ([EAI](https://en.wikipedia.org/wiki/Email_address#Internationalization)) - Whitelist/blacklist validation layers - Simple SMTP debugger - Event logger +- Host auditor tools (helps to detect common host problems interfering to proper email verification) - JSON serializer ## Requirements Ruby MRI 2.5.0+ @@ -949,22 +953,35 @@ } ``` ### Host audit features -Truemail gem allows performing an audit of the host in which runs. Only PTR record audit performs for today. +Truemail gem allows performing an audit of the host in which runs. It will help to detect common host problems interfering to proper email verification. +#### IP audit + +Checks is current Truemail host has proper internet connection and detects current host ip address. + +#### DNS audit + +Checks is verifier domain refer to current Truemail host IP address. + #### PTR audit So what is a PTR record? A PTR record, or pointer record, enables someone to perform a reverse DNS lookup. This allows them to determine your domain name based on your IP address. Because generic domain names without a PTR are often associated with spammers, incoming mail servers identify email from hosts without PTR records as spam and you can't verify yours emails qualitatively. +Checks is PTR record exists for your Truemail host ip address exists and refers to current verifier domain. + +#### Example of using + ```ruby Truemail.host_audit # Everything is good => #<Truemail::Auditor:0x00005580df358828 @result= #<struct Truemail::Auditor::Result + current_host_ip="127.0.0.1", warnings={}>, configuration= #<Truemail::Configuration:0x00005615e86327a8 @blacklisted_domains=[], @connection_attempts=2, @@ -979,15 +996,18 @@ @verifier_domain="example.com", @verifier_email="verifier@example.com", @whitelist_validation=false, @whitelisted_domains=[]> -# Has PTR warning +# Has audit warnings => #<Truemail::Auditor:0x00005580df358828 @result= #<struct Truemail::Auditor::Result - warnings= - {:ptr=>"ptr record does not reference to current verifier domain"}>, + 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= #<Truemail::Configuration:0x00005615e86327a8 @blacklisted_domains=[], @connection_attempts=2, @connection_timeout=2,