Re: [exim] Duplicate emails

Top Page
Delete this message
Reply to this message
Author: W B Hacker
Date:  
To: exim users
Subject: Re: [exim] Duplicate emails
schmerold2@??? wrote:
> We are getting duplicate emails. It seems to be the same senders,
> however not every one of their emails duplicate. 5% of mails from
> Charter.net will duplicate, 10% of mails from Cox will duplicate, 100%
> of mails from Interfax.net will duplicate.
>
> Interfax (a mail to fax provider) is the only sender that consistently
> send duplicate emails. When I asked them to fix it, they said:
>
> "it seems that we are having problems sending you the e-mails and then
> getting confirmations from the mail server that it received them - and
> that is causing us to resend the e-mails over and over."
>
> Anyone have any ideas?



Your timeout may be OK - the sender's may not be.

Other than a far-end server going offline, being restarted, the only time we've
seen this was during testing of 'very' large attachments between branch-office & HQ.

Above a certain size (gigabytes, not megabytes in this case - though we had a
fast link), we started hitting situations wherein we had gotten the full
message, but the sender timed-out and dropped-off before our 250 OK, only to
resend - sometimes 4 to 5 times.

That sounds similar to what Interfax is now telling you - faxes-as-email can be
rather large if multi-page - especially if there are graphics.

How large are these typically?

What do your logs show for QT and DT times for 'ordinary' messages vs the
problematic ones?

Bill


>
> My exim.conf follows:
> # /etc/exim/exim.conf
> host_lookup = 0.0.0.0/0
> spamd_address = 127.0.0.1 783
> qualify_domain = schmerold.com
> qualify_recipient = schmerold.com
> smtp_receive_timeout = 10m
> message_size_limit = 25M
> smtp_accept_max = 50
> smtp_banner = mx0.schmerold.com secure smtp server
> domainlist relay_to_domains = partial-lsearch;/etc/exim/transport
> hostlist relay_from_hosts = 127.0.0.1
> domainlist local_domains =
> acl_smtp_rcpt = acl_check_rcpt
> acl_smtp_mime = acl_check_mime
> acl_smtp_data = acl_check_content
> never_users = root
> av_scanner = clamd:127.0.0.1 3310
> perl_startup = do '/etc/exim/exim_surbl.pl'
>
> auto_thaw = 1d
> ignore_bounce_errors_after = 1d
> timeout_frozen_after = 3d
>
> helo_allow_chars = _
>
> ############# ACCEPT SETTINGS#######################
> begin acl
>
> acl_check_rcpt:
>    accept hosts = :
>    deny local_parts = ^.*[@%!/|] : ^\\.

>
>    accept local_parts = postmaster
>           domains = +local_domains

>
> #  See 
> http://www-csit.phy.cam.ac.uk/cs-it/security/sender_reject_bydomain for 
> examples
>    deny message = Message rejected because $sender_host_address is 
> blocked locally.
>    log_message = Message rejected from $sender_host_address by 
> sender_reject_bydomain
>    senders = @@lsearch*;/etc/exim/blacklist

>
>    accept domains = +relay_to_domains
>            endpass
>           message = relay not permitted at this server
>           verify = recipient

>
>    accept hosts = +relay_from_hosts

>
>    deny senders = :
>            condition     = ${if ! eq{$recipients_count}{1}{1}}
>            message       = Bounces must have only a single recipient
>            log_message   = Another denied due to backscatter-Single 
> Recipient

>
>    deny message = relay not permitted at this server

>
>    deny message = Access denied - $sender_host_address listed by 
> $dnslist_domain\n$dnslist_text
>         dnslists = sbl-xbl.spamhaus.org : dnsbl.sorbs.net : 
> bl.spamcop.net : \
>         multi.surbl.org : spam.dnsbl.sorbs.net : bl.spamcannibal.org : \
>         dnsbl-2.uceprotect.net : b.barracudacentral.org : psbl.surriel.com

>
> acl_check_mime:
>
>    warn decode = default

>
>    deny message = Blacklisted file extension detected
>         condition = ${if match \
>                          {${lc:$mime_filename}} \
>                          {\N(\.exe|\.pif|\.bat|\.scr|\.lnk|\.com)$\N} \
>                       {1}{0}}

>
>     deny condition = ${if <{$message_size}{100k}{yes}{no}}
>          set acl_m0 = ${perl{surblspamcheck}}
>          condition = ${if eq{$acl_m0}{false}{no}{yes}}
>          message = $acl_m0

>
>      accept

>
> acl_check_content:
>     deny condition = ${if <{$message_size}{100k}{yes}{no}}
>          condition = ${if eq{$acl_m0}{}{yes}{no}}
>          set acl_m1 = ${perl{surblspamcheck}}
>           condition = ${if eq{$acl_m0}{}{yes}{no}}
>          set acl_m1 = ${perl{surblspamcheck}}
>          condition = ${if eq{$acl_m1}{false}{no}{yes}}
>          message = $acl_m1

>
>      deny message = This message contains a virus or other harmful 
> content ($malware_name)
>                    condition = ${if <{$message_size}{175k}{1}{0}}
>                    demime = *
>                    malware = *

>
>     deny condition = ${if <{$message_size}{100k}{yes}{no}}
>          condition = ${if eq{$acl_m0}{}{yes}{no}}
>          set acl_m1 = ${perl{surblspamcheck}}
>          condition = ${if eq{$acl_m1}{false}{no}{yes}}
>          message = $acl_m1

>
>      warn message = X-Spam-Score: $spam_score
>           spam = exim:true

>
>      warn message = X-Spam-Report: $spam_report
>           spam = exim:true

>
>      warn message = Subject: **** SPAM **** $h_Subject
>           spam = exim

>
>      deny message = This message scored $spam_score spam points.
>           condition = ${if <{$message_size}{975k}{1}{0}}
>           spam = exim:true
>           condition = ${if >{$spam_score_int}{70}{1}{0}}

>
>      accept

>
> ############# ROUTER SETTINGS#######################
> begin routers
> redirect:
>    driver = redirect
>    data = ${lookup{$local_part@$domain}lsearch{/etc/exim/user_alias}}

>
> internal:
>    driver = manualroute
>    domains = +relay_to_domains
>      driver = manualroute
>    domains = +relay_to_domains
>    transport = remote_smtp
>    route_data = ${lookup{$domain}partial-lsearch{/etc/exim/transport}}

>
> external:
>    driver = dnslookup
>    domains = ! +relay_to_domains
>    transport   = remote_smtp
>    ignore_target_hosts   =  0.0.0.0  :  127.0.0.0/8
>    no_more

>
> ############# TRANSPORT SETTINGS####################
> begin transports
>
> remote_smtp:
>    driver = smtp

>
> begin retry
> *                      *           F,2h,15m; G,16h,1h,1.5; F,3d,8h

>
>