Verständnissfrage Email zustellen

Lord_Icon

Member
Ich bau grad an meinen Email Server rum und bin schon so weit, dass alles klappt.

Nur eins habe ich ncoch nicht verstanden. Drum weiß ich nicht, an welcher config ich schrauben muß.

Neues Email Postfach.

Rufe ich es mit Thunderbird ab, wird ein (maildir) ORDNER in /var/email/<username>/ angelegt. Dort sind dann etliche subordner wie trash usw.

Lege ich aber ein neues Postfach an und rufe es noch nicht mit Thunderbird ab... und es kommt eine Email rein, dann wird eine (mbox) DATEI in /var/email/<username> angelegt.

ist hierfür dovecot zuständig ?
Kann aber eigendlich nicht sein. Hier habe ich schon alles auf maildir mit %u eingerichtet.

procmail oder Postfix wären noch verursacher. Finde diesbezüglich aber keine Einstellungen.

Weiß einer Rat ?
 
Dovecot ist ja ein IMAP bzw. POP3 Server, der aber auch Regeln für eingehende Mails bearbeiten kann.

Ohne deine genaue Config zu kennen, würde ich mal auf Postfix bzw. Procmail, eben abhängig von deiner Mailconfig tippen.

Verbindest du dich mit Thunderbird, und alles wird richtig erstellt, dürfte Dovecot dafür verantwortlich sein, da sich Thunderbird zuerst via IMAP verbindet. Geht etwas falsch beim Empfang der ersten Mail, sollte der SMTP-Dienst dafür verantworltich sein, was auf Postfix oder Procmail schließen ließe.
 
Eigendlich bin ich davon ausgegangen, dass dovecot beides macht... zumindest wäre dass das Ziel.

doveconf -n gibt
Code:
# 2.1.7: /etc/dovecot/dovecot.conf
# OS: Linux 3.2.0-4-amd64 x86_64 Debian 7.7
disable_plaintext_auth = no
log_path = /var/log/mail.log
login_log_format_elements = user=<%u> method=%m rip=%r lip=%l %c
mail_debug = yes
mail_privileged_group = mail
namespace {
  location = maildir:/var/mail/%u
  prefix = "#maildir/"
  separator = /
  type = private
}
namespace inbox {
  inbox = yes
  location = maildir:/var/mail/%u
  mailbox "Deleted Messages" {
    special_use = \Trash
  }
  mailbox Drafts {
    auto = subscribe
    special_use = \Drafts
  }
  mailbox Junk-E-Mail {
    special_use = \Junk
  }
  mailbox Junk {
    special_use = \Junk
  }
  mailbox Sent {
    auto = subscribe
    special_use = \Sent
  }
  mailbox "Sent Messages" {
    special_use = \Sent
  }
  mailbox Trash {
    auto = subscribe
    special_use = \Trash
  }
  mailbox junkmail {
    auto = subscribe
    special_use = \Junk
  }
  prefix =
  separator = /
  type = private
}
passdb {
  driver = passwd
}
passdb {
  driver = shadow
}
protocols = imap pop3
service auth {
  user = root
}
shutdown_clients = no
ssl_cert = </etc/ssl/certs/dovecot.pem
ssl_key = </etc/ssl/private/dovecot.pem
userdb {
  driver = passwd
}
protocol imap {
  pop3_uidl_format = %08Xu%08Xv
}

Hab ich dort was vergessen oder regelt mein Empfang ein anderer Dienst ?
 
ich hab das logglevel mal auf debug gestellt.
Nun sehe ich erheblich mehr.

Tatsächlich scheint eine eingehene Email an procmail weitergeleitet zu werden.
Dumm nur, dass ich nirgends eine config hierzu finde.,

