Kleiner Mailserver unter Debian Lenny

A

Angel

Foren As
Hallo Leute, ich wollte mir einen kleinen Email Server für 4 - 5 Personen aufbauen. Okay, Email-Server ist (wenn ich das richtig gelesen habe) das falsche Wort! Es geht um einen "Smart-Host"!

Also, folgende Dienste habe ich mir angeschaut,
- Postfix
- Dovecot (wegen sieve)
- Getmail (abholen der Mails von gmx etc.)

Und dann vielleicht noch "spamassassin". Grund für mein kleines Projekt ist, wir haben in der Firma noch einen etwas älteren PC Stehen, den ich gerne als Mail-Server ummodeln möchte. Sprich, der Server holt alle Emails von unseren Konten vom WebSpace ab mit "getmail", teilt die dann den entsprechenden Konten zu und gut.

Postfix ist ja, wenn ich mich nicht irre.. Dazu da, wenn ein Mitarbeiter über den Server eine Email versenden will. Sprich von A zu B (Server intern), ODER halt nach draußen. Dovecot greift sogar auf "~/mail" zu für die Benutzer UND getmail holt auch die Emails ab, was jetzt noch nicht geht ist Postfix :D

Wenn ich Domain / Server-Intern eine Email versende, landet diese im "/var/mail", was ich ja gar nicht möchte :( Um das versenden zu externen Adressen hab ich mich noch nicht gekümmert, da mein Problem erst mal das speichern in "/var/mail" mein Problem ist. Gibt es da vielleicht eine schicke Lösung?

Zumal ich das gleiche "Projekt" anschließend auch für mich privat nutzen möchte :)
Ziel ist es also, Emails werden via POP3 vom Webspace geholt, Haus-Intern gespeichert, und dann wird Haus-Intern via IMAP darauf zugegriffen von den Windows Clients (Thunderbird!)

Aktuell haben wir so etwas auf Windows-Basis von einem Vorgänger, da läuft ein Kerio Connect auf dem Server, und die Clients haben Thunderbird, aber irgend wie gibt es oft Verbindungsprobleme. Denke mal der Kerio taugt nicht so viel, ODER hat mit den ca. 20.000 Emails (aktuell) pro Ordner, Probleme!

So, ich hoffe man kann mir mal ein wenig helfen und mir sagen was ich einstellen müsste. Da ich meinen Postfix auch schon einmal kaputt machte, hab ich die Grundeinstellung der main.cf wieder eingebunden und nur den "home_mailbox" eingefügt.

So sieht sie im Moment aus...
Code:
# Debian specific:  Specifying a file name will cause the first
# line of that file to be used as the name.  The Debian default
# is /etc/mailname.
#myorigin = /etc/mailname

smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no

# appending .domain is the MUA's job.
append_dot_mydomain = no

# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h

readme_directory = no

# TLS parameters
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.
# alias_maps = hash:/etc/aliases

myhostname = ****.de
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = ****.de, localhost
relayhost = mail.****.de
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all

# Verzeichniss für Mails
home_mailbox = Maildir/
So, ich hoffe ich habe nichts vergessen.. und man kann mir helfen :)
Mfg. Angel
 
doc

doc

Kaffeetrinker
gut ist vieleicht etwas overpowerd, aber er scheint mir doch ein anfänger zu sein und dieses tutorial beschreibt wunderbar wie und warum man etwas zu machen hat, und sollte meines erachtens pflichtlektüre sein.

ausserdem wird dort beschrieben wie man dovecot als lda konfiguriert, denn sein gegenwärtiges problem ist nicht wirklich postfix sondern der lda und da nimmt er hier procmail

mailbox_command = procmail -a "$EXTENSION"

dovecot als lda wäre im hinblick auf sieve wesentlich sinnvoller
 
A

Angel

Foren As
Das klingt vielleicht doof.. Aber ich hab schon gesehen das ich bei "mailbox_command" den dovecot eintragen soll, damit er die mails richtig verteilt. Ich hab da auch in der einen oder anderen Anleitung was gefunden, wo dann was mit dovecot dort in der Zeile steht. Das hab ich dann auch eingetragen, aber da passierte dann nichts. Denke mal, dass ich den LDA in der config von dovecot selbst noch konfigurieren muss.

Denn Postfix muss ja wissen das er dovecot als verteiler nehmen soll, und dovecot muss ja dann auch wissen das er postix zulassen darf / soll. Aber gut, das tutorial werde ich mir mal ansehen. Ich muss es ja nicht so groß dimensioniert machen wie in dem Tutorial selbst. Denn, sonst könnte ich ja auch gleich ein anderes Tutorial raus suchen und versuchen Postfix mit SQL zu verknüpfen, für die Accounts :D

