2

I'm running exim4 (4.76) on Ubuntu 12.0.4.4.

exim4 is set up to handle mail for mydomain.com. I have aliases set up that forward [email protected] to [email protected]. I have SpamAssassin set up to work in conjunction with exim4 (via sa-exim.conf).

Sometimes spam is sent to [email protected] and SpamAssassin assigns it a low enough score that it forwards it to [email protected]. GMail rejects the message as spam, so my exim4 server attempts to send a message back to the spam address saying:

This message was created automatically by mail delivery software.

A message that you sent could not be delivered to one or more of its
recipients. This is a permanent error. The following address(es) failed:

  [email protected]
    (generated from [email protected])
    SMTP error from remote mail server after end of data:
    host gmail-smtp-in.l.google.com [2607:f8b0:4003:c02::1a]:
    550-5.7.1 [xxxx:yyyy::zzzz:aaaa:bbbb:ccccc      12] Our system has detected that
    550-5.7.1 this message is likely unsolicited mail. To reduce the amount of spam
    550-5.7.1 sent to Gmail, this message has been blocked. Please visit
    550-5.7.1 http://support.google.com/mail/bin/answer.py?hl=en&answer=188131 for
    550 5.7.1 more information. c15si25934770obf.31 - gsmtp

I don't want this email sent back to the spam address because it reveals "[email protected]", the destination of an alias.

How can I either remove "[email protected]" from the reject email, or suppress that reject email altogether?

2 Answers 2

3

I would not recommend trying to hide your e-mail structure. If it breaks, you will likely be missing the appropriate information to fix the problem.

It is Google is blocking the message, so the problem may be with your server. If your email structure is not well done (fixed IP address, valid rDNS, SPF, DKIM, and optionnally DMARC records), then Google may be bouncing the messages because they come from your server.

If your server is well configured and you are getting high volumes of such bounces, then your spam filtering may not be very effective. Improve your spam filtering. Three spam blocking techniques I have found highly effective are:

  • Using the zen.spamhaus.org blocklist.
  • Using spamassassin to filter email before acceptance. The sa-exim works well with the heavy build of Exim.
  • Adding a delay of about 10 to 20 seconds to each step (connect, helo, mail, recipient) for any connecting host which fails rDNS validation. This requires a couple of extra ACLs, and modification to the existing ACLs. This is the ACL section I use before the accept. Add these after accepting local and authorized mail. The pipelining control is only used in the connect ACL.
    # Verify reverse DNS lookup of the sender's host.
    # Delay and disable pipelining on failure.
    warn
      !verify = reverse_host_lookup
      delay = 20s
      control = no_pipelining

If you want to verify that the destination is valid, you can use callouts. However, Gmail may end up blocking you if you do so. The following code from the standard configuration does recipient callouts.

    # Verify recipients listed in local_rcpt_callout with a callout.
    # This is especially handy for forwarding MX hosts (secondary MX or
    # mail hubs) of domains that receive a lot of spam to non-existent
    # addresses.  The only way to check local parts for remote relay
    # domains is to use a callout (add /callout), but please read the
    # documentation about callouts before doing this.
    deny
      !acl = acl_local_deny_exceptions
      recipients = ${if exists{CONFDIR/local_rcpt_callout}\
                            {CONFDIR/local_rcpt_callout}\
                      {}}
      !verify = recipient/callout
1
  • Your answer is far better than mine. You took the time to address some root causes, whereas I just said "Don't do that." Job well done, Bill.
    – Todd Lyons
    Jul 18, 2014 at 14:36
1

You cannot change this from any configuration settings; it is hardcoded into the source code. If you want to change the output of the bounce message, you will have to edit the print_address_information() function in src/deliver.c and rebuild a local copy of exim.

If you really think about it though, that will leave you with a confusing message:

This message was created automatically by mail delivery software.

A message that you sent could not be delivered to one or more of its
recipients. This is a permanent error. The following address(es) failed:

  [email protected]:
    SMTP error from remote mail server after end of data:
    host gmail-smtp-in.l.google.com [2607:f8b0:4003:c02::1a]:
    550-5.7.1 [xxxx:yyyy::zzzz:aaaa:bbbb:ccccc      12] Our system has detected that
    550-5.7.1 this message is likely unsolicited mail. To reduce the amount of spam
    550-5.7.1 sent to Gmail, this message has been blocked. Please visit
    550-5.7.1 http://support.google.com/mail/bin/answer.py?hl=en&answer=188131 for
    550 5.7.1 more information. c15si25934770obf.31 - gsmtp

The first question that any postmaster will ask is "If mydomain.com isn't being hosted by google, why is the bounce message from a google mail server." Additionally, when you try to hide something like this, it makes you look dishonest and amateur. Don't hide your identity.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .