# ~/.forward + /etc/aliases = ignored



## vertex (26. Sep. 2014)

Mein Mailsystem weigert sich partout in die Home-Verzeichnisse der Benutzer zu schauen um dort die .forward zu berücksichtigen. Auch die /etc/aliases werden ignoriert (newaliases wurde ausgeführt).

Gesendet wird per "mail usernamex"
/home/usernamex/.forward enthält "xyz@domain.tld" (Postfach über ISPConfig angelegt und funktioniert ansonsten super)
/etc/aliases enthält "root: usernamex" (weil ich eigentlich nur root mails forwarden wollte, was aber weder über aliases noch .forward klappte)
servers@domain.tld ist das Postfach an welches ich (vorerst) root@domain.tld per ISPConfig weitergeleitet habe

Ich kann die Forwarder "irgendeinusername@domain.tld" > "irgendeinpostfach@domain.tld" über ISPConfig anlegen und das funktioniert auch - aber dann kann jeder auch von aussen an root@domain.tld senden. So ist es zwar derzeit (Notlösung), möchte ich aber nicht. Ich möchte nur lokale Mails an root an ein lokales Postfach weiterleiten, was ich sonst einfach mit einer ~/.forward erledigt hab.

Hier /var/log/mail.log

```
Sep 26 22:26:12 hostnamex postfix/pickup[19117]: 941B61230073: uid=0 from=<root>
Sep 26 22:26:12 hostnamex postfix/cleanup[20521]: 941B61230073: message-id=<20140926212612.941B61230073@domain.tld>
Sep 26 22:26:12 hostnamex postfix/qmgr[19118]: 941B61230073: from=<root@domain.tld>, size=412, nrcpt=1 (queue active)
Sep 26 22:26:12 hostnamex postfix/smtpd[20542]: connect from localhost[127.0.0.1]
Sep 26 22:26:12 hostnamex postfix/smtpd[20542]: E7062123006A: client=localhost[127.0.0.1]
Sep 26 22:26:12 hostnamex postfix/cleanup[20521]: E7062123006A: message-id=<20140926212612.941B61230073@domain.tld>
Sep 26 22:26:12 hostnamex postfix/qmgr[19118]: E7062123006A: from=<root@domain.tld>, size=828, nrcpt=1 (queue active)
Sep 26 22:26:13 hostnamex amavis[19418]: (19418-02) Passed CLEAN {RelayedInbound}, <root@domain.tld> -> <usernamex@domain.tld>, Message-ID: <20140926212612.941B61230073@domain.tld>, mail_id: E3wHhquKoUAR, Hits: 0, size: 412, queued_as: E7062123006A, 346 ms
Sep 26 22:26:13 hostnamex postfix/smtpd[20542]: disconnect from localhost[127.0.0.1]
Sep 26 22:26:13 hostnamex postfix/smtp[20522]: 941B61230073: to=<usernamex@domain.tld>, orig_to=<usernamex>, relay=127.0.0.1[127.0.0.1]:10024, delay=0.45, delays=0.1/0/0/0.35, dsn=2.0.0, status=sent (250 2.0.0 from MTA(smtp:[127.0.0.1]:10025): 250 2.0.0 Ok: queued as E7062123006A)
Sep 26 22:26:13 hostnamex postfix/qmgr[19118]: 941B61230073: removed
Sep 26 22:26:13 hostnamex postfix/pipe[20525]: E7062123006A: to=<usernamex@domain.tld>, relay=dovecot, delay=0.12, delays=0.05/0/0/0.07, dsn=5.1.1, status=bounced (user unknown)
Sep 26 22:26:13 hostnamex postfix/cleanup[20521]: 105A51230076: message-id=<20140926212613.105A51230076@domain.tld>
Sep 26 22:26:13 hostnamex postfix/bounce[20527]: E7062123006A: sender non-delivery notification: 105A51230076
Sep 26 22:26:13 hostnamex postfix/qmgr[19118]: 105A51230076: from=<>, size=2519, nrcpt=1 (queue active)
Sep 26 22:26:13 hostnamex postfix/qmgr[19118]: E7062123006A: removed
Sep 26 22:26:13 hostnamex dovecot: lda(servers@domain.tld): sieve: msgid=<20140926212613.105A51230076@domain.tld>: stored mail into mailbox 'INBOX'
Sep 26 22:26:13 hostnamex postfix/pipe[20525]: 105A51230076: to=<servers@domain.tld>, orig_to=<root@domain.tld>, relay=dovecot, delay=0.2, delays=0.05/0/0/0.15, dsn=2.0.0, status=sent (delivered via dovecot service)
Sep 26 22:26:13 hostnamex postfix/qmgr[19118]: 105A51230076: removed
```
Die .forward und aliases werden wohl gar nicht geprüft. Die Mail kommt rein, das Postfach des Linuxbenutzernamens "usernamex" wird @domain.tld gesucht, nicht gefunden, Fehlermail zurück an root (aktueller Sender via Shell), weitergeleitet durch den ISPC forwarder and servers@domain.tld