So etwas hab ich auch schon mal gemacht. Ich hatte mir nämlich mal einen vServer gemietet und damit ein wenig gearbeitet, aber irgend wann stellte ich ihn wieder ab, weil mir die Zeit fehlte :)

Gruß, Angel
 
saeckereier

saeckereier

Graue Eminenz
Die verlinkte Anleitung ist absolut das richtige für dich. Das einzige was - glaube ich - nicht beschrieben wird, ist das Abholen mit getmail, das sollte aber wenn der Rest klappt kein Problem sein. Das Tutorial ist so geschrieben, das man beim Umsetzen eine Menge lernt. Man liest aus den Posts heraus, dass du z.B. die Aufgabe von Postfix noch nicht 100%ig verstanden hast. Statt getmail würde ich evtl. fetchmail einsetzen, ich habe mal überlegt von fetchmail auf getmail umzusteigen, bin dann aber wieder davon ab, warum weiss ich leider nicht mehr.

Ach ja, falls du eine dynamische IP-Adresse haben solltest, wird es sehr wahrscheinlich nötig, ein SMTP-Relay zu verwenden, da Internet-Mailserver Mails von deinem Postfix nicht akzeptieren werden. Aber darüber kann man reden, wenn du den Mailserver soweit aufgesetzt hast. DAs schöne an dem Tutorial ist, dass es auch die Verzahnung der einzelnen Tools gut beleuchtet.
 
sinn3r

sinn3r

Law & Order
Moderator
Falls ihr einen Geschäftskundenvertrag mit eurem Provider habt, könnt ihr idR auch eine feste IP für einen kleinen Obulus dazu buchen. Die müsst ihr dann allerdings oft noch auf eine Spamwhitelist setzen, damit eure Mail auch angenohmen werden.
 
A

Angel

Foren As
Ach ja, falls du eine dynamische IP-Adresse haben solltest, wird es sehr wahrscheinlich nötig, ein SMTP-Relay zu verwenden
Joa, ich weiß.. DNS-RBLs ist hier glaube ich das richtige Thema, aber ich wollte sowieso einen SMTP-Relay verwenden, damit der Server von außen aus dem Internet nicht direkt erreichbar ist.

Und das Postfix nur ein MTA ist, ist mir ja bewusst.. Manchmal bringe ich die ganzen trotzdem durcheinander, und verhaspele mich dann selbst. Was getmail und fetchmail angeht, da hab ich mich jetzt auf getmail eingelassen, weil ich nicht mehr weiß was ich vor über einem Jahr (privat) über eine virtuelle Maschine verwendet hatte :D

Es funktioniert ja auch schon fast alles, getmail ruft die Emails ab, packt sie in das richtige maildir und via dovecot kann ich sogar diese emails abrufen :) Postfix muss ich halt nur noch erklären das er als Verteiler (für die Zuordnung?) den dovecot nutzen soll. Damit die Mails dann im richtigen Verzeichnis landen (wenn es Server intern ist), und wenn eine Adresse nicht auf dem Server ist, soll er einen Relay-Server verwenden.

Aber da ich ja erst seit 40min im Büro sitze, komme ich jetzt erst dazu mich mal mit den Anleitungen zu beschäftigen. Wenn es dann weitere Fragen gibt schreie ich und hoffe ich konnte ein wenig "Aufklärung" betreiben. Ich wollte damit eigentlich nur sagen, dass ich mich damit schon öfters mal befasst habe, da es aber keine Routine von mir ist, werfe ich schon mal ganz gerne was durcheinander :)

Schon mal ein Danke an Euch für die "stille" Anteilnahme :)
Mfg. Angel

Nachtrag1: Joa, also die Emails versendet er und dovecot teilt diese sogar zu :)
Code:
Jan  5 11:59:25 email deliver(dominik): msgid=<1283225000.20110105115951@***.de>: saved mail to INBOX
Jan  5 11:59:25 email postfix/qmgr[2716]: 1A776CA326: from=<dominik.xxx@***.de>, size=602, nrcpt=1 (queue active)<22>Jan  5 11:59:25 postfix/qmgr[2716]: 1A776CA326: removed
Jan  5 11:59:25 email postfix/local[2752]: 1A776CA326: to=<dominik@***.de>, orig_to=<dominik.xxx@***.de>, relay=local, delay=0.05, delays=0.01/0/0/0.04, dsn=2.0.0, status=sent (delivered to command: /usr/lib/dovecot/deliver)
Nächstes Ziel für mich ist es, die Geschichte mit dem reley zum laufen zu bekommen, aber da gab es vorhin schon ein paar Fehler als ich das nur mal durchflogen hatte.. Und war zwar es ein Fehler "554 relay access denied" und ich hoffe das liegt nicht daran, dass sich die User mit der kompletten Email Adresse als User anmelden müssen...

