Version: 1.00, by echamberlain
Developer Last Online: Mar 2017
Category: Miscellaneous Hacks -
Version: 3.6.5
Rating:
Released: 04-10-2007
Last Update: 04-10-2007
Installs: 265
Uses Plugins
No support by the author.
This mod checks that the user supplied e-mail address is a real address before allowing registration to continue.
Even though we use Verify Email address in Registration, I still get tired of cleaning up bad e-mail addresses.
This mod integrates with the user registration process and performs the following tasks:
Syntax checking (configurable) to make sure what was entered is an e-mail address.
Looks up the MX records for the e-mail address.
Cycles through the mail servers by connecting to each mail server and tries to verify that the e-mail address is a valid address. The cycling stops as soon as a mail server returns a valid or invalid user.
Installation
Install the attached xml product file. The product is active at installation and most sites should run fine with the default settings.
If you run the default configuration, e-mail addresses will be rejected when:
Syntax doesn't look like an e-mail address
MX record or A record does not exist for the e-mail domain
A mail server reports that the e-mail address is invalid
If you run the default configuration, e-mail address will pass when:
Syntax looks like an e-mail address
MX record or A record exists for the e-mail domain
All mail servers timeout or a mail server reports that the e-mail address is valid.
Configuration
This mod is managed from the vBulletin Options -> User Registration Options page. The following options are added to the page:
Validate Registration E-mail Addresses - Enter a regular expression to use when validating e-mail addresses. Leave the field blank to disable validation. The recommendation is to use the default value.
Treat E-mail Address As Valid If All Mail Hosts Timeout - If all the mail hosts timeout, should the e-mail address be treated as valid?
NOTE: Changing this to no will reject valid users when your hosting provider doesn't allow fsockopen calls or when the timeout value is too short. The SMTP RFC's allow for a connection request response wait time of up to minues, since this test is real-time with a waiting user, waiting minutes is impractical. Just because a host timesout doesn't mean the host is not there.
Mail Host Timeout Value (Seconds) - Length of time to wait when trying to open a session with a mail host.
NOTE: Don't set this value too large, if a domain has more than one MX record, the user will have to wait for each connection attempt.
Does This Host Support fsockopen? - A PHP fsockopen call is used to try and connect to the remote mail servers. Some systems may not support or block these calls. With the value set to Yes, the connection attempts will timeout. GoDaddy's Shared Hosting is an example of a hosting provider that blocks outbound connection attempts.
With this value set to no, the system will try to look up the MX records, but will not attempt to connect to each mail server.
Show Your Support
This modification may not be copied, reproduced or published elsewhere without author's permission.
I waited such hack, I guessed that "live-checking" of mailaddresses is possible via sockets.
Works fine for me in my older 3.6, but some big providers like "yahoo.com" report for every fantasy mail the status valid mailaddress unfortunately.
But however this hack stops most bots and reduces fake mail registrations and so
I installed and also nominated it as motm.
It's a real alternative to the activation mails. 80% of my users remained inactive with mail confirmation switched on, because they weren't able to click the mail verfication link somehow. So this hack is a real alternative to this and how someone already mentioned it, it should be a default build in feature of vbulletin.
Thank you very much for this clever hack.
Sounds like a nice hack but I could not get it to reject anything for me. I'm not sure if my host supports fsockopen but it did not reject for me with the fsock setting set to yes or no. Wish I could use this.
It seems to work well. So far only one problem: a perfectly valid email address got the "We were unable to contact your e-mail server and verify that your e-mail address exists" message? I have the default settings. Ideas on what happened? If (as the message claims) it could not contact the server, it should have approved the address. So the server must have said the address was invalid, except that I know it is valid.