• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Postfix + lokale Mailzustellung

Status
Für weitere Antworten geschlossen.
Hi zusammen,

ich hab mir nen Mailserver gebastelt:
- fetchmail holt pop3 ab
- dovecot stellt sie via IMAP bereit
- Postfix sendet über 1und1

Soweit tut es eigentlich. Ich kann Senden, Empfangen, zugreifen.
Nur wenn ich ne email an nen User im Netz schicken will, dann geht sie direkt zu 1und1.
Aber eigentlich sollte sie lokal zugestellt werden.
Hier mal die Standard main.cf. Gestern hatte ich einiges Probiert dann ging nix mehr. Nun wieder die default.main.cf genommen und angepasst. Jetzt ist sie ein bischen abgespeckter

Code:
alias_maps = hash:/etc/aliases
biff = no
canonical_maps = hash:/etc/postfix/canonical
command_directory = /usr/sbin
config_directory = /etc/postfix
daemon_directory = /usr/lib/postfix
debug_peer_level = 2
defer_transports =
disable_dns_lookups = no
disable_mime_output_conversion = no
home_mailbox = mails/
html_directory = /usr/share/doc/packages/postfix/html
inet_interfaces = all
inet_protocols = all
mail_owner = postfix
mail_spool_directory = /var/mail
mailbox_command =
mailbox_size_limit = 0
mailbox_transport =
mailq_path = /usr/bin/mailq
manpage_directory = /usr/share/man
masquerade_classes = envelope_sender, header_sender, header_recipient
masquerade_domains =
masquerade_exceptions = root
message_size_limit = 10240000
mydestination = $myhostname, localhost.$mydomain,
mydomain = knownosilence.com
myhostname = mail.knownosilence.com
mynetworks = 192.168.2.0/24, 127.0.0.0/8
newaliases_path = /usr/bin/newaliases
queue_directory = /var/spool/postfix
readme_directory = /usr/share/doc/packages/postfix/README_FILES
relayhost = smtp.1und1.com
relocated_maps = hash:/etc/postfix/relocated
sample_directory = /usr/share/doc/packages/postfix/samples
sender_canonical_maps = hash:/etc/postfix/sender_canonical
sendmail_path = /usr/sbin/sendmail
setgid_group = maildrop
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/smtp_auth
smtp_sasl_security_options = noanonymous
smtp_use_tls = no
smtpd_client_restrictions =
smtpd_helo_required = yes
smtpd_helo_restrictions = reject_invalid_hostname
smtpd_recipient_restrictions = permit_mynetworks,reject_unauth_destination
smtpd_sasl_auth_enable = no
smtpd_sender_restrictions = hash:/etc/postfix/access
smtpd_use_tls = no
strict_8bitmime = no
strict_rfc821_envelopes = no
transport_maps = hash:/etc/postfix/transport
unknown_local_recipient_reject_code = 550

Danke schonmal ;-)
 
Hast Du in der /etc/aliases die lokalen Benutzer entsprechend eingerichtet, dass user@mail.de auf user@hostname.mydomain umgeleitet wird? Oder versendest Du die Mails an die lokalen user schon in der Form user@hostname.mydomain?
 

framp

Moderator
Teammitglied
Genau dasselbe Problem hatte ich auch und es hat gedauert bis ich das hinbekommen habe :lol:

Leider muss ich gestehen, dass ich nicht mehr im einzelnen weiss was ich gemacht habe um das zu erreichen und ich bin auch kein Postfix/eMail Guru.

Unter http://www.framp.de/linux/?Server_Services:Mailserver steht meine main.cf und ich habe festgestellt, dass es zu Deiner kleine Unterschiede gibt.

Du musst meine nur von der Kommentaren befreien und alphabetisch sortieren und solltest sie dann leicht mit Deiner vergleichen koennen. :wink:
 
OP
M

montykarlo

Newbie
Hi,
das ging aber flott.

Nein ich verschicke mit user@mail.de. Mit user@hostname.mydomain
meint Postfix dass die local user table nicht gepflegt wurde. Stimmt ja auch denn die Aliase hab ich nicht gepflegt.
Ich dachte die brauche ich nur wenn ich auf ganz andere Adressen umleiten möchte. Mail an root soll auch an user1 gehen.
Erkennt er nicht anhand von mydomain dass es lokal zugestellt werden müsste?
Mit der Alias muss ich ja jeden user darin eintragen.

Gruß Monty
 

framp

Moderator
Teammitglied
montykarlo schrieb:
Nein ich verschicke mit user@mail.de.
Du meinst wohl user@knownosilence.com :roll:

So geht es bei mir auch: Wenn ich was an die externe eMailAdresse user@knownosilence.com schicke landet das bei mir lokal und geht nicht zum Provider raus.
 
OP
M

montykarlo

Newbie
Ja - um username einen alias vorname.nachname zu geben. Aber sonst nichts.

Warum machst du nicht gleich ne Adresse mit vorname.nachname ??

ich hatte gestern auch mit
default_transport = smtp
local_transport = local
getestet. Aber immer kam die Meldung mit der local tabele. Dass läßt schon in die Richtung aliase gehen. Aber das kann ich mir nicht vorstellen das es nur so geht.
 