Da ich nichts finde... wie kann ich denn hierzu auf die Suche gehen ?
locate procmail
findet keine configs
Code:
Dec 15 22:37:07 mailmaschine postfix/smtpd[25780]: connect from mout.gmx.net[212.227.15.15]
Dec 15 22:37:07 mailmaschine postfix/smtpd[25780]: A8525340063: client=mout.gmx.net[212.227.15.15]
Dec 15 22:37:07 mailmaschine postfix/cleanup[25784]: A8525340063: message-id=<trinity-722272f2-7bde-4e82-ba5a-b702fd78a7ea-1418679427423@3capp-gmx-bs30>
Dec 15 22:37:07 mailmaschine postfix/qmgr[4157]: A8525340063: from=<test1232@gmx.de>, size=1060, nrcpt=1 (queue active)
Dec 15 22:37:07 mailmaschine postfix/smtpd[25780]: disconnect from mout.gmx.net[212.227.15.15]
Dec 15 22:37:07 mailmaschine postfix/local[25785]: A8525340063: to=<ks012p1@mail.mailmaschine.de>, orig_to=<info@domain.de>, relay=local, delay=0.07, delays=0.05/0/0/0.01, dsn=2.0.0, status=sent (delivered to command: procmail -a "$EXTENSION")
 
Suche mal nach .procmailrc die sollte eigentlich im Mailverzeichnis liegen. Den Punkt nicht vergessen!
Ich verwende Dovecot mit Sieve als Filter.
 
nö... da is nix da.

Code:
[B]root@mailmaschine:/var/mail# find / -name *procmailrc[/B]
/usr/share/doc/procmail/examples/2procmailrc
/usr/share/doc/procmail/examples/3procmailrc
/usr/share/doc/procmail/examples/1procmailrc

Alles sehr komisch.
In den Logs sieht man ja, dass er nach procmail weiterleitet.
Da keine entsprechende config vorhanden ist, denke ich, dass hier auch nichts gefiltert wird. Wie würde es denn dann weiter gehen.

Bekommt postfix die Mail wieder zurück zur weiteren verarbeitung ?
Oder doch wieder dovecot?
 
".procmailrc'" das ist eine versteckte Datei , du hast den . Punkt vergessen.
Wenn Deine config nicht existiert, weis procmail auch nicht was es machen soll.
 
Last edited by a moderator:
* ersetzt den doch.

Hatte abeer auch schon direkt gesucht. nicht vorhanden.
auch schon per hand... per mc.
In etc nix... und auch nicht in /var/mail ... und auch nicht in etc/postfix.

Code:
[B]root@mailmaschine:/var/mail# find / -name procmailrc
root@mailmaschine:/var/mail# find / -name .procmailrc
root@mailmaschine:/var/mail# find / -name *procmailrc[/B]
/usr/share/doc/procmail/examples/2procmailrc
/usr/share/doc/procmail/examples/3procmailrc
/usr/share/doc/procmail/examples/1procmailrc
 
Dann sollten wir uns die config von Postfix mal genauer ansehen. Es gibt wirklich keine "/etc/procmailrc"? Wenn Du Dovecot als MDA verwendest, ist procmail eigentlich überflüssig, es sei denn man benötigt dessen umfangreiche/flexible Filter-/Mailnachbearbeitungs-Funktionen.
 
Die Einstellungen in der Dovecot-Config gelten, sofern du den Dovecot-eigenenn MDA deliver verwendest. Sofern du procmail verwendest, ist dies unabhängig von Dovecot und da sind die Einsteliungen in Dovecot uninteressant.
 
Das Problem müsste dann ja hier sein: wenn Postfix über procmail im MBox-Format einliefert und Dovecot als IMAP-Dienst nach MailDir sucht, dürften theoretisch eingegangene Nachrichten/Mails nicht sichtbar sein.
 
Doch, wenn ich das richtig im Kopf habe, nimmt Dovecot dann einfach, was gerade da ist. Die Einstellungen greifen also nur bei neuen Sachen, sprich neue Mails, die durch deliver zugestellt werden und durch einen IMAP-Client erstellte Ordner.
 
@danton. Ich glaub, das kann ich bestätigen... wobei es aber nur bei POP ging. Bei IMAP hatte ich auf alle Fälle ein Fehler bekommen.

Meine docecot.conf
Code:
disable_plaintext_auth = no
log_path = /var/log/mail.log
login_log_format_elements = user=<%u> method=%m rip=%r lip=%l %c

mail_privileged_group = mail
mail_debug=yes

