Ticket #53 (closed defect: fixed)

Opened 4 years ago

Last modified 4 years ago

Problem with the registration module...

Reported by: MickeyM
Priority: low Milestone: 7.2
Component: ExiteCMS Core Version: 7.1
Severity: Fix Keywords: getmxrr registration nslookup

Description

This problem is on Windows machines only!

When a user tries to register his/her account then the following message appears:

Mailserver for domain gmail.com doesn't accept email messages. (gmail.com is an example)

The problem lies in the dns_functions.php file.
In the function CMS_getmxrr there is a line that checks the output of the NSLOOKUP command. The output is:

Array
(
    [0] => Server:  <FQDN DNS-server>
    [1] => Address:  192.168.0.xxx:53
    [2] => 
    [3] => gmail.com	MX preference = 50, mail exchanger = gsmtp147.google.com
    [4] => gmail.com	MX preference = 50, mail exchanger = gsmtp183.google.com
    [5] => gmail.com	MX preference = 5, mail exchanger = gmail-smtp-in.l.google.com
    [6] => gmail.com	MX preference = 10, mail exchanger = alt1.gmail-smtp-in.l.google.com
    [7] => gmail.com	MX preference = 10, mail exchanger = alt2.gmail-smtp-in.l.google.com
    [8] => 
    [9] => gsmtp147.google.com	internet address = 209.185.147.27
    [10] => gsmtp183.google.com	internet address = 64.233.183.27
)

There is a missing \ between hostname and t in the following line:

if (ereg( "^$hostnametMX preference = ([0-9]+), mail exchanger = (.*)$", $line, $parts ) ) {


If the code is changed to

if (ereg( "^$hostname\tMX preference = ([0-9]+), mail exchanger = (.*)$", $line, $parts ) ) {

Then everything works fine!

Change History

comment:1 follow-up: ↓ 2 Changed 4 years ago by WanWizard

  • Status changed from new to closed
  • Resolution set to fixed
  • Milestone set to 7.2

Fixed in rev. #1416.

comment:2 in reply to: ↑ 1 Changed 4 years ago by WanWizard

Replying to hverton:

Fixed in rev. 1416.

Should be [1416] !

Note: See TracTickets for help on using tickets.