[exim] Forwarding mail to gmail.com -- Broken pipe

Kezdőlap
Üzenet törlése
Válasz az üzenetre
Szerző: Egor Ermakov
Dátum:  
Címzett: exim-users
Tárgy: [exim] Forwarding mail to gmail.com -- Broken pipe
Hello all,

I`ve got next exim:

>exim -bV

Exim version 4.63 #0 (FreeBSD 6.1) built 24-Oct-2006 09:40:41
Copyright (c) University of Cambridge 2006
Probably Berkeley DB version 1.8x (native mode)
Support for: crypteq iconv() IPv6 use_setclassresources PAM Perl OpenSSL Content
_Scanning Old_Demime
Lookups: lsearch wildlsearch nwildlsearch iplsearch cdb dbm dbmnz dnsdb dsearch
nis nis0 passwd
Authenticators: cram_md5 plaintext spa
Routers: accept dnslookup ipliteral manualroute queryprogram redirect
Transports: appendfile/maildir/mailstore/mbx autoreply lmtp pipe smtp
Fixed never_users: 0
Size of off_t: 8
Configuration file is /usr/local/etc/exim/configure

running on FreeBSD-6.1-p10

Exim handles several virtual mailboxes, mail from which is delivered
to local users + forwarded to some external mail addresses. And here i
got problems with forwarding message to gmail.com mailboxes. Main exim
log shows broken pipe error, trying to deliver this message using exim
-d+all -M messageId shows this:

21:43:39 69670 Connecting to alt1.gmail-smtp-in.l.google.com
[72.14.205.27]:25 from 212.113.104.1 ... connected
21:43:39 69670 waiting for data on socket
21:43:39 69670 read response data: size=41
21:43:39 69670   SMTP<< 220 mx.google.com ESMTP e17si1829990qbe
21:43:39 69670 72.14.205.27 in hosts_avoid_esmtp? no (option unset)
21:43:39 69670   SMTP>> EHLO smtp.(our_real_domain).net
21:43:39 69670 waiting for data on socket
21:43:39 69670 read response data: size=110
21:43:39 69670   SMTP<< 250-mx.google.com at your service, [212.113.104.1]
21:43:39 69670          250-SIZE 20971520
21:43:39 69670          250-8BITMIME
21:43:39 69670          250 ENHANCEDSTATUSCODES
21:43:39 69670 72.14.205.27 in hosts_require_tls? no (option unset)
21:43:39 69670 not using PIPELINING
21:43:39 69670 72.14.205.27 in hosts_require_auth? no (option unset)
21:43:39 69670   SMTP>> MAIL FROM:<root@smtp.(our_real_domain).net> SIZE=1180892
21:43:39 69670 waiting for data on socket
21:43:41 69670 read response data: size=8
21:43:41 69670   SMTP<< 250 OK
21:43:41 69670   SMTP>> RCPT TO:<tucker102@???>
21:43:41 69670 waiting for data on socket
21:43:41 69670 read response data: size=14
21:43:41 69670   SMTP<< 250 2.1.5 OK
21:43:41 69670   SMTP>> DATA
21:43:41 69670 waiting for data on socket
21:43:42 69670 read response data: size=14
21:43:42 69670   SMTP<< 354 Go ahead
21:43:42 69670   SMTP>> writing message and terminating "."
21:43:42 69670 writing data block fd=8 size=8189 timeout=300
21:43:42 69670 writing data block fd=8 size=8189 timeout=300
21:43:42 69670 writing data block fd=8 size=8189 timeout=300
21:43:42 69670 writing data block fd=8 size=8189 timeout=300
21:43:42 69670 writing data block fd=8 size=8189 timeout=300
21:43:42 69670 writing data block fd=8 size=8189 timeout=300
21:43:43 69670 writing data block fd=8 size=8189 timeout=300
21:43:51 69670 writing data block fd=8 size=8189 timeout=300
21:43:51 69670 writing data block fd=8 size=8189 timeout=300
21:43:51 69670 writing data block fd=8 size=8189 timeout=300
21:43:52 69670 writing data block fd=8 size=8189 timeout=300
21:43:52 69670 writing data block fd=8 size=8189 timeout=300
21:43:52 69670 writing data block fd=8 size=8189 timeout=300
21:43:53 69670 writing data block fd=8 size=8189 timeout=300
21:43:53 69661 selecting on subprocess pipes
21:43:54 69670 writing data block fd=8 size=8189 timeout=300
21:43:54 69670 writing data block fd=8 size=8189 timeout=300
21:43:54 69670 writing data block fd=8 size=8189 timeout=300
21:43:57 69670 writing data block fd=8 size=8189 timeout=300
21:43:57 69670 writing data block fd=8 size=8189 timeout=300
21:44:00 69670 writing data block fd=8 size=8189 timeout=300
21:44:19 69670 writing error 32: Broken pipe
21:44:19 69670 ok=0 send_quit=0 send_rset=1 continue_more=0 yield=1
first_address is NULL
21:44:19 69670 LOG: MAIN
21:44:19 69670   alt1.gmail-smtp-in.l.google.com [72.14.205.27]: Broken pipe


It usually happens with medium and large message (letter with size
less than 100kb is always delivered). As i can see from logs, first
portion of data goes in instant and then delay appears. It may look at
network problem, but there is 2 things:

1. Downloading/uploading large files from/to our SMTP server (via
HTTP/FTP) is working fine. (no problems with 100Mb files)
2. Before Exim, sendmail was used as MTA and i was told that
forwarding to gmail of any messages were working properly.

Do you have any ideas about this issue or any ways that can help to
dig it and figure the problem?


Here is exim config:

primary_hostname = smtp.102x.net

domainlist local_domains = @ : lsearch;/usr/local/etc/exim/virtual/domainslist
domainlist relay_to_domains =
hostlist relay_from_hosts = localhost

acl_smtp_rcpt = acl_check_rcpt
acl_smtp_data = acl_check_data

av_scanner = clamd:/var/run/clamav/clamd

spamd_address = 127.0.0.1 783

exim_user = mailnull
exim_group = mail
never_users = root

host_lookup = *

rfc1413_hosts = *
rfc1413_query_timeout = 5s

ignore_bounce_errors_after = 2d
timeout_frozen_after = 7d

begin acl
acl_check_rcpt:
accept  hosts = :
  deny    message       = Restricted characters in address
          domains       = +local_domains
          local_parts   = ^[.] : ^.*[@%!/|]
  deny    message       = Restricted characters in address
          domains       = !+local_domains
          local_parts   = ^[./|] : ^.*[@%!] : ^.*/\\.\\./
  accept  local_parts   = postmaster
          domains       = +local_domains


  require verify        = sender


  accept  hosts         = +relay_from_hosts
          control       = submission


  accept  authenticated = *
          control       = submission


  require message = relay not permitted
          domains = +local_domains : +relay_to_domains


  require message = unknown user
          verify  = recipient


accept


acl_check_data:
  deny  malware         = *
        message         = Virus ($malware_name) was found. Message rejected.


  warn    spam       = nobody
          add_header = X-Spam_score: $spam_score\n\
                       X-Spam_score_int: $spam_score_int\n\
                       X-Spam_bar: $spam_bar\n\
                       X-Spam_report: $spam_report


  deny  spam    = nobody
        message = This message is considered to be spam. Please, if it
is wrong, re-send plain text message describing problem to same mail
address.
                  condition = ${if >{$spam_score_int}{120}{1}{0}}


accept

begin routers

virtual:
        driver = redirect
        domains = dsearch;/usr/local/etc/exim/virtual
        data = ${lookup{$local_part}lsearch{/usr/local/etc/exim/virtual/$domain}}
        no_more
dnslookup:
  driver = dnslookup
  domains = ! +local_domains
  transport = remote_smtp
  ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8
  no_more


system_aliases:
driver = redirect
allow_fail
allow_defer
data = ${lookup{$local_part}lsearch{/etc/aliases}}
user = mailnull
group = mail
file_transport = address_file
pipe_transport = address_pipe

localuser:
driver = accept
check_local_user
transport = local_delivery
cannot_route_message = Unknown user

begin transports
remote_smtp:
driver = smtp
interface = <; ip.of.our.ext.interface

local_delivery:
driver = appendfile
current_directory = /var/mail/
file = /var/mail/$local_part
delivery_date_add
envelope_to_add
return_path_add
group = mail
user = $local_part
mode = 0660
no_mode_fail_narrower

address_pipe:
driver = pipe
return_output

address_file:
driver = appendfile
delivery_date_add
envelope_to_add
return_path_add

address_reply:
driver = autoreply

begin retry

*                      *           F,2h,15m; G,16h,1h,1.5; F,4d,6h


begin rewrite

begin authenticators


----
ps sorry for my english