#mail_home = /var/mail/%u
mail_location = maildir:/var/mail/%u/

#namespace {
#  hidden = no
#  inbox = yes
#  list = yes
#  location = mbox:~/mail:INBOX=/var/mail/%u
#  location = maildir:/var/mail/%u
#  prefix = "#mbox/"
#  separator = /
#  type = private
#}

namespace {
  location = maildir:/var/mail/%u
  prefix = "#maildir/"
  separator = /
  type = private
}


namespace inbox {
  inbox = yes
#  location =
  location = maildir:/var/mail/%u
  mailbox "Deleted Messages" {
    special_use = \Trash
  }
  mailbox Drafts {
    auto = subscribe
    special_use = \Drafts
  }
  mailbox Junk-E-Mail {
    special_use = \Junk
  }
  mailbox Junk {
    special_use = \Junk
  }
  mailbox Sent {
    auto = subscribe
    special_use = \Sent
  }
  mailbox "Sent Messages" {
    special_use = \Sent
  }
  mailbox Trash {
    auto = subscribe
    special_use = \Trash
  }
  mailbox junkmail {
    auto = subscribe
    special_use = \Junk
  }
#  prefix =
  separator = /
  type = private
}


passdb {
  driver = passwd
}

passdb {
  driver = shadow
}

protocols = imap pop3
service auth {
  user = root
}

shutdown_clients = no
ssl_cert = </etc/ssl/certs/dovecot.pem
ssl_key = </etc/ssl/private/dovecot.pem

userdb {
  driver = passwd
}

protocol imap {
  pop3_uidl_format = %08Xu%08Xv
}

meine main.cf
Code:
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/dovecot.pem
smtpd_tls_key_file = /etc/ssl/private/dovecot.pem
smtpd_use_tls = no
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.

myhostname = mail.mailserver.de
alias_maps = hash:/etc/aliases, hash:/etc/postfix/ksaliases
alias_database = hash:/etc/aliases
mydestination = mail.mailserver.de, localhost, localhost.localdomain
relayhost =
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
myorigin = mail.mailserver.de
smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_tls_security_level = may
smtp_bind_address = 170.230.195.45
virtual_mailbox_domains = /etc/postfix/virtual_mailbox_domains
virtual_alias_maps = hash:/etc/postfix/virtual_alias_maps
virtual_mailbox_maps = hash:/etc/postfix/virtual_mailbox_maps
virtual_uid_maps = hash:/etc/postfix/virtual_uid_maps
virtual_gid_maps = hash:/etc/postfix/virtual_gid_maps
virtual_mailbox_base = /var/spool/mail

virtual_maps = hash:/etc/postfix/ksvirtusertable, hash:/etc/postfix/kslocaldomains
smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_use_tls = no
inet_interfaces = all
broken_sasl_auth_clients = yes



# M SETTINGS
#header_checks = regexp:/etc/postfix/header_checks
alias_maps = hash:/etc/aliases, hash:/etc/postfix/ksaliases
alias_database = hash:/etc/aliases, hash:/etc/postfix/ksaliases
virtual_maps = hash:/etc/postfix/ksvirtusertable, hash:/etc/postfix/kslocaldomains

smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_use_tls = no
inet_interfaces = all


# Sicherheit
strict_rfc821_envelopes = yes
#disable_vrfy_command = yes
smtpd_sasl_auth_enable = yes
broken_sasl_auth_clients = yes
smtpd_helo_required = yes
smtpd_delay_reject = yes
#unverified_recipient_reject_code = 550
#unverified_recipient_defer_code = 450


# CHECK HELO
smtpd_helo_restrictions =
 permit_mynetworks,
 permit_sasl_authenticated,
 permit_tls_clientcerts,
 check_helo_access hash:/etc/postfix/access,
 reject_invalid_hostname,
 reject_non_fqdn_hostname,
 #reject_unknown_helo_hostname,
 #reject_unknown_sender_domain,
 reject_unauth_pipelining



