[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [Debian]: Warnungen von Exim lokal zustellen?



On Sun, Jun 06, 1999 at 04:17:21PM +0200, Ulrich Schenck wrote:
> Hallo,
> ich versuche nun schon seit geraumer Zeit exim abzugewöhnen, daß er
> Warnungen (z.B. Nachricht konnte in den letzten xx Stunden nicht
> zugestellt werden) mir über den Umweg des Internets zustellt. Ich
> hätte es gerne, daß solche Nachrichten lokal zugestellt werden.
> 
> Das Problem dürfte in den Rewriting-Regeln stecken, doch alle Veruche
> haben mir nicht weitergeholfen und in den Info-Seiten war (von mir)
> zu der Problematik nichts zu finden. 
> 
> Hat von Euch jemand eine Idee, wie hierfür exim zu konfigurieren ist?

Wenn Du schon mit Deinem Mailprogramm im `From:' Deine volle Adresse (d.h.
mit Domain-Teil gmx.net oder was auch immer) angibst, geht es gar nicht, da
exim das natuerlich fuer eine externe Adresse haelt und als solche nach
"Draussen" weiterleitet.

Wenn Du stattdessen die Umwandlung von lokalen Adressen in externe Adressen
per Rewrite erledigst (was IMHO empfehlenswert ist), gibt es allerdings ein
aehnliches Problem, da die exim die Rewrites direkt bei Empfang einer Mail
ausfuehrt. Wenn exim nun irgendwelche Notifikationsmails losschicken will,
sind die Rewrites also schon lange ausgefuehrt worden, und die Notifika-
tionsmails gehen an die voll qualifizierten Adressen, also wieder nach
"Draussen".

Ich hab bei mir zwei komplett getrennte exim-Konfigurationen fuer lokale
Mails und ausgehende Mails. Das funktioniert so, dass ich von der "normalen"
Konfiguration alle ausgehenden Mails per SMTP auf Port 26 weiterleite
(normal ist ja Port 25), wo exim mit einer anderen Konfiguration sitzt;
insbesondere werden irgendwelche Rewrites erst hier ausgefuehrt. Es hat auch
den Vorteil, dass lokale und ausgehende Mails in komplett separaten Queues
gehalten werden; z.B. kann ich bei mir runq fuer lokale Mails ausfuehren,
ohne dass wenn auch grad ausgehende Mails auf Auslieferung warten,
wegen diald gleich eine PPP-Verbindung hochgefahren wird.

In der normalen Konfiguration (/etc/exim.conf) habe ich dazu einen
entsprechenden Transport eingetragen:

external_delivery:
  driver = smtp
  service = 26

Und die Router-Sektion besteht aus:

forward_external_mail:
  driver = domainlist
  transport = external_delivery
  route_list = * localhost byname
  self = send

end

Rewrites gibt's hier keine. Daneben habe ich eine /etc/exim-external.conf,
die folgendermassen aussieht:


## This is the exim configuration file for external (outgoing) mails.

######################################################################
#                    MAIN CONFIGURATION SETTINGS                     #
######################################################################

## Deliveries to remote domains are queued.
queue_remote = true

## Set Reply-To: on error notifications.
errors_reply_to = matthies@gmx.net

## We won't get messages for local domains.
local_domains =

## We accept mail only from local host.
local_interfaces = 127.0.0.1
sender_host_accept = 127.0.0.1

## Set spool directory.
spool_directory = /var/spool/exim-external

end


######################################################################
#                      TRANSPORTS CONFIGURATION                      #
######################################################################
#                       ORDER DOES NOT MATTER                        #
#     Only one appropriate transport is called for each delivery.    #
######################################################################

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

remote_smtp:
  driver = smtp

end


######################################################################
#                      DIRECTORS CONFIGURATION                       #
#             Specifies how local addresses are handled              #
######################################################################
#                          ORDER DOES MATTER                         #
#   A local address is passed to each in turn until it is accepted.  #
######################################################################

## We don't need any directors.

end


######################################################################
#                      ROUTERS CONFIGURATION                         #
#            Specifies how remote addresses are handled              #
######################################################################
#                          ORDER DOES MATTER                         #
#  A remote address is passed to each in turn until it is accepted.  #
######################################################################

## Send all mail to a smarthost.

smarthost:
  driver = domainlist
  transport = remote_smtp
  route_list = "* m-relay.rz.uni-sb.de bydns_a"

end


######################################################################
#                      RETRY CONFIGURATION                           #
######################################################################

# This single retry rule applies to all domains and all errors. It specifies
# retries every 15 minutes for 2 hours, then increasing retry intervals,
# starting at 2 hours and increasing each time by a factor of 1.5, up to 16
# hours, then retries every 8 hours until 4 days have passed since the first
# failed delivery.

# Domain               Error       Retries
# ------               -----       -------

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

end


######################################################################
#                      REWRITE CONFIGURATION                         #
######################################################################

## Address rewrites.

*@*     matthies@gmx.net        bcfrF

## End of exim configuration file.


Zusaetzlich ist in /etc/services

  smtp-external   26/tcp          mail-external

eingetragen und in /etc/inetd.conf

  smtp-external stream tcp nowait mail /usr/sbin/exim exim -bs -C /etc/exim-external.conf

was exim mit der Zweitkonfiguration unter Port 26 verfuegbar macht.

Schliesslich muss noch /etc/ppp/ip-up.d/exim abgeaendert werden, dass es die
Queue der ausgehenden Mails abarbeitet:

#!/bin/sh

# Flush exim queue
if [ -x /usr/sbin/exim ]; then
        /usr/sbin/exim -C /etc/exim-external.conf -qqf
fi


Meines Wissens gibt es ansonsten mit Exim keine direkte Moeglichkeit, lokale
und ausgehende Mails komplett getrennt zu behandeln.

-- Niklas
------------------------------------------------
Um sich aus der Liste auszutragen schicken Sie
bitte eine E-Mail an majordomo@jfl.de die im Body
"unsubscribe debian-user-de <deine emailadresse>"
enthaelt.
Bei Problemen bitte eine Mail an: Jan.Otto@jfl.de
------------------------------------------------
Anzahl der eingetragenen Mitglieder:     749


Reply to: