Please whitelist cPanel in your adblocker so that you’re able to see our version release promotions, thanks!

The Community Forums

Interact with an entire community of cPanel & WHM users!
  1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Mail Delivery Failure - Headers

Discussion in 'E-mail Discussions' started by apolix, Apr 23, 2007.

  1. apolix

    apolix Member

    Nov 16, 2006
    Likes Received:
    Trophy Points:
    Someone sent an email to an invalid address on one of my servers and Exim produced one of its trusty "Mail delivery failed: returning message to sender" messages.

    However the delivery report got rejected by the receiving MTA.

    Since the receiving MTA belongs to one of my suppliers I decided to ask them what the problem was. They informed me that they were using the "Received:" header to validate against Joe-Jobs and my header was invalid:
    Received: from [B]mailnull[/B] by with local (Exim 4.63)
            id 1HdiSe-0005i2-Uj
            for; Tue, 17 Apr 2007 09:50:48 +0200
    They then started quoting RFC's to me telling me that "mailnull" was invalid since it did not contain any dots in it. And how they were using Exim too and what did I break to get it to show that....

    Now I'm no expert on the SMTP RFC's but I have noticed that most cPanel servers produce headers like this when they produce delivery failure reports.

    What is my solution - can I hack Exim to produce better headers? Or is this other mail admin not interpretting the RFC's correctly?
  2. nisse

    nisse Well-Known Member

    Nov 11, 2003
    Likes Received:
    Trophy Points:
    This is the default behaviour for Exim for locally-received messages; instead of showing the host, it shows the local user the message originates from. Exim runs as the user mailnull.

    You can change the headers by adding the default headers to exim.conf and editing them:

    received_header_text = Received: \
    ${if def:sender_rcvhost {from $sender_rcvhost\n\t}\
    {${if def:sender_ident {from $sender_ident }}\
    ${if def:sender_helo_name {(helo=$sender_helo_name)\n\t}}}}\
    by $primary_hostname \
    ${if def:received_protocol {with $received_protocol}} \
    ${if def:tls_cipher {($tls_cipher)\n\t}}\
    (Exim $version_number)\n\t\
    id $message_id\
    ${if def:received_for {\n\tfor $received_for}}

Share This Page