Validate Email Domain

Validate Email Domain 1.0.1

No permission to download
It only caused many of the following in my admin cp:
  • Error: Class 'Egulias\EmailValidator\EmailValidator' not found
  • in src/addons/Kirby/ValidateEmailDomain/XF/Validator/Email.php:16
Making users unable to completely signup or make any site payments in the meantime.

Running XF 2.1.7 and php 7.4 with the required module (idn_to_ascii() from intl) enabled.
 
When calling the parent class's isValid method, there appears to be a spelling error in the errorkey parameter, preventing it from returning correctly.
Thanks, fixed in 1.0.1.

It only caused many of the following in my admin cp:
[...]
Running XF 2.1.7
XenForo 2.1 does not ship the required classes; upgrade to XenForo 2.2.13 or don't use the Add-on.

I mean if it's possible for you to add an option/task to check all current users and their email addresses rather than only checking new registered users.
That would be a resource intensive process and therefore quite some work to implement properly - probably more work than I want to invest here :)

Why would you want to do this anyway?
 
Because instead of waiting for emails to bounce and affect the email score they can be removed or mark as inactive.
I would have to agree with @Kirby that would be resource intensive. My suggestion would probably be checking the email upon sending, and if an email is invalid it cancels the send to that particular recipient and marks them as email invalid.

Now this won't prevent all your emails from bouncing, there could be another hundred ways emails can bounce. Some could be, email doesn't exist, mailbox full etc. My suggestion would be make sure to properly maintain your list, if a user hasn't been around for a year, it's probably best to disable their marketing mail. You could also see bounces informing you that your IP is blocked etc
 
@Ivancas
I think you vastly overestimate the usefulness of (repeatedly) checking existing email addresses for valid DNS:
Usually the vast majority of users has email adresses from big / established ISPs or email service providers like GMail, Yahoo, Hotmail, GMX, T-Online, etc.

Those domains almost never go bad, so repeatedly checking them is rather pointless.

That being said, it's not impossible to implement smth, but you still didn't answer what you would want to do in case of a failure:
  • Change primary usergroup
  • Add secondary usergroup
  • Set user status (to what?)
  • Ban user
  • Set a custom user field
  • Smth. entirely different
?
 
Those domains almost never go bad
If a user creates an account using a wrong email, the account will be inactive awaiting for email confirmation. It could be quite useful to have a task (on admin.php?tools/rebuild) where we can scan all inactive users (or active as well) and move those with invalid email addresses to a secondary group so we can choose to mass delete them if needed. This task can be manually run as much as needed (but not a cron job, which would be unecessary).
 
If a user creates an account using a wrong email, the account will be inactive awaiting for email confirmation. It could be quite useful to have a task (on admin.php?tools/rebuild) where we can scan all inactive users (or active as well) and move those with invalid email addresses to a secondary group so we can choose to mass delete them if needed. This task can be manually run as much as needed (but not a cron job, which would be unecessary).
Couldn’t you just search for all the accounts that are awaiting email confirmation and update them to email invalid?
 
no, because they could be valid emails. What I'm try to say is in "awaiting email confirmation" you have valid and non valid email accounts.
I get what you're saying, but if it's awaiting confirmation for more than 24 hours, chances are the confirmation email has bounced. They would get a notice telling them to change their email, and if it was a valid email, they could just add the email back.

Edit: I don't want to take away from the discussion around the app, but feel free to DM me if you want to discuss more about email and such.
 
Edit: I don't want to take away from the discussion around the app
The suggestion I made is for the app and I just answered @Kirby questions

They would get a notice telling them to change their email, and if it was a valid email, they could just add the email back.
You are relying on the user to log in and change his email but you are forgetting about bots (that create accounts with fake emails for example) or users that just left the account forgotten and never log in to confirm his email. Those users remain in the database and are useless.
 
The suggestion I made is for the app and I just answered @Kirby questions


