[vexim] Mail Failure Generated When Adding Relay Domain

Gordon Dickens gordon at dickens.com
Thu Apr 17 11:23:13 PDT 2008


On 4/13/2008 8:15 AM, Gordon Dickens wrote:
> Every time that I add a relay domain in Vexim then Vexim generates a 
> welcome email that always fails because the welcome email's addressee 
> ( rcpt to: ) has a blank local part such as:    @relaydomain.com.  Is this 
> a known bug in Vexim or have I mis-configured Vexim? 

Hello Everybody,

I figured out  the problem with the welcome message being erroneously 
generated for relay domains.  I don't know what version of Vexim that 
ya'll are running but this is definitely a bug in the version that I am 
running which is Vexim 2.2.1.  The bug is in the siteaddsubmit.php 
module.  I have fixed the php code and I will offer my fix below for the 
benefit of others that may have already experienced this bug or that may 
encounter this in the future.

I hope that you find this helpful.  I also recommend that Avleen 
consider including this fix in any future Vexim 2.x releases.

FYI,

Gordon

Here is the fix:

Near the bottom of the siteaddsubmit.php module you will find the 
following code:

      } else {
        header ("Location: site.php?added={$_POST['domain']}" .
                "&type={$_POST['type']}");
        $_SESSION['domain'] = $_POST['domain'];
        mail("{$_POST['localpart']}@{$_POST['domain']}",
              "Welcome Domain Admin!",
              "$welcome_newdomain",
              "From: {$_POST['localpart']}@{$_POST['domain']}\r\n");
        die;
      }
    } else {
      header ("Location: site.php?failaddeddomerr={$_POST['domain']}");
      die;
    }
  } else if ($_POST['type'] == "alias") {

The code that needs modifying from the above is:

} else {
        header ("Location: site.php?added={$_POST['domain']}" .
                "&type={$_POST['type']}");
        $_SESSION['domain'] = $_POST['domain'];
        mail("{$_POST['localpart']}@{$_POST['domain']}",
              "Welcome Domain Admin!",
              "$welcome_newdomain",
              "From: {$_POST['localpart']}@{$_POST['domain']}\r\n");
        die;

You can simply comment this code out to stop the erroneous welcome 
message for relay domains as follows:

/*
} else {
        header ("Location: site.php?added={$_POST['domain']}" .
                "&type={$_POST['type']}");
        $_SESSION['domain'] = $_POST['domain'];
        mail("{$_POST['localpart']}@{$_POST['domain']}",
              "Welcome Domain Admin!",
              "$welcome_newdomain",
              "From: {$_POST['localpart']}@{$_POST['domain']}\r\n");
        die;
*/

Alternatively, you can put something like this in to notify the 
postmaster at the domain for which you are relaying:

/* GLD fix: For bug in relay welcome message to blank local part. email 
to: postmaster@ <relay-to-domain> */
/*      mail("{$_POST['localpart']}@{$_POST['domain']}",  GLD removed 
this */
        mail("postmaster@{$_POST['domain']}",
              "Welcome Domain Admin!",
              "$welcome_newdomain");
/*            "From: {$_POST['localpart']}@{$_POST['domain']}\r\n");  
GLD removed this */
/* GLD fix: email from:  apache@<relay from domain>  */
        die;
      }
    } else {
      header ("Location: site.php?failaddeddomerr={$_POST['domain']}");
      die;
    }




More information about the Vexim mailing list