Braucht man eigentlich noch exim4? Apt sagt es sei nicht installiert - allerdings habe ich lauter exim4 Konfigurationsdateien, in welchen ja auch die userforward-Direktive geregelt wird: /etc/exim4/conf.d/router/600_exim4-config_userforward:  file = $home/.forward
Allerdings funktioniert mein Mailsystem ohne "offiziell installiertes" Exim4, daher hab ich noch nicht probiert es nachzuinstallieren - nacher geht mir dann die Konfiguration flöten?

Hab schon diverse "Ideen" ergoogelt und u. a. auch "eine Leerzeile am Ende der .forward" eingefügt. Nix. Andere Ideen?


----------



## nowayback (27. Sep. 2014)

warum erstellst du nicht einfach in der /etc/aliases dein eintrag:

```
root: deine@mail.adresse
```
?
genauso geht das auch mit anderen systemusern.

grüße
nwb


----------



## vertex (27. Sep. 2014)

Ah du hast Recht, das hätte ich eventuell erwähnen sollen: die /etc/aliases wird ignoriert 
Explizit: Auch der Eintrag einer Mailadresse in der /etc/aliases wird ignoriert. Als ob die Datei leer wäre. In der mail.log (wie oben zu sehen) steht nur der Hinweis, dass linuxusername@domain.tld nicht existiert.


----------



## Till (27. Sep. 2014)

Du schreibst doch:


> /home/usernamex/.forward enthält "xyz@domain.tld" (Postfach über ISPConfig angelegt und funktioniert ansonsten super)


Postfächer in ispconfig und Domains sind virtuelle Postfix User, die haben mit zufällig existierenden gleichnamigen Linux Usern nichts zu tun.
Was Nowayback beschrieben hat ist das richtige setup, Dein Doppelforward macht keinen Sinn. Wenn also das was nowayback geschrieben hat nicht geht, dann solltest Du mal in die postfix main.cf sehen ob Du da das aliases File auskommentiert oder entfernt hast oder ob der Hostname des Servers nicht be myhostname und mydomain drin steht.


----------



## vertex (27. Sep. 2014)

Ja, ihr habt ja Recht mit aliases - aber ob man jetzt .forward oder aliases den Vorzug geben sollte ist ein ganz anderes Thema und funktionieren sollte ja beides. Erstmal sorry dafür, dass ich euch offensichtlich verwirrt habe. Mir ist bekannt wie es sein müsste. Der aktuelle und oben beschriebene IST-Zustand ist das Resultat aus meiner bisherigen Recherche. Nachdem weder noch klappte, fand ich via Google diverse Aussagen, dass man "nicht im /root/.forward forwarden sollte" und dies besser an einen unprivileged user weiterleiten solle, welcher dann die .forward erhält. Daher der "seltsame" Doppelforward (welcher unabhängig seiner Sinnhaftigkeit trotzdem funktionieren sollte). Den Eintrag in der /etc/aliases hatte ich schon davor probiert und dachte es reicht zu erwähnen, dass die aliases ignoriert werden.

Was du mit "zufällig existierenden gleichnamigen Linuxusern" meinst verstehe ich nicht - "usernamex" und "xyz" ist doch nicht gleichnamig? Wenn du dich auf den in ISPConfig angelegten Forwarder root@domain.tld zu xyz@domain.tld beziehst: Auch hier habe ich nur den (unerwünschten) IST-Zustand beschrieben. Ob das jetzt etwas miteinander zutun hat oder nicht: Wenn ich root@ per ISPConfig forwarde, dann kommen die Mails an - tue ich das in der ~/.forward oder der /etc/aliases, dann funktioniert es nicht.

Ich prüfe jetzt erst mal die main.cf - danke für die Anregung.


```
# postconf | grep aliases
alias_database = hash:/etc/aliases, hash:/var/lib/mailman/data/aliases
alias_maps = hash:/etc/aliases, hash:/var/lib/mailman/data/aliases
newaliases_path = /usr/bin/newaliases
```
Was macht denn der mailman da? Den hab ich doch gar nicht installiert..



> oder ob der Hostname des Servers nicht be myhostname und mydomain drin steht.


myhostname = h000.stratoserver.net
mydomain = stratoserver.net

Letztere steht aber nicht in der main.cf, sondern kam nur über postconf. Wird automatisch ermittelt?

Bei mydestination steht der volle Hostname auch mit drinnen, aber wenn ich dort meine gewünschte domain.tld mit eintrage, bekomme ich anschließend die folgende Fehlermeldung in der mail.log

```
Sep 27 12:33:47 h000 postfix/trivial-rewrite[1012]: warning: do not list domain domain.tld in BOTH mydestination and virtual_mailbox_domains
```
Also hab ich es auf h000.stratoserver.net gelassen. "hostname -f" listet auch diesen generischen Hostnamen des Providers.
Sollte ich alles inklusive Hostnamen auf meine domain.tld ändern? Ich verstehe nur noch nicht, was das mit dem Forwarder via .forward oder aliases zutun hat - die müssten ja im Zweifelsfall sogar an @web.de oder sonstwohin weiterleiten können?

Habe gestern übrigens ein Dist Upgrade von squeeze mit Kernel 2.6 auf wheezy mit Kernel 3.2 durchgeführt. Eventuell tut das ja etwas zur Sache..


----------