# CHECK INCOMING FROM:ADRESS
smtpd_sender_restrictions =
 reject_non_fqdn_sender,
 permit_mynetworks,
 permit_sasl_authenticated,
 reject_unknown_recipient_domain,
 reject_unknown_sender_domain,
 reject_unauth_destination,
 #reject_unknown_hostname,
 reject_unauth_pipelining
 #reject_unverified_sender FROM:EMAIL REAL?


# CHECK INCOMING RPCT TO:ADRESS
smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination
 #check_recipient_access hash:/etc/postfix/access,
 #reject_invalid_hostname,
 #reject_unknown_client_hostname,
 #reject_unknown_reverse_client_hostname,
 #reject_rbl_client sbl.spamhaus.org,
 #reject_rbl_client ips.backscatterer.org,
 #reject_unverified_recipient
 #reject_rbl_client zen.spamhaus.org


# CHECK CLIENT HOST
smtpd_client_restrictions =
 check_client_access hash:/etc/postfix/access,
 #reject_multi_recipient_bounce


smtpd_data_restrictions = reject_unauth_pipelining


maildir = /var/spool/mail


message_size_limit = 200000000
virtual_mailbox_limit = 200000000
default_process_limit = 200
bounce_size_limit = 1000
virtual_overquota_bounce = yes

smtpd_hard_error_limit = 4


# MAILER DAEMON
#bounce_notice_recipient = root
#bounce_template_file = /etc/postfix/bounce.cf
#bounce_queue_lifetime = 60s
#maximal_queue_lifetime = 3600s


#anvil_rate_time_unit = 60s
#smtpd_client_connection_count_limit = 600
#smtpd_client_message_rate_limit = 600
#smtpd_client_recipient_rate_limit = 600
#default_destination_recipient_limit = 30
#default_destination_rate_delay = 1s



content_filter = amavis:[127.0.0.1]:10024
receive_override_options = no_address_mapping


Da ich jetzt schon den 3 Tag dran sitze und nicht weiterkomme, bin ich nun gern Hilfe gegen $$$ angewiesen... bzw. würde jm. was überweisen, wenn er sich das mal detailiert anschauen mag. (per SSH)

Es sei denn, es ist ein offensichtlicher Fehler ;-)

Wer sich was verdienen mag => dann bitte nur per PM schreiben.
Bitte Telefonnummer mit angeben... ich rufe euch umgehend an.

Danke
 
Die Lösung für dein Problem wurde weiter oben schon genannt: Verwende deliver-lda von Dovecot anstatt von procmail - du scheinst ja nix besonderes mit procmail anzustellen, da du keine .procmailrc hast. Und falls du Filter-Regeln benötigst, kannst du Dovecot mit der Filtersprache Sieve erweitern.
Ich hatte früher mal unter Courier ähnliche Probleme, daß teilweise statt maildir die Mails im mbox-Format abgelegt wurden (wenn das Verzeichnis noch nicht vorhanden war), seit der Umstellung von Dovecot und deliver-lda habe ich keine Probleme mehr und Sieve kann meine Anforderungen an serverseitige Filter komplett erfüllen.
 
Ich glaube, Du solltest Dir folgende Parameter anschauen (stammt aus meiner Config, die via procmail im MailDir-Format in die Postfächer einsortiert und Dovecot als IMAP-Dienst):

Code:
# Email and mailbox settings 
[...]
home_mailbox = Maildir/ 
[...]
mailbox_command = /usr/bin/procmail
Letzteren Parameter hast Du bei Dir drin, damit ist procmail als MDA gesetzt und Du solltest dann zumindest auch eine zentrale procmailrc im /etc anlegen und konfigurieren ansonsten hier Dovecot als MDA einsetzen (weiß ich jetzt aber nicht ad hoc, wie das genau aussehen muss). Der erstere fehlt bei Dir.

Eine minimale [/etc/procmailrc] könnte z.B. so aussehen:
Code:
DROPPRIVS=yes 
DEFAULT=$HOME/Maildir/ 
MAILDIR=$HOME/Maildir/ 
 
 
:0: 
* ^X-Spam-Status: Yes 
.Junk/

Aber wenn Du procmail nicht wirklich benötigst, würde ich auch dazu tendieren den dovecot-MDA zu nehmen.
 
Back
Top