Nachtrag2: Genau das war die Meldung die ich permanent bekomme... :D
Code:
Jan  5 12:19:56 email postfix/smtpd[3024]: NOQUEUE: reject: RCPT from unknown[192.168.1.101]: 554 5.7.1 <d.xxx@****.de>: Relay access denied; from=<dominik.xxx@****.de> to=<d.xxx@****.de> proto=ESMTP helo=<[192.168.1.101]>
 
Zuletzt bearbeitet:
A

Angel

Foren As
Ahhhh... Ich hab es hinbekommen :) Man kann intern Emails versenden, die werden Server-Intern versendet, und wenn ich eine Email an eine Domain sende, die nicht auf dem Server ist, wird diese an den Server des ISP versendet :)

Das einzige Problem was ich jetzt noch habe, ist das SASL Auth.. :( Aktuell steht folgendes bei mir in der main.cf Spalte für das Setting vom Smarthost...
Code:
# Setting für Smarthost (Relayhost)
relayhost = mail.***.de:25
smtp_sasl_auth_enable = no
smtp_sasl_password_maps = hash:/etc/postfix/smtp_auth
smtp_sasl_security_options = noanonymous

Ich hatte es erst über folgende Einstellungen Versucht,
Code:
# Setting für Smarthost (Relayhost)
relayhost = mail.***.de:587
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/smtp_auth
smtp_sasl_security_options = noanonymous
aber das ging nicht... und in der mail.log steht folgendes...
Code:
Jan  5 13:38:49 email postfix/smtp[1910]: warning: SASL authentication failure: No worthy mechs found
Jan  5 13:38:49 email postfix/smtp[1910]: 5E558CA326: to=<d.xxx@****.de>, relay=mail.****.de[xx.xx.xx.xx]:587, delay=0.79, delays=0.04/0.08/0.67/0, dsn=4.7.0, status=deferred (SASL authentication failed; cannot authenticate to server mail.****.de[xx.xx.xx.xx]: no mechanism available)
Kann man mir dabei auch noch helfen? :)

Nachtrag: Bevor ich es vergesse, die Frau vom Chef hat auch eine Email Adresse von uns bekommen. DIE läuft aber nicht über unseren Server im Büro, sondern das Konto bleibt beim Provider! Kann ich das irgend wie einstellen, wenn ********** nicht auf dem Server existiert, dass er diese Email dann an den Relay-Host schickt? :) Oder von mir aus auch an den MX :)
 
Zuletzt bearbeitet:
A

Angel

Foren As
Hm.. Jetzt hab ich einen "Hänger", aber ist das Problem was ich da oben habe.. nicht ehr ein auth Problem von dem localen Postfix, zum relayhost?
 
N

NoXqs

Routinier
Hm.. Jetzt hab ich einen "Hänger", aber ist das Problem was ich da oben habe.. nicht ehr ein auth Problem von dem localen Postfix, zum relayhost?

Hast du
Code:
 smtp_sasl_type = $value
in der main.cf gesetzt?
Mach mal
Code:
 grep smtp_sasl /etc/postfix/main.cf
und lass mal sehen was alles gesetzt ist und was nicht.
Außerdem empfehle ich mal dieses Doc für die postfix konfiguration:
main.cf
 
A

Angel

Foren As
Also...
Code:
email:~# grep smtp_sasl /etc/postfix/main.cf
smtp_sasl_auth_enable = no
smtp_sasl_password_maps = hash:/etc/postfix/smtp_auth
smtp_sasl_security_options = noplaintext noanonymous
Das habe ich aktuell gesetzt, so funktioniert es schon mal mit dem versenden von Emails, an Adressen die nicht auf dem Server liegen.

Die Anleitung für die main.cf hab ich mir schon angeschaut und hier ein wenig liegen, wobei ich parallel immer wieder schaue, dass ich was in *german* finde, ich kann zwar englisch, aber das beste ist es nun auch nicht :D
 
N

NoXqs

Routinier
Nun noch ein
Code:
 postconf -A
denn
smtp_sasl_type (default: cyrus)

The SASL plug-in type that the Postfix SMTP client should use for authentication. The available types are listed with the "postconf -A" command.

This feature is available in Postfix 2.3 and later.

Ich vermute, da du dovecot einsetzt, wird bei dir "dovecot" ausgegeben.
Setze den Schalter, dadurch sollte er zumindest die erste Fehlermeldung nicht mehr bringen, denn die method ist dem smtp-client dann bekannt.

Setzt du SASL denn auch für die interne Authentifizierung ein?
Ist das alles schon korrekt konfiguriert?
Sonst SASL-Postfix-Doku
 
