I'm still working on this, but at least the following code will check that the domain actually exists.
In "catalog/controller/account/create.php", in the validate() function (lines 283 to 285), by replacing the following:-
Code: Select all
if (!preg_match($pattern, $this->request->post['email'])) {
$this->error['email'] = $this->language->get('error_email');
}
Code: Select all
if (!preg_match($pattern, $this->request->post['email'])) {
$this->error['email'] = $this->language->get('error_email');
} else {
list($uname, $domain) = split('@', $this->request->post['email']);
if (!getmxrr($domain, $mxhost)) {
$this->error['email'] = $this->language->get('error_email');
} elseif (!fsockopen($domain, 25)) {
$this->error['email'] = $this->language->get('error_email');
}
}