Guest User

Untitled

a guest
Oct 21st, 2018
249
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 35.87 KB | None | 0 0
  1. ######################################################################
  2. # Runtime configuration file for Exim #
  3. ######################################################################
  4.  
  5.  
  6. # Please see the manual for a complete list of all the runtime configuration
  7. # options that can be included in a configuration file. There are many more
  8. # than are mentioned here. The manual is in the file doc/spec.txt in the Exim
  9. # distribution as a plain ASCII file. Other formats (PostScript, Texinfo, HTML,
  10. # PDF) are available from the Exim ftp sites. The manual is also online at the
  11. # Exim web sites.
  12.  
  13.  
  14. # This file is divided into several parts, all but the first of which are
  15. # headed by a line starting with the word "begin". Only those parts that
  16. # are required need to be present. Blank lines, and lines starting with #
  17. # are ignored.
  18.  
  19.  
  20. ########### IMPORTANT ########## IMPORTANT ########### IMPORTANT ###########
  21. # #
  22. # Whenever you change Exim's configuration file, you *must* remember to #
  23. # HUP the Exim daemon, because it will not pick up the new configuration #
  24. # until you do. However, any other Exim processes that are started, for #
  25. # example, a process started by an MUA in order to send a message, will #
  26. # see the new configuration as soon as it is in place. #
  27. # #
  28. # You do not need to HUP the daemon for changes in auxiliary files that #
  29. # are referenced from this file. They are read every time they are used. #
  30. # #
  31. # It is usually a good idea to test a new configuration for syntactic #
  32. # correctness before installing it (for example, by running the command #
  33. # "exim -C /config/file.new -bV"). #
  34. # #
  35. ########### IMPORTANT ########## IMPORTANT ########### IMPORTANT ###########
  36.  
  37.  
  38.  
  39. ######################################################################
  40. # MAIN CONFIGURATION SETTINGS #
  41. ######################################################################
  42.  
  43. # Specify your host's canonical name here. This should normally be the fully
  44. # qualified "official" name of your host. If this option is not set, the
  45. # uname() function is called to obtain the name. In many cases this does
  46. # the right thing and you need not set anything explicitly.
  47.  
  48. # primary_hostname =
  49.  
  50.  
  51. # The next three settings create two lists of domains and one list of hosts.
  52. # These lists are referred to later in this configuration using the syntax
  53. # +local_domains, +relay_to_domains, and +relay_from_hosts, respectively. They
  54. # are all colon-separated lists:
  55.  
  56. domainlist local_domains = @
  57. domainlist relay_to_domains =
  58. hostlist relay_from_hosts = 127.0.0.1
  59.  
  60. # Most straightforward access control requirements can be obtained by
  61. # appropriate settings of the above options. In more complicated situations,
  62. # you may need to modify the Access Control Lists (ACLs) which appear later in
  63. # this file.
  64.  
  65. # The first setting specifies your local domains, for example:
  66. #
  67. # domainlist local_domains = my.first.domain : my.second.domain
  68. #
  69. # You can use "@" to mean "the name of the local host", as in the default
  70. # setting above. This is the name that is specified by primary_hostname,
  71. # as specified above (or defaulted). If you do not want to do any local
  72. # deliveries, remove the "@" from the setting above. If you want to accept mail
  73. # addressed to your host's literal IP address, for example, mail addressed to
  74. # "user@[192.168.23.44]", you can add "@[]" as an item in the local domains
  75. # list. You also need to uncomment "allow_domain_literals" below. This is not
  76. # recommended for today's Internet.
  77.  
  78. # The second setting specifies domains for which your host is an incoming relay.
  79. # If you are not doing any relaying, you should leave the list empty. However,
  80. # if your host is an MX backup or gateway of some kind for some domains, you
  81. # must set relay_to_domains to match those domains. For example:
  82. #
  83. # domainlist relay_to_domains = *.myco.com : my.friend.org
  84. #
  85. # This will allow any host to relay through your host to those domains.
  86. # See the section of the manual entitled "Control of relaying" for more
  87. # information.
  88.  
  89. # The third setting specifies hosts that can use your host as an outgoing relay
  90. # to any other host on the Internet. Such a setting commonly refers to a
  91. # complete local network as well as the localhost. For example:
  92. #
  93. # hostlist relay_from_hosts = 127.0.0.1 : 192.168.0.0/16
  94. #
  95. # The "/16" is a bit mask (CIDR notation), not a number of hosts. Note that you
  96. # have to include 127.0.0.1 if you want to allow processes on your host to send
  97. # SMTP mail by using the loopback address. A number of MUAs use this method of
  98. # sending mail.
  99.  
  100. # All three of these lists may contain many different kinds of item, including
  101. # wildcarded names, regular expressions, and file lookups. See the reference
  102. # manual for details. The lists above are used in the access control lists for
  103. # checking incoming messages. The names of these ACLs are defined here:
  104.  
  105. acl_smtp_rcpt = acl_check_rcpt
  106. acl_smtp_data = acl_check_data
  107.  
  108. # You should not change those settings until you understand how ACLs work.
  109.  
  110.  
  111. # If you are running a version of Exim that was compiled with the content-
  112. # scanning extension, you can cause incoming messages to be automatically
  113. # scanned for viruses. You have to modify the configuration in two places to
  114. # set this up. The first of them is here, where you define the interface to
  115. # your scanner. This example is typical for ClamAV; see the manual for details
  116. # of what to set for other virus scanners. The second modification is in the
  117. # acl_check_data access control list (see below).
  118.  
  119. # av_scanner = clamd:/tmp/clamd
  120.  
  121.  
  122. # For spam scanning, there is a similar option that defines the interface to
  123. # SpamAssassin. You do not need to set this if you are using the default, which
  124. # is shown in this commented example. As for virus scanning, you must also
  125. # modify the acl_check_data access control list to enable spam scanning.
  126.  
  127. # spamd_address = 127.0.0.1 783
  128.  
  129.  
  130. # If Exim is compiled with support for TLS, you may want to enable the
  131. # following options so that Exim allows clients to make encrypted
  132. # connections. In the authenticators section below, there are template
  133. # configurations for plaintext username/password authentication. This kind
  134. # of authentication is only safe when used within a TLS connection, so the
  135. # authenticators will only work if the following TLS settings are turned on
  136. # as well.
  137.  
  138. # Allow any client to use TLS.
  139.  
  140. tls_advertise_hosts = *
  141.  
  142. # Specify the location of the Exim server's TLS certificate and private key.
  143. # The private key must not be encrypted (password protected). You can put
  144. # the certificate and private key in the same file, in which case you only
  145. # need the first setting, or in separate files, in which case you need both
  146. # options.
  147.  
  148. tls_certificate = /etc/ssl/ssl.crt
  149. tls_privatekey = /etc/ssl/ssl.key.nopass
  150.  
  151. # In order to support roaming users who wish to send email from anywhere,
  152. # you may want to make Exim listen on other ports as well as port 25, in
  153. # case these users need to send email from a network that blocks port 25.
  154. # The standard port for this purpose is port 587, the "message submission"
  155. # port. See RFC 4409 for details. Microsoft MUAs cannot be configured to
  156. # talk the message submission protocol correctly, so if you need to support
  157. # them you should also allow TLS-on-connect on the traditional but
  158. # non-standard port 465.
  159.  
  160. daemon_smtp_ports = 25 : 465 : 587
  161. tls_on_connect_ports = 465
  162.  
  163.  
  164. # Specify the domain you want to be added to all unqualified addresses
  165. # here. An unqualified address is one that does not contain an "@" character
  166. # followed by a domain. For example, "caesar@rome.example" is a fully qualified
  167. # address, but the string "caesar" (i.e. just a login name) is an unqualified
  168. # email address. Unqualified addresses are accepted only from local callers by
  169. # default. See the recipient_unqualified_hosts option if you want to permit
  170. # unqualified addresses from remote sources. If this option is not set, the
  171. # primary_hostname value is used for qualification.
  172.  
  173. # qualify_domain =
  174.  
  175.  
  176. # If you want unqualified recipient addresses to be qualified with a different
  177. # domain to unqualified sender addresses, specify the recipient domain here.
  178. # If this option is not set, the qualify_domain value is used.
  179.  
  180. # qualify_recipient =
  181.  
  182.  
  183. # The following line must be uncommented if you want Exim to recognize
  184. # addresses of the form "user@[10.11.12.13]" that is, with a "domain literal"
  185. # (an IP address) instead of a named domain. The RFCs still require this form,
  186. # but it makes little sense to permit mail to be sent to specific hosts by
  187. # their IP address in the modern Internet. This ancient format has been used
  188. # by those seeking to abuse hosts by using them for unwanted relaying. If you
  189. # really do want to support domain literals, uncomment the following line, and
  190. # see also the "domain_literal" router below.
  191.  
  192. # allow_domain_literals
  193.  
  194.  
  195. # No deliveries will ever be run under the uids of users specified by
  196. # never_users (a colon-separated list). An attempt to do so causes a panic
  197. # error to be logged, and the delivery to be deferred. This is a paranoic
  198. # safety catch. There is an even stronger safety catch in the form of the
  199. # FIXED_NEVER_USERS setting in the configuration for building Exim. The list of
  200. # users that it specifies is built into the binary, and cannot be changed. The
  201. # option below just adds additional users to the list. The default for
  202. # FIXED_NEVER_USERS is "root", but just to be absolutely sure, the default here
  203. # is also "root".
  204.  
  205. # Note that the default setting means you cannot deliver mail addressed to root
  206. # as if it were a normal user. This isn't usually a problem, as most sites have
  207. # an alias for root that redirects such mail to a human administrator.
  208.  
  209. never_users = root
  210.  
  211.  
  212. # The setting below causes Exim to do a reverse DNS lookup on all incoming
  213. # IP calls, in order to get the true host name. If you feel this is too
  214. # expensive, you can specify the networks for which a lookup is done, or
  215. # remove the setting entirely.
  216.  
  217. host_lookup = *
  218.  
  219.  
  220. # The settings below, which are actually the same as the defaults in the
  221. # code, cause Exim to make RFC 1413 (ident) callbacks for all incoming SMTP
  222. # calls. You can limit the hosts to which these calls are made, and/or change
  223. # the timeout that is used. If you set the timeout to zero, all RFC 1413 calls
  224. # are disabled. RFC 1413 calls are cheap and can provide useful information
  225. # for tracing problem messages, but some hosts and firewalls have problems
  226. # with them. This can result in a timeout instead of an immediate refused
  227. # connection, leading to delays on starting up SMTP sessions. (The default was
  228. # reduced from 30s to 5s for release 4.61.)
  229.  
  230. rfc1413_hosts = *
  231. rfc1413_query_timeout = 5s
  232.  
  233.  
  234. # By default, Exim expects all envelope addresses to be fully qualified, that
  235. # is, they must contain both a local part and a domain. If you want to accept
  236. # unqualified addresses (just a local part) from certain hosts, you can specify
  237. # these hosts by setting one or both of
  238. #
  239. # sender_unqualified_hosts =
  240. # recipient_unqualified_hosts =
  241. #
  242. # to control sender and recipient addresses, respectively. When this is done,
  243. # unqualified addresses are qualified using the settings of qualify_domain
  244. # and/or qualify_recipient (see above).
  245.  
  246.  
  247. # If you want Exim to support the "percent hack" for certain domains,
  248. # uncomment the following line and provide a list of domains. The "percent
  249. # hack" is the feature by which mail addressed to x%y@z (where z is one of
  250. # the domains listed) is locally rerouted to x@y and sent on. If z is not one
  251. # of the "percent hack" domains, x%y is treated as an ordinary local part. This
  252. # hack is rarely needed nowadays; you should not enable it unless you are sure
  253. # that you really need it.
  254. #
  255. # percent_hack_domains =
  256. #
  257. # As well as setting this option you will also need to remove the test
  258. # for local parts containing % in the ACL definition below.
  259.  
  260.  
  261. # When Exim can neither deliver a message nor return it to sender, it "freezes"
  262. # the delivery error message (aka "bounce message"). There are also other
  263. # circumstances in which messages get frozen. They will stay on the queue for
  264. # ever unless one of the following options is set.
  265.  
  266. # This option unfreezes frozen bounce messages after two days, tries
  267. # once more to deliver them, and ignores any delivery failures.
  268.  
  269. ignore_bounce_errors_after = 2d
  270.  
  271. # This option cancels (removes) frozen messages that are older than a week.
  272.  
  273. timeout_frozen_after = 7d
  274.  
  275.  
  276. # By default, messages that are waiting on Exim's queue are all held in a
  277. # single directory called "input" which it itself within Exim's spool
  278. # directory. (The default spool directory is specified when Exim is built, and
  279. # is often /var/spool/exim/.) Exim works best when its queue is kept short, but
  280. # there are circumstances where this is not always possible. If you uncomment
  281. # the setting below, messages on the queue are held in 62 subdirectories of
  282. # "input" instead of all in the same directory. The subdirectories are called
  283. # 0, 1, ... A, B, ... a, b, ... z. This has two benefits: (1) If your file
  284. # system degrades with many files in one directory, this is less likely to
  285. # happen; (2) Exim can process the queue one subdirectory at a time instead of
  286. # all at once, which can give better performance with large queues.
  287.  
  288. # split_spool_directory = true
  289.  
  290.  
  291. # If you're in a part of the world where ASCII is not sufficient for most
  292. # text, then you're probably familiar with RFC2047 message header extensions.
  293. # By default, Exim adheres to the specification, including a limit of 76
  294. # characters to a line, with encoded words fitting within a line.
  295. # If you wish to use decoded headers in message filters in such a way
  296. # that successful decoding of malformed messages matters, you may wish to
  297. # configure Exim to be more lenient.
  298. #
  299. # check_rfc2047_length = false
  300. #
  301. # In particular, the Exim maintainers have had multiple reports of problems
  302. # from Russian administrators of issues until they disable this check,
  303. # because of some popular, yet buggy, mail composition software.
  304.  
  305.  
  306. ######################################################################
  307. # ACL CONFIGURATION #
  308. # Specifies access control lists for incoming SMTP mail #
  309. ######################################################################
  310.  
  311. begin acl
  312.  
  313. # This access control list is used for every RCPT command in an incoming
  314. # SMTP message. The tests are run in order until the address is either
  315. # accepted or denied.
  316.  
  317. acl_check_rcpt:
  318.  
  319. # Accept if the source is local SMTP (i.e. not over TCP/IP). We do this by
  320. # testing for an empty sending host field.
  321.  
  322. accept hosts = :
  323. control = dkim_disable_verify
  324.  
  325. #############################################################################
  326. # The following section of the ACL is concerned with local parts that contain
  327. # @ or % or ! or / or | or dots in unusual places.
  328. #
  329. # The characters other than dots are rarely found in genuine local parts, but
  330. # are often tried by people looking to circumvent relaying restrictions.
  331. # Therefore, although they are valid in local parts, these rules lock them
  332. # out, as a precaution.
  333. #
  334. # Empty components (two dots in a row) are not valid in RFC 2822, but Exim
  335. # allows them because they have been encountered. (Consider local parts
  336. # constructed as "firstinitial.secondinitial.familyname" when applied to
  337. # someone like me, who has no second initial.) However, a local part starting
  338. # with a dot or containing /../ can cause trouble if it is used as part of a
  339. # file name (e.g. for a mailing list). This is also true for local parts that
  340. # contain slashes. A pipe symbol can also be troublesome if the local part is
  341. # incorporated unthinkingly into a shell command line.
  342. #
  343. # Two different rules are used. The first one is stricter, and is applied to
  344. # messages that are addressed to one of the local domains handled by this
  345. # host. The line "domains = +local_domains" restricts it to domains that are
  346. # defined by the "domainlist local_domains" setting above. The rule blocks
  347. # local parts that begin with a dot or contain @ % ! / or |. If you have
  348. # local accounts that include these characters, you will have to modify this
  349. # rule.
  350.  
  351. deny message = Restricted characters in address
  352. domains = +local_domains
  353. local_parts = ^[.] : ^.*[@%!/|]
  354.  
  355. # The second rule applies to all other domains, and is less strict. The line
  356. # "domains = !+local_domains" restricts it to domains that are NOT defined by
  357. # the "domainlist local_domains" setting above. The exclamation mark is a
  358. # negating operator. This rule allows your own users to send outgoing
  359. # messages to sites that use slashes and vertical bars in their local parts.
  360. # It blocks local parts that begin with a dot, slash, or vertical bar, but
  361. # allows these characters within the local part. However, the sequence /../
  362. # is barred. The use of @ % and ! is blocked, as before. The motivation here
  363. # is to prevent your users (or your users' viruses) from mounting certain
  364. # kinds of attack on remote sites.
  365.  
  366. deny message = Restricted characters in address
  367. domains = !+local_domains
  368. local_parts = ^[./|] : ^.*[@%!] : ^.*/\\.\\./
  369. #############################################################################
  370.  
  371. # Accept mail to postmaster in any local domain, regardless of the source,
  372. # and without verifying the sender.
  373.  
  374. accept local_parts = postmaster
  375. domains = +local_domains
  376.  
  377. # Deny unless the sender address can be verified.
  378.  
  379. require verify = sender
  380.  
  381. # Accept if the message comes from one of the hosts for which we are an
  382. # outgoing relay. It is assumed that such hosts are most likely to be MUAs,
  383. # so we set control=submission to make Exim treat the message as a
  384. # submission. It will fix up various errors in the message, for example, the
  385. # lack of a Date: header line. If you are actually relaying out out from
  386. # MTAs, you may want to disable this. If you are handling both relaying from
  387. # MTAs and submissions from MUAs you should probably split them into two
  388. # lists, and handle them differently.
  389.  
  390. # Recipient verification is omitted here, because in many cases the clients
  391. # are dumb MUAs that don't cope well with SMTP error responses. If you are
  392. # actually relaying out from MTAs, you should probably add recipient
  393. # verification here.
  394.  
  395. # Note that, by putting this test before any DNS black list checks, you will
  396. # always accept from these hosts, even if they end up on a black list. The
  397. # assumption is that they are your friends, and if they get onto a black
  398. # list, it is a mistake.
  399.  
  400. accept hosts = +relay_from_hosts
  401. control = submission
  402. control = dkim_disable_verify
  403.  
  404. # Accept if the message arrived over an authenticated connection, from
  405. # any host. Again, these messages are usually from MUAs, so recipient
  406. # verification is omitted, and submission mode is set. And again, we do this
  407. # check before any black list tests.
  408.  
  409. accept authenticated = *
  410. control = submission
  411. control = dkim_disable_verify
  412.  
  413. # Insist that any other recipient address that we accept is either in one of
  414. # our local domains, or is in a domain for which we explicitly allow
  415. # relaying. Any other domain is rejected as being unacceptable for relaying.
  416.  
  417. require message = relay not permitted
  418. domains = +local_domains : +relay_to_domains
  419.  
  420. # We also require all accepted addresses to be verifiable. This check will
  421. # do local part verification for local domains, but only check the domain
  422. # for remote domains. The only way to check local parts for the remote
  423. # relay domains is to use a callout (add /callout), but please read the
  424. # documentation about callouts before doing this.
  425.  
  426. require verify = recipient
  427.  
  428. #############################################################################
  429. # There are no default checks on DNS black lists because the domains that
  430. # contain these lists are changing all the time. However, here are two
  431. # examples of how you can get Exim to perform a DNS black list lookup at this
  432. # point. The first one denies, whereas the second just warns.
  433. #
  434. # deny message = rejected because $sender_host_address is in a black list at $dnslist_domain\n$dnslist_text
  435. # dnslists = black.list.example
  436. #
  437. # warn dnslists = black.list.example
  438. # add_header = X-Warning: $sender_host_address is in a black list at $dnslist_domain
  439. # log_message = found in $dnslist_domain
  440. #############################################################################
  441.  
  442. #############################################################################
  443. # This check is commented out because it is recognized that not every
  444. # sysadmin will want to do it. If you enable it, the check performs
  445. # Client SMTP Authorization (csa) checks on the sending host. These checks
  446. # do DNS lookups for SRV records. The CSA proposal is currently (May 2005)
  447. # an Internet draft. You can, of course, add additional conditions to this
  448. # ACL statement to restrict the CSA checks to certain hosts only.
  449. #
  450. # require verify = csa
  451. #############################################################################
  452.  
  453. # At this point, the address has passed all the checks that have been
  454. # configured, so we accept it unconditionally.
  455.  
  456. accept
  457.  
  458.  
  459. # This ACL is used after the contents of a message have been received. This
  460. # is the ACL in which you can test a message's headers or body, and in
  461. # particular, this is where you can invoke external virus or spam scanners.
  462. # Some suggested ways of configuring these tests are shown below, commented
  463. # out. Without any tests, this ACL accepts all messages. If you want to use
  464. # such tests, you must ensure that Exim is compiled with the content-scanning
  465. # extension (WITH_CONTENT_SCAN=yes in Local/Makefile).
  466.  
  467. acl_check_data:
  468.  
  469. # Deny if the message contains a virus. Before enabling this check, you
  470. # must install a virus scanner and set the av_scanner option above.
  471. #
  472. # deny malware = *
  473. # message = This message contains a virus ($malware_name).
  474.  
  475. # Add headers to a message if it is judged to be spam. Before enabling this,
  476. # you must install SpamAssassin. You may also need to set the spamd_address
  477. # option above.
  478. #
  479. # warn spam = nobody
  480. # add_header = X-Spam_score: $spam_score\n\
  481. # X-Spam_score_int: $spam_score_int\n\
  482. # X-Spam_bar: $spam_bar\n\
  483. # X-Spam_report: $spam_report
  484.  
  485. # Accept the message.
  486.  
  487. accept
  488.  
  489.  
  490.  
  491. ######################################################################
  492. # ROUTERS CONFIGURATION #
  493. # Specifies how addresses are handled #
  494. ######################################################################
  495. # THE ORDER IN WHICH THE ROUTERS ARE DEFINED IS IMPORTANT! #
  496. # An address is passed to each router in turn until it is accepted. #
  497. ######################################################################
  498.  
  499. begin routers
  500.  
  501. # This router routes to remote hosts over SMTP by explicit IP address,
  502. # when an email address is given in "domain literal" form, for example,
  503. # <user@[192.168.35.64]>. The RFCs require this facility. However, it is
  504. # little-known these days, and has been exploited by evil people seeking
  505. # to abuse SMTP relays. Consequently it is commented out in the default
  506. # configuration. If you uncomment this router, you also need to uncomment
  507. # allow_domain_literals above, so that Exim can recognize the syntax of
  508. # domain literal addresses.
  509.  
  510. # domain_literal:
  511. # driver = ipliteral
  512. # domains = ! +local_domains
  513. # transport = remote_smtp
  514.  
  515.  
  516. # This router routes addresses that are not in local domains by doing a DNS
  517. # lookup on the domain name. The exclamation mark that appears in "domains = !
  518. # +local_domains" is a negating operator, that is, it can be read as "not". The
  519. # recipient's domain must not be one of those defined by "domainlist
  520. # local_domains" above for this router to be used.
  521. #
  522. # If the router is used, any domain that resolves to 0.0.0.0 or to a loopback
  523. # interface address (127.0.0.0/8) is treated as if it had no DNS entry. Note
  524. # that 0.0.0.0 is the same as 0.0.0.0/32, which is commonly treated as the
  525. # local host inside the network stack. It is not 0.0.0.0/0, the default route.
  526. # If the DNS lookup fails, no further routers are tried because of the no_more
  527. # setting, and consequently the address is unrouteable.
  528.  
  529. dnslookup:
  530. driver = dnslookup
  531. domains = ! +local_domains
  532. transport = remote_smtp
  533. ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8
  534. no_more
  535.  
  536.  
  537. # Zarafa
  538.  
  539. zarafa:
  540. driver = accept
  541. domains = +local_domains
  542. check_local_user
  543. transport = zarafa_pipe
  544. require_files = +/usr/bin/zarafa-dagent
  545.  
  546.  
  547. # The remaining routers handle addresses in the local domain(s), that is those
  548. # domains that are defined by "domainlist local_domains" above.
  549.  
  550.  
  551. # This router handles aliasing using a linearly searched alias file with the
  552. # name /etc/mail/aliases. When this configuration is installed automatically,
  553. # the name gets inserted into this file from whatever is set in Exim's
  554. # build-time configuration. The default path is the traditional /etc/aliases.
  555. # If you install this configuration by hand, you need to specify the correct
  556. # path in the "data" setting below.
  557. #
  558. ##### NB You must ensure that the alias file exists. It used to be the case
  559. ##### NB that every Unix had that file, because it was the Sendmail default.
  560. ##### NB These days, there are systems that don't have it. Your aliases
  561. ##### NB file should at least contain an alias for "postmaster".
  562. #
  563. # If any of your aliases expand to pipes or files, you will need to set
  564. # up a user and a group for these deliveries to run under. You can do
  565. # this by uncommenting the "user" option below (changing the user name
  566. # as appropriate) and adding a "group" option if necessary. Alternatively, you
  567. # can specify "user" on the transports that are used. Note that the transports
  568. # listed below are the same as are used for .forward files; you might want
  569. # to set up different ones for pipe and file deliveries from aliases.
  570.  
  571. system_aliases:
  572. driver = redirect
  573. allow_fail
  574. allow_defer
  575. data = ${lookup{$local_part}lsearch{/etc/mail/aliases}}
  576. # user = exim
  577. file_transport = address_file
  578. pipe_transport = address_pipe
  579.  
  580.  
  581. # This router handles forwarding using traditional .forward files in users'
  582. # home directories. If you want it also to allow mail filtering when a forward
  583. # file starts with the string "# Exim filter" or "# Sieve filter", uncomment
  584. # the "allow_filter" option.
  585.  
  586. # The no_verify setting means that this router is skipped when Exim is
  587. # verifying addresses. Similarly, no_expn means that this router is skipped if
  588. # Exim is processing an EXPN command.
  589.  
  590. # If you want this router to treat local parts with suffixes introduced by "-"
  591. # or "+" characters as if the suffixes did not exist, uncomment the two local_
  592. # part_suffix options. Then, for example, xxxx-foo@your.domain will be treated
  593. # in the same way as xxxx@your.domain by this router. Because this router is
  594. # not used for verification, if you choose to uncomment those options, then you
  595. # will *need* to make the same change to the localuser router. (There are
  596. # other approaches, if this is undesirable, but they add complexity).
  597.  
  598. # The check_ancestor option means that if the forward file generates an
  599. # address that is an ancestor of the current one, the current one gets
  600. # passed on instead. This covers the case where A is aliased to B and B
  601. # has a .forward file pointing to A.
  602.  
  603. # The three transports specified at the end are those that are used when
  604. # forwarding generates a direct delivery to a file, or to a pipe, or sets
  605. # up an auto-reply, respectively.
  606.  
  607. userforward:
  608. driver = redirect
  609. check_local_user
  610. # local_part_suffix = +* : -*
  611. # local_part_suffix_optional
  612. file = $home/.forward
  613. # allow_filter
  614. no_verify
  615. no_expn
  616. check_ancestor
  617. file_transport = address_file
  618. pipe_transport = address_pipe
  619. reply_transport = address_reply
  620.  
  621. # This router runs procmail if users have a .procmailrc file
  622. procmail:
  623. check_local_user
  624. driver = accept
  625. transport = procmail_pipe
  626. require_files = ${local_part}:+${home}:+${home}/.procmailrc:+/usr/bin/procmail
  627. no_verify
  628.  
  629. # This router runs maildrop if users have a .mailfilter file
  630. maildrop:
  631. check_local_user
  632. driver = accept
  633. transport = maildrop_pipe
  634. require_files = ${local_part}:+${home}:+${home}/.mailfilter:+/usr/bin/maildrop
  635. no_verify
  636.  
  637.  
  638. # This router matches local user mailboxes. If the router fails, the error
  639. # message is "Unknown user".
  640.  
  641. # If you want this router to treat local parts with suffixes introduced by "-"
  642. # or "+" characters as if the suffixes did not exist, uncomment the two local_
  643. # part_suffix options. Then, for example, xxxx-foo@your.domain will be treated
  644. # in the same way as xxxx@your.domain by this router.
  645.  
  646. localuser:
  647. driver = accept
  648. check_local_user
  649. # local_part_suffix = +* : -*
  650. # local_part_suffix_optional
  651. transport = local_delivery
  652. cannot_route_message = Unknown user
  653.  
  654.  
  655.  
  656. ######################################################################
  657. # TRANSPORTS CONFIGURATION #
  658. ######################################################################
  659. # ORDER DOES NOT MATTER #
  660. # Only one appropriate transport is called for each delivery. #
  661. ######################################################################
  662.  
  663. # A transport is used only when referenced from a router that successfully
  664. # handles an address.
  665.  
  666. begin transports
  667.  
  668.  
  669. # This transport is used for delivering messages over SMTP connections.
  670.  
  671. remote_smtp:
  672. driver = smtp
  673.  
  674.  
  675. # This transport is used for local delivery to user mailboxes in traditional
  676. # BSD mailbox format. By default it will be run under the uid and gid of the
  677. # local user, and requires the sticky bit to be set on the /var/mail directory.
  678. # Some systems use the alternative approach of running mail deliveries under a
  679. # particular group instead of using the sticky bit. The commented options below
  680. # show how this can be done.
  681.  
  682. local_delivery:
  683. driver = appendfile
  684. file = /var/mail/$local_part
  685. delivery_date_add
  686. envelope_to_add
  687. return_path_add
  688. # group = mail
  689. # mode = 0660
  690.  
  691.  
  692. # This transport is used for handling pipe deliveries generated by alias or
  693. # .forward files. If the pipe generates any standard output, it is returned
  694. # to the sender of the message as a delivery error. Set return_fail_output
  695. # instead of return_output if you want this to happen only when the pipe fails
  696. # to complete normally. You can set different transports for aliases and
  697. # forwards if you want to - see the references to address_pipe in the routers
  698. # section above.
  699.  
  700. address_pipe:
  701. driver = pipe
  702. return_output
  703.  
  704.  
  705. # This transport is used for handling deliveries directly to files that are
  706. # generated by aliasing or forwarding.
  707.  
  708. address_file:
  709. driver = appendfile
  710. delivery_date_add
  711. envelope_to_add
  712. return_path_add
  713.  
  714.  
  715. # This transport is used for handling autoreplies generated by the filtering
  716. # option of the userforward router.
  717.  
  718. address_reply:
  719. driver = autoreply
  720.  
  721. # This transport is used for procmail
  722. procmail_pipe:
  723. driver = pipe
  724. command = "/usr/bin/procmail -d ${local_part}"
  725. return_path_add
  726. delivery_date_add
  727. envelope_to_add
  728.  
  729. # This transport is used for courier-maildrop filtering (Maildir filter system)
  730. maildrop_pipe:
  731. driver = pipe
  732. command = "/usr/bin/maildrop -d ${local_part}"
  733. return_path_add
  734. delivery_date_add
  735. envelope_to_add
  736.  
  737.  
  738. # Zarafa
  739.  
  740. zarafa_pipe:
  741. driver = pipe
  742. path = "/bin:/usr/bin:/usr/local/bin"
  743. command = "/usr/bin/zarafa-dagent $local_part"
  744. delivery_date_add
  745. envelope_to_add
  746. return_path_add
  747.  
  748. ######################################################################
  749. # RETRY CONFIGURATION #
  750. ######################################################################
  751.  
  752. begin retry
  753.  
  754. # This single retry rule applies to all domains and all errors. It specifies
  755. # retries every 15 minutes for 2 hours, then increasing retry intervals,
  756. # starting at 1 hour and increasing each time by a factor of 1.5, up to 16
  757. # hours, then retries every 6 hours until 4 days have passed since the first
  758. # failed delivery.
  759.  
  760. # WARNING: If you do not have any retry rules at all (this section of the
  761. # configuration is non-existent or empty), Exim will not do any retries of
  762. # messages that fail to get delivered at the first attempt. The effect will
  763. # be to treat temporary errors as permanent. Therefore, DO NOT remove this
  764. # retry rule unless you really don't want any retries.
  765.  
  766. # Address or Domain Error Retries
  767. # ----------------- ----- -------
  768.  
  769. * * F,2h,15m; G,16h,1h,1.5; F,4d,6h
  770.  
  771.  
  772.  
  773. ######################################################################
  774. # REWRITE CONFIGURATION #
  775. ######################################################################
  776.  
  777. # There are no rewriting specifications in this default configuration file.
  778.  
  779. begin rewrite
  780.  
  781.  
  782.  
  783. ######################################################################
  784. # AUTHENTICATION CONFIGURATION #
  785. ######################################################################
  786.  
  787. # The following authenticators support plaintext username/password
  788. # authentication using the standard PLAIN mechanism and the traditional
  789. # but non-standard LOGIN mechanism, with Exim acting as the server.
  790. # PLAIN and LOGIN are enough to support most MUA software.
  791. #
  792. # These authenticators are not complete: you need to change the
  793. # server_condition settings to specify how passwords are verified.
  794. # They are set up to offer authentication to the client only if the
  795. # connection is encrypted with TLS, so you also need to add support
  796. # for TLS. See the global configuration options section at the start
  797. # of this file for more about TLS.
  798. #
  799. # The default RCPT ACL checks for successful authentication, and will accept
  800. # messages from authenticated users from anywhere on the Internet.
  801.  
  802. begin authenticators
  803.  
  804. # PLAIN authentication has no server prompts. The client sends its
  805. # credentials in one lump, containing an authorization ID (which we do not
  806. # use), an authentication ID, and a password. The latter two appear as
  807. # $auth2 and $auth3 in the configuration and should be checked against a
  808. # valid username and password. In a real configuration you would typically
  809. # use $auth2 as a lookup key, and compare $auth3 against the result of the
  810. # lookup, perhaps using the crypteq{}{} condition.
  811.  
  812. #PLAIN:
  813. # driver = plaintext
  814. # server_set_id = $auth2
  815. # server_prompts = :
  816. # server_condition = Authentication is not yet configured
  817. # server_advertise_condition = ${if def:tls_cipher }
  818.  
  819. # LOGIN authentication has traditional prompts and responses. There is no
  820. # authorization ID in this mechanism, so unlike PLAIN the username and
  821. # password are $auth1 and $auth2. Apart from that you can use the same
  822. # server_condition setting for both authenticators.
  823.  
  824. #LOGIN:
  825. # driver = plaintext
  826. # server_set_id = $auth1
  827. # server_prompts = <| Username: | Password:
  828. # server_condition = Authentication is not yet configured
  829. # server_advertise_condition = ${if def:tls_cipher }
  830.  
  831.  
  832. ######################################################################
  833. # CONFIGURATION FOR local_scan() #
  834. ######################################################################
  835.  
  836. # If you have built Exim to include a local_scan() function that contains
  837. # tables for private options, you can define those options here. Remember to
  838. # uncomment the "begin" line. It is commented by default because it provokes
  839. # an error with Exim binaries that are not built with LOCAL_SCAN_HAS_OPTIONS
  840. # set in the Local/Makefile.
  841.  
  842. # begin local_scan
  843.  
  844.  
  845. # End of Exim configuration file
Add Comment
Please, Sign In to add comment