Re: 请教局域网内使用exim的问题。
gaochao wrote:
>系统是Debian/sid.
>现在有两台机器,一台是proxy.sczfcpa.com,装了exim4,一台是
>bdc.sczfcpa.com,装了postfix。
>现在我在bdc上用
>mail gaochao@proxy.sczfcpa.com,可以在proxy上收到邮件。
>但是在proxy上用
>mail gaochao@bdc.sczfcpa.com
>却出错,在/var/mail/mail里面可以看到错误信息为:
>
>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:
>
>gaochao@bdc.sczfcpa.com
>Unrouteable address
>
>在 /var/log/exim4/mainlog里面的信息是:
>2004-02-23 10:49:59 1Av6AR-00061o-EX <= root@sczfcpa.com U=root P=local
>S=311
>2004-02-23 10:49:59 1Av6AR-00061o-EX ** gaochao@bdc.sczfcpa.com:
>Unrouteable add
>ress
>
>我对邮件系统不了解,exim4配置的时候选项是将配置文件分割成小的文件,但是
>在exim4启动的时候将这些配置文件重新组合了一下的,因为我在
>/var/lib/exim4/ 下面发现有一个 config.autogenerated 的文件。
>
>我的 /var/lib/exim4/config.autogenerated的文件在附件中:
>
>
>
>
>
>------------------------------------------------------------------------
>
>#########
># WARNING WARNING WARNING
># WARNING WARNING WARNING
># WARNING WARNING WARNING
># WARNING WARNING WARNING
># WARNING WARNING WARNING
># this file is generated dynamically from the files in
># CONFDIR/conf.d/ or /etc/exim4/exim4.conf.template respectively and
># /etc/exim4/update-exim4.conf.conf
># Any changes you make here will be lost.
># See /usr/share/doc/exim4-base/README.Debian.gz and update-exim4.conf(8)
># for instructions of customization.
># WARNING WARNING WARNING
># WARNING WARNING WARNING
># WARNING WARNING WARNING
># WARNING WARNING WARNING
># WARNING WARNING WARNING
>#########
>
>exim_path = /usr/sbin/exim4
>
>CONFDIR = /etc/exim4
>
>MESSAGE_SIZE_LIMIT = 10M
>
>domainlist local_domains = @:sczfcpa.com:localhost:test.com
>
>domainlist relay_to_domains = sczfcpa.com
>
>hostlist relay_from_hosts = 127.0.0.1 : ::::1 : 192.168.0.0/24
>
>qualify_domain = sczfcpa.com
>
>DCreadhost =
>
>DCsmarthost = smtp.sina.com.cn
>
>local_interfaces = 192.168.0.1
>
>LOCAL_DELIVERY=mail_spool
>
>gecos_pattern = ^([^,:]*)
>gecos_name = $1
>
>DCconfig_internet = 1
>
>acl_smtp_rcpt = acl_check_rcpt
>
>acl_smtp_data = acl_check_data
>
>.ifndef DC_minimaldns
>host_lookup = *
>.endif
>
>rfc1413_hosts = *
>rfc1413_query_timeout = 30s
>
>ignore_bounce_errors_after = 2d
>
>timeout_frozen_after = 7d
>
>freeze_tell = postmaster
>
>.ifndef SPOOLDIR
>SPOOLDIR = /var/spool/exim4
>.endif
>spool_directory = SPOOLDIR
>
>trusted_users = uucp
>
>begin acl
>
>acl_whitelist_local_deny:
> accept hosts = ${if exists{CONFDIR/local_host_whitelist}\
> {CONFDIR/local_host_whitelist}\
> {}}
> accept senders = ${if exists{CONFDIR/local_sender_whitelist}\
> {CONFDIR/local_sender_whitelist}\
> {}}
>
>acl_check_rcpt:
> accept hosts = :
>
> deny local_parts = ^.*[@%!/|] : ^\\.
>
> accept local_parts = postmaster
> domains = +local_domains
>
> deny message = sender envelope address $sender_address is locally blacklisted here. If you think this is wrong, get in touch with postmaster
> !acl = acl_whitelist_local_deny
> senders = ${if exists{CONFDIR/local_sender_blacklist}\
> {CONFDIR/local_sender_blacklist}\
> {}}
>
> deny message = sender IP address $sender_host_address is locally blacklisted here. If you think this is wrong, get in touch with postmaster
> !acl = acl_whitelist_local_deny
> hosts = ${if exists{CONFDIR/local_host_blacklist}\
> {CONFDIR/local_host_blacklist}\
> {}}
>
> accept domains = +local_domains
> endpass
> message = unknown user
> verify = recipient
>
> accept domains = +relay_to_domains
> endpass
> message = unrouteable address edit by gc
> verify = recipient
>
> accept hosts = +relay_from_hosts
>
> accept authenticated = *
>
> deny message = relay not permitted
>
>acl_check_data:
>
> accept
>
>begin routers
>
>.ifdef DCconfig_internet
>
>dnslookup_relay_to_domains:
> driver = dnslookup
> domains = ! +local_domains : +relay_to_domains
> transport = remote_smtp
> same_domain_copy_routing = yes
> no_more
>
>dnslookup:
> driver = dnslookup
> domains = ! +local_domains
> transport = remote_smtp
> same_domain_copy_routing = yes
> ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8 : 192.168.0.0/16 :\
> 172.16.0.0/12 : 10.0.0.0/8 : 169.254.0.0/16
> no_more
>
>.endif
>
>.ifdef DCconfig_local
>nonlocal:
> driver = redirect
> allow_fail
> data = :fail: Mailing to remote domains not supported
> no_more
> domains = ! +local_domains
>
>.endif
>
>.ifdef DCconfig_smarthost DCconfig_satellite
>smarthost:
> driver = manualroute
> domains = ! +local_domains
> transport = remote_smtp
> route_list = * DCsmarthost
> host_find_failed = defer
> same_domain_copy_routing = yes
> no_more
>
>.endif
>
>real_local:
> debug_print = "R: real_local for $local_part@$domain"
> driver = accept
> local_part_prefix = real-
> check_local_user
> transport = LOCAL_DELIVERY
>
>system_aliases:
> debug_print = "R: system_aliases for $local_part@$domain"
> driver = redirect
> allow_fail
> allow_defer
> data = ${lookup{$local_part}lsearch{/etc/aliases}}
> file_transport = address_file
>
>.ifdef DCconfig_satellite
>hub_user:
> debug_print = "R: hub_user for $local_part@$domain"
> driver = redirect
> data = ${local_part}@DCreadhost
> check_local_user
>
>.endif
>
>userforward:
> debug_print = "R: userforward for $local_part@$domain"
> driver = redirect
> check_local_user
> file = $home/.forward
> no_verify
> no_expn
> check_ancestor
> allow_filter
> directory_transport = address_directory
> file_transport = address_file
> pipe_transport = address_pipe
> reply_transport = address_reply
> skip_syntax_errors
> syntax_errors_to = real-$local_part@$domain
> syntax_errors_text = \
> This is an automatically generated message. An error has\n\
> been found in your .forward file. Details of the error are\n\
> reported below. While this error persists, you will receive\n\
> a copy of this message for every message that is addressed\n\
> to you. If your .forward file is a filter file, or if it is\n\
> a non-filter file containing no valid forwarding addresses,\n\
> a copy of each incoming message will be put in your normal\n\
> mailbox. If a non-filter file contains at least one valid\n\
> forwarding address, forwarding to the valid addresses will\n\
> happen, and those will be the only deliveries that occur.
>
>procmail:
> debug_print = "R: procmail for $local_part@$domain"
> driver = accept
> check_local_user
> transport = procmail_pipe
> require_files = ${local_part}:${home}/.procmailrc:+/usr/bin/procmail
> no_verify
> no_expn
>
>maildrop:
> debug_print = "R: maildrop for $local_part@$domain"
> driver = accept
> check_local_user
> transport = maildrop_pipe
> require_files = ${local_part}:${home}/.mailfilter:+/usr/bin/maildrop
> no_verify
> no_expn
>
>local_user:
> debug_print = "R: local_user for $local_part@$domain"
> driver = accept
> check_local_user
> local_parts = ! root
> transport = LOCAL_DELIVERY
>
>mail4root:
> debug_print = "R: mail4root for $local_part@$domain"
> driver = redirect
> data = /var/mail/mail
> file_transport = address_file
> local_parts = root
> user = mail
> group = mail
>
>begin transports
>
>address_file:
> debug_print = "T: address_file for $local_part@$domain"
> driver = appendfile
> delivery_date_add
> envelope_to_add
> return_path_add
>
>address_pipe:
> debug_print = "T: address_pipe for $local_part@$domain"
> driver = pipe
> return_fail_output
>
>address_reply:
> debug_print = "T: autoreply for $local_part@$domain"
> driver = autoreply
>
>mail_spool:
> debug_print = "T: appendfile for $local_part@$domain"
> driver = appendfile
> file = /var/mail/$local_part
> delivery_date_add
> envelope_to_add
> return_path_add
> group = mail
> mode = 0660
> mode_fail_narrower = false
>
>maildir_home:
> debug_print = "T: maildir_home for $local_part@$domain"
> driver = appendfile
> directory = $home/Maildir
> delivery_date_add
> envelope_to_add
> return_path_add
> maildir_format
> mode = 0600
> mode_fail_narrower = false
>
>maildrop_pipe:
> debug_print = "T: maildrop_pipe for $local_part@$domain"
> driver = pipe
> path = "/bin:/usr/bin:/usr/local/bin"
> command = "/usr/bin/maildrop"
> return_path_add
> delivery_date_add
> envelope_to_add
>
>procmail_pipe:
> debug_print = "T: procmail_pipe for $local_part@$domain"
> driver = pipe
> path = "/bin:/usr/bin:/usr/local/bin"
> command = "/usr/bin/procmail"
> return_path_add
> delivery_date_add
> envelope_to_add
>
>remote_smtp:
> debug_print = "T: remote_smtp for $local_part@$domain"
> driver = smtp
>hosts_try_auth = DCsmarthost
>
>address_directory:
> debug_print = "T: address_directory for $local_part@$domain"
> driver = appendfile
> envelope_to_add = true
> return_path_add = true
> check_string = ""
> escape_string = ""
> maildir_format
>
>begin retry
>
>* * F,2h,15m; G,16h,1h,1.5; F,4d,6h
>
>begin rewrite
>
>*@+local_domains ${lookup{${local_part}}lsearch{/etc/email-addresses}\
> {$value}fail} Ffrs
>
>*@+local_domains "${if exists {CONFDIR/email-addresses}\
> {${lookup{${local_part}}lsearch{CONFDIR/email-addresses}\
> {$value}fail}}fail}" Ffrs
>
>.ifdef DCconfig_satellite
>*@+local_domains ${local_part}@DCreadhost Ffr
>.endif
>
>begin authenticators
>
>cram_md5:
> driver = cram_md5
> public_name = CRAM-MD5
> client_name = ${extract{1}{:}{${lookup{$host}lsearch*{CONFDIR/passwd.client}{$value}fail}}}
> client_secret = ${extract{2}{:}{${lookup{$host}lsearch*{CONFDIR/passwd.client}{$value}fail}}}
>
>plain:
> driver = plaintext
> public_name = PLAIN
> client_send = "${if !eq{$tls_cipher}{}{\
> ^${extract{1}{::}\
> {${lookup{$host}lsearch*{CONFDIR/passwd.client}{$value}fail}}}\
> ^${extract{2}{::}\
> {${lookup{$host}lsearch*{CONFDIR/passwd.client}{$value}fail}}}\
> }fail}"
>
>login:
> driver = plaintext
> public_name = LOGIN
> client_send = ": ${extract{1}{::}{${lookup{$host}lsearch*{CONFDIR/passwd.client}{$value}fail}}} : ${extract{2}{::}{${lookup{$host}lsearch*{CONFDIR/passwd.client}{$value}fail}}}"
>
>
>
>
呵呵,和Exim无关,是postfix的配置问题,我的postfix配置是 mynetworks =
127.0.0.0/8,只能接收到本地的邮件了。
Reply to: