Knowledge Base

Allows you to search a variety of questions and answers

Search

Search results

Centos/RedHat

Original URL: http://www.farhad.ca/2006/07/27/how-...sages-in-exim/

Problem: When a mail server accepts a message and later decides that it can’t deliver the message, it is required to send back a bounce email to the sender of the original message. These bounce emails are often misdirected.

For many MTAs there are solutions, so here is my solution for exim:

Solution: This solution uses filtering to discard bounced back emails. So your exim should have a central filter. Such filter can be configured in exim.conf configuration file like this:

system_filter = /etc/antivirus.exim

Where antivirus.exim is the filter file, Format of this file described in exim documentation:

http://www.exim.org/exim-html-4.62/doc/html/filter.html

Most CPanel boxes have this filter already set and working. Usually default filter file has these lines at the beginning
 

Code:

  if not first_delivery
    then
    finish
    endif

That means rest of the filter conditions will be ignored if that’s not the first delivery. To make sure you should put the bounce filter before those conditions or filter may not work properly.

Now the bounce conditions itself. Here is the code:

Code:

 if $sender_address is ""
        then
if ${lookup{${extract{2}{@}{$recipients}}}lsearch{/etc/localdomains}{yes}{no}} is "no"
        then
        noerror fail text "Delayed bounce message ignored"
        seen finish
    endif
endif

Save and then run these commands:
/scripts/restartsrv exim
/scripts/restartsrv spamd

This will discard any delayed bounce message. If you want to receive a copy of the discarded message (just to make sure it works) use this code:

Code:

    if $sender_address is ""
    then
    if ${lookup{${extract{2}{@}{$recipients}}}lsearch{/etc/localdomains}{yes}{no}} is “no”
    then
    headers add “Old-Subject: $h_subject:”
    headers remove “Subject”
    headers add “Subject: [Delayed Bounce]$h_old-subject:”
    headers remove “Old-Subject”
    deliver “abuse@yourdomain.com”
    fail text “Delayed bounce message ignored”
    seen finish
    endif
    endif

Save and then run these commands:
/scripts/restartsrv exim
/scripts/restartsrv spamd

Make sure to replace the abuse@yourdomain.com with your email address.

See What Our Customers Say