VERP and Exim sender_verify - was Re: Solicited sales email distribution - advice needed

Gary Stainburn gary.stainburn at ringways.co.uk
Fri May 24 14:14:28 UTC 2013


Hi folks

I haven't re-invented the wheel but have borrowed someone else's. I'm managed 
to do all of the functionality within EXIM and have even managed to manage 
the subscription list from our CRM :-)

I basically have /etc/aliases.d/list.<listname> which is used to inform EXIM 
(a) that the mailing list exists and (b) contains the addresses of 
administrators who are allowed to post and who receive errors.

I then have /etc/aliases.d/list.<listname>.members which contains the target 
addresses.

I then set up EXIM as per 
http://www.exim.org/exim-html-current/doc/html/spec_html/ch-some_common_configuration_settings.html
including using VERP  and other settings to generate individual outgoing 
emails and individual incoming error messages.

All works as expected except where the remote mail server does a 
sender_verify. For some reason when the remote server does a sender_verify my 
EXIM server doesn't verify the sender (VERP generated FROM address) despite 
being able to handle errors coming back to the same address. Anyone got a 
clue what I've missed.

The relevent sections of my config consists of:

begin routers

#Added because Yahoo based services are blocking 88.211.105.30
smarthost:
  driver = manualroute
  domains = +smarthost_domains 
  transport = remote_smtp
  route_data = mail.vaioni.com
  no_more

verp_dnslookup:
  driver = dnslookup
  domains = ! +local_domains
  transport = remote_smtp
  condition = ${if match {$return_path}{^(.+?)-bounce at ringways.co.uk\$} {yes} 
{no}}
  errors_to = ${if match {$return_path}{^(.+?)-bounce at ringways.co.uk\$}\
     {$1-bounce+$local_part=$domain at ringways.co.uk}fail}
  no_more

dnslookup:
  driver = dnslookup
  domains = ! +local_domains
# domains = groucho.ringways.co.uk
  transport = ${if match {$return_path}{^(.+?)-bounce at ringways.co.uk\$}\
                    {verp_smtp}{remote_smtp}}
  ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8
  no_more


# The remaining routers handle addresses in the local domain(s), that is those
# domains that are defined by "domainlist local_domains" above.

# handle distribution lists
distribution_lists:
  driver = redirect
  domains = ringways.co.uk
  condition = ${if exists {/etc/aliases.d/lists.$local_part.members} {yes}
{no}}
  file = /etc/aliases.d/lists.$local_part.members
# forbid_pipe
  forbid_file
  errors_to = $local_part-bounce at ringways.co.uk
  no_more

distribution_list_requests:
  driver = redirect
  domains = ringways.co.uk
  local_part_suffix = -bounce*
  file = /etc/aliases.d/lists.$local_part
  no_more

..........


begin transports


# This transport is used for delivering messages over SMTP connections.

remote_smtp:
  driver = smtp

# used with distribution lists

verp_smtp:
  driver = smtp
  max_rcpt = 1
  return_path = ${if match {$return_path}{^(.+?)-bounce at ringways.co.uk\$}\
                      {$1-bounce+$local_part=$domain at ringways.co.uk}fail}

# This transport is used for delivering messages over SMTP using the
# "message submission" port (RFC4409).


On Monday 20 May 2013 16:31:18 Gary Stainburn wrote:
> Hi Folks.
>
> I have at work one of our salesmen who has an opt-in stock-list
> distribution that has been running for some time now. He has in excess of
> 2500 recipients on this list.
>
> Up until now he has simply had a Distribution list in his MS Outlook which
> he maintains himself. He then sends himself an email every week containing
> the stock list and BCC's the distribution list.  Other than generating an
> excessive load on my EXIM server there has been no  real down side to this
> as it meant that I didn't have to get involved.
>
> However, we are now experiencing problems and I would like a better
> solution.
>
> I need a system that will distribute the email to each recipient as a
> seperate message, and if possible will monitor and highlight any emails
> that fail.
>
> Can anyone suggest a way of doing this? Ideally I would like the salesman
> to still be able to administer it but that isn't essential. If it is a
> system that is either text file or database driven  I can create a UI that
> he would be able to use.
>
> Gary



-- 
Gary Stainburn
Group I.T. Manager
Ringways Garages
http://www.ringways.co.uk 


More information about the users mailing list