saeckereier

saeckereier

Graue Eminenz
Das wäre mir neu, dass dovecot sasl auch beim Versenden unterstützt also smtp und nicht smtpd. Ist das neu? Meiner Meinung nach braucht man dafür nach wie vor cyrus-sasl
 
N

NoXqs

Routinier
Kann gut sein. Ich habe bisher nur cyrus-sasl genutzt und hätte gedacht, dass dovecot beides unterstützt.
War vielleicht etwas einfach gedacht....
 
saeckereier

saeckereier

Graue Eminenz
Das war leider schon immer das Problem mit dovecot. Man kann aber wunderbar dovecot für die interne Authentifizierung nehmen und cyrus dann für die externe.
 
A

Angel

Foren As
Ich vermute, da du dovecot einsetzt, wird bei dir "dovecot" ausgegeben.
Öhm, da muss ich leider ein "veto" einreichen :)
Code:
email:~# postconf -A
cyrus
Ich habe gestern Abend noch einmal kurz etwas gesucht.. Denn, wie man vielleicht gesehen hat, ist es mir noch unverständlich was das versenden meiner Emails vom lokalen SMTP an den externen SMTP mit dovecot zu tun hat :D
-> Hier

Als ich vor ungefähr einem Jahr einen Ubuntu-Server zuhause aufgesetzt hatte, hab ich mich damit schon mal befasst, und diese Zeichnung blieb mir im Kopf! Klar denkt man sich jetzt bestimmt "hää, was will er?" aber daran liegt es warum ich gerade ein wenig verwirrt bin :(

Setzt du SASL denn auch für die interne Authentifizierung ein?
Also da der Server (IMAP Dienst) von außen gar nicht zugänglich ist (außer über VPN), hab ich folgendes in meiner dovecot.conf, ich hab mal die mit # auskommentierten Dinger weg gelassen :)
Code:
protocols = imap
disable_plaintext_auth = no
log_timestamp = "%Y-%m-%d %H:%M:%S "
mail_location = maildir:%h/mails
mail_privileged_group = mail
protocol imap {
 
}
protocol pop3 {
 pop3_uidl_format = %08Xu%08Xv
}
protocol managesieve {
 sieve=~/.dovecot.sieve
 sieve_storage=~/sieve
}
protocol lda {
 postmaster_address = postmaster@****.de
 mail_plugins = cmusieve
}
auth default {
 mechanisms = plain
 passdb pam {
  
 }
 userdb passwd {

 }
}
plugin {
 
}
Klar, steht noch nicht viel drin.. Bin ja auch noch am Anfang und der Server muss ja nicht von heute auf morgen stehen.. Übermorgen reicht :) und wenn ich schon mal bei den config Dateien bin, hier noch kurz meine main.cf
Code:
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no

append_dot_mydomain = no

recipient_delimiter = +
readme_directory = no

myhostname = ****.local
mydomain = ****.local
myorigin = $mydomain
mydestination = localhost, $mydomain
mynetworks = 127.0.0.0/8, 192.168.1.0/24

# TLS parameters
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
newaliases_path = /usr/bin/newaliases
home_mailbox = mails/
mailbox_size_limit = 0
inet_interfaces = all
mailbox_command = /usr/lib/dovecot/deliver

# Setting für Smarthost (Relayhost)
relayhost = mail.****.de:25
smtp_sasl_auth_enable = no
smtp_sasl_password_maps = hash:/etc/postfix/smtp_auth
smtp_sasl_security_options = noplaintext noanonymous
Das ist der aktuelle Stand der Dinge! Und statt getmail, verwende ich nun fetchmail. Der tut auch seine Dienste :)
 
doc

doc

Kaffeetrinker
ahh tut mir leid, das ich mit dovecot verwirrung gestiftet habe, ich hab das mit dem smarthost wieder vergessen, und da ich davon keine ahnung habe und cyrus sasl schon lange nicht mehr benutze klinke ich mal wieder aus ... nur eins noch wenn sasl immer noch nicht geht, wäre womöglich die sasl config noch ganz interessant, also die von cyrus sasl

Jan 5 13:38:49 email postfix/smtp[1910]: warning: SASL authentication failure: No worthy mechs found

das lässt mich ahnen das die mech_list nicht richtig ist oder gar noch keine config existiert ... aber wie gesacht kein plan und tschüss :p
 

Ähnliche Themen

postfix migirieren von 2.5. nach 2.10

Postfix als Relay-Agent für Microsoft Exchange 2007 unter CentOs 5.9 einrichten

dovecot und postfix Konfiguration Problem

Mailversand mit Outlook2010 und Postfix unter Synology Linux

E-Mail Empfang, Aliases unter Debian Squeeze

Oben