OP
M

montykarlo

Newbie
ich I****
habe mails an user@hostname.domain mit dem mailnamen geschickt und nicht mit dem linux-user name. Mit dem Linux User Name geht es natürlich.
Und genau in der selben art und weise hatte ich gestern die aliase gepflegt.
Harrgghh
Jetzt check ich es nochmal mit aliase.
Moment
 
Was Du noch mal versuchen kannst, ist in der Zeile 'mydestination = ...' deinen Hostnamen expiziet mit aufzulisten und nicht nur auf die Variable $myhostname zu vertrauen. Ebenso erweiter die Zeile mal um den Eintrag 'localhost' ohne .$mydomain dabei.

Also 'mydestination = HOSTNAME, $myhostname, localhost.§mydomain, localhost,'

[Edit] OK vergiß es, ich habe deinen Post mit der Lösung erst gesehen als ich meinen Post schon abgeschickt hatte.[/Edit]
 
OP
M

montykarlo

Newbie
Nein geht nicht.
D.H es geht mit user@hostname.domain aber nicht mit user@email.de

Vielleicht mache ich auch die aliase falsch.
Ich trage sie so ein:

linuxuser1: user1@email.de
linuxuser2: user2@email.de

Stimmt doch oder?
Das mit MY Destination hatte ich schon getestet. Ohne Erfolg
Mit postconf mydomain spuckt er den richtigen namen aus...
 

framp

Moderator
Teammitglied
Wie gesagt habe ich bei mir keine aliase eingesetzt.

Meine externe domain ist hugo.de, meine lokale hugo.local, und wenn ich eMails an fritz@hugo schicke werden die lokal delivered. Alle anderen emails werden an den Provider geschickt. Ich denke das ist es was Du willst.

Sorry: Ich kann Dir nichts weiter anbieten als meine main.cf zum Vergleich :cry: .
 
OP
M

montykarlo

Newbie
JA das ist genau das was ich will.
Aber meine aliase sind richtig gepflegt oder?
Übrigens nett HP. Da lohn es sich öfter mal vorbei zu schauen
Ich nehme jetzt nochmal in ruhe deine main zur hand.
 
montykarlo schrieb:
linuxuser1: user1@email.de
linuxuser2: user2@email.de
Auf diese Art und Weise werden Mails an linuxuser an user1@email.de "umgemapt". Du willst doch aber erreichen das Mails an user1@email.de an linuxuser1 geleitet werden, oder nicht? Also mußt Du die Einträge umdrehen.

Du hast doch auch einen Eintrag 'root: user' der dafür sorgt das Mails die an root gerichtet sind, an einen lokalen User geleitet werden. Und denk daran die Einträge in eine Datenbankform zu bringen, zB durch den Befehl 'newaliases'.
 
OP
M

montykarlo

Newbie
1000 Dank!!
Das war das Problem. Ich hatte es schon andersrum probiert, aber immer mit @email.de. Dann hat postalias immer gemeckert.
Jetzt fällt mir aber ein dass ich das auch mal gelesen habe irgendwo.

So nun müßte ich aber immer die Alias Pflegen. Framp meint er tut das bei sich nicht.
Ich kann damit aber leben.
Aber es gibt bestimmt noch ne Lösung ohne Aliase. Ich denke an große Mailserver in Firmen oder Unis...

Nun ja DANKE !!! nochmal euch allen. Die Nacht ist gerettet.
In diesem Sinne gute Nacht
Monty
 

stka

Guru
Bei Postfix werden in der /etc/postfix/virtual alle Domänen eingetragen für die der Postfix verantwortlich ist. Kommt jetzt eine Mal an die eigene Domäne, wir diese sofort wieder verteilt und nicht an den Relayhost gesendet. Einfach für jede Domäne den folgenden Eintrag in der virtual erstellen:
domaene1.de anything
domaene2.de anything
.
.
.
 

framp

Moderator
Teammitglied
stka schrieb:
Bei Postfix werden in der /etc/postfix/virtual alle Domänen eingetragen für die der Postfix verantwortlich ist. Kommt jetzt eine Mal an die eigene Domäne, wir diese sofort wieder verteilt und nicht an den Relayhost gesendet. Einfach für jede Domäne den folgenden Eintrag in der virtual erstellen:
domaene1.de anything
domaene2.de anything.
Bei mir ist die virtual leer und trotzdem funktioniert es by magic :roll:
 

stka

Guru
@framp dann hast du deine Domänen über mydestination eingetragen oder? Das soll man aber nicht tun, da für diese Aufgeben die virtual da ist
 

framp

Moderator
Teammitglied
Bei mir steht
Code:
mydestination = $myhostname, localhost.$mydomain, $mydomain
.

Gibt es einen zwingenden Grund das auf Virtual zu aendern (Security, performance, ...) ? Wenn nicht halte ich mich lieber an NTARS. Hat lange genug gedauert bis ich es hinbekommen habe :wink:
 
Status
Für weitere Antworten geschlossen.
Oben