You are relying on the user to log in and change his email but you are forgetting about bots (that create accounts with fake emails for example) or users that just left the account forgotten and never log in to confirm his email. Those users remain in the database and are useless.
Then, search for accounts awaiting confirmation emails and that have not logged in for x amount of time and delete them.
 
Hi @Kirby

I am receiving many errors related to your add-on

error code:
Code:
Swift_TransportException: Email to admin@reactwire.cf from example@tyleraustins.com failed: Expected response code 354 but got code "503", with message "503-All RCPT commands were rejected with this error: 503-The mail server could not deliver mail to admin@reactwire.cf. The account 503-or domain may not exist, they may be blacklisted, or missing the proper dns 503-entries. 503 Valid RCPT command must precede DATA " src/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/AbstractSmtpTransport.php:459
Generated by: Unknown account Jul 2, 2024 at 7:50 PM
Stack trace
#0 src/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/AbstractSmtpTransport.php(344): Swift_Transport_AbstractSmtpTransport->assertResponseCode('503-All RCPT co...', Array)
#1 src/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/EsmtpTransport.php(305): Swift_Transport_AbstractSmtpTransport->executeCommand('DATA
', Array, Array, false, NULL)
#2 src/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/AbstractSmtpTransport.php(392): Swift_Transport_EsmtpTransport->executeCommand('DATA
', Array, Array)
#3 src/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/AbstractSmtpTransport.php(499): Swift_Transport_AbstractSmtpTransport->doDataCommand(Array)
#4 src/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/AbstractSmtpTransport.php(517): Swift_Transport_AbstractSmtpTransport->doMailTransaction(Object(Swift_Message), 'webmaster+38015...', Array, Array)
#5 src/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/AbstractSmtpTransport.php(206): Swift_Transport_AbstractSmtpTransport->sendTo(Object(Swift_Message), 'webmaster+38015...', Array, Array)
#6 src/XF/Mail/Mailer.php(315): Swift_Transport_AbstractSmtpTransport->send(Object(Swift_Message), Array)
#7 src/addons/DigitalPoint/Analytics/XF/Mail/Mailer.php(226): XF\Mail\Mailer->send(Object(Swift_Message), Object(XF\Mail\SmtpTransport), Array, true)
#8 src/XF/Mail/Queue.php(148): DigitalPoint\Analytics\XF\Mail\Mailer->send(Object(Swift_Message), NULL, Array)
#9 src/XF/Job/MailQueue.php(12): XF\Mail\Queue->run(7.80932)
#10 src/XF/Job/Manager.php(260): XF\Job\MailQueue->run(7.80932)
#11 src/XF/Job/Manager.php(202): XF\Job\Manager->runJobInternal(Array, 7.80932)
#12 src/XF/Job/Manager.php(86): XF\Job\Manager->runJobEntry(Array, 7.80932)
#13 job.php(43): XF\Job\Manager->runQueue(false, 8)
#14 {main}
Request state
array(4) {
  ["url"] => string(8) "/job.php"
  ["referrer"] => string(25) "https://tyleraustins.com/"
  ["_GET"] => array(0) {
  }
  ["_POST"] => array(0) {
  }
}
 
I am receiving many errors related to your add-on
How did you draw the conclusion that those errors are related to this Add-on?

The only thing this Add-on does is to add an additional email validation (DNS check), the email valiator is used when an email address is inserted / updated (when a user registers, changes email, etc.). it is not used at all when sending emails.
 
How did you draw the conclusion that those errors are related to this Add-on?
After this error has appeared I have disabled the add-on and the error has not been appearing since then

that's all as I can say at this point:)

Also I have a question related to this add-on

Is this post to display any error If the domain doesn't exist at all in the adminCP server errors?
 
After this error has appeared I have disabled the add-on and the error has not been appearing since then
That's strange.

Did you try to send a test email to admin@reactwire.cf after disabling the Add-on?

Is this post to display any error If the domain doesn't exist at all in the adminCP server errors?
I am sorry, but I don't understand your question :(
 
Back
Top Bottom