Wiedermal Postfix, Procmail, Spamassin, Cyrus

Status
Not open for further replies.

Georgius

New Member
Hi

Versuche gerade obige Kombination aufzusetzen. Bis ich Procmail für Spamassin eingebunden habe hat es funktioniert, jetzt filtert er nicht (ok muß mich erst einlesen, egal) aber alle Mail landen im Postfach von Cyrus.

main.cf
Code:
# See /usr/share/postfix/main.cf.dist for a commented, more complete version


# 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

# Konfiguration der virtuellen Mailboxen und User
#
# Fuer welche Domains und User nehmen wir E-Mails an
#virtual_maps = hash:/etc/postfix/virtualUsers, hash:/etc/postfix/localDomains
# LMTP / Die Uebergabe an Cyrus
#mailbox_transport = lmtp:unix:/var/run/cyrus/socket/lmtp

# 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:${queue_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${queue_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.georgius.org
alias_maps = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = test.georgius.org, localhost.localdomain, localhost, georgius.org
mynetworks = 127.0.0.0/8
mailbox_size_limit = 0
recipient_delimiter = +

mailbox_transport = procmail
mailbox_command = /usr/bin/procmail -t -a $EXTENSION

#smtpd_recipient_restrictions = reject_unauth_destination
smtpd_sasl_auth_enable = yes


# Wer aus meinem eigenen Netzwerk kommt, darf
# Eine Liste von IPs, die entweder explizit senden dürfen, oder auch explizit nicht (White/Blacklist)
# Die DNS-Blacklisteneinträge dürfen nicht senden - deshalb sind sie ja da drin.

smtpd_helo_restriction =

smtpd_sender_restrictions =
# Wer Mail von nichtexistenten Domains sendet, will spammen oder hat es zu eilig.
    reject_unknown_sender_domain,
# Wer zu blöd ist, einen vollständigen Senderdomainnamen anzugeben, will spammen
    reject_non_fqdn_sender

smtpd_recipient_restrictions = permit_sasl_authenticated, reject_unauth_destination
# permit_mynetworks reject_invalid_hostname reject_non_fqdn_hostname reject_non_fqdn_sender reject_non_fqdn_recipient reject_unknown_sender_domain reject_unknown_recipient_domain reject_unauth_pipelining check_recipient_access  check_client_access  reject_maps_rbl

Code:
# /etc/procmailrc
  #
  # Zuerst einige allgemeine Definitionen:
  # 
  # cyrdeliever sortiert die Mails in die Cyrus-Mailboxen ein:
  DELIVERMAIL="/usr/sbin/cyrdeliver"
  #
  # Das Logfile, in das Fehlermeldungen etc. geloggt werden:
LOGFILE=/var/log/procmail.log
  #
  # Damit die procmailrc übersichtlicher bleibt, vergeben wir
  # "Kurznamen" für einige Zustellbefehle. Auskunft über
  # die genaue Syntax gibt die Manpage zu cyrdeliever.
  IMAP="$DELIVERMAIL -e -a $LOGNAME -m user.$LOGNAME"
  BACKUP="$DELIVERMAIL -e -a $LOGNAME -m user.$LOGNAME.Backup"
  GMXSPAM="$DELIVERMAIL -e -a $LOGNAME -m user.$LOGNAME.GMX-SPAM"
  BOGOSPAM="$DELIVERMAIL -e -a $LOGNAME -m user.$LOGNAME.BogoSPAM"
  SPAMIT="$DELIVERMAIL -e -a $LOGNAME -m user.$LOGNAME.SPAM"
  #
  # Um detailliertere Fehlermeldungen zu loggen, VERBOSE auf on setzen
VERBOSE=on
  # Zur Sicherheit ein Backup, falls bei der Zustellung etwas
  # schiefgeht:
  #
  # "/bin/sed 1d" dient dazu, den von Procmail gesetzten ungültigen
  # "From"-Header wieder zu entfernen!
  #
:0 c
  | /bin/sed 1d | $BACKUP

  # bei Fehler zurück in die Queue
:0 e
  { EXITCODE=75 HOST }


#  # Manche GMX-Mails sind schon als Spam gekennzeichnet
#  :0
#  * ^*** GMX Spamverdacht ***
#  | /bin/sed 1d | $GMXSPAM
#
#  # bei Fehler zurück in die Queue
#  :0 e
#  { EXITCODE=75 HOST }


#  # Überprüfung durch Bogofilter
#  #
#  :0fw
#  | /usr/bin/bogofilter -u -e -p -l -d /home/$LOGNAME/.bogofilter/
#
#  :0
#  * ^X-Bogosity: Yes, tests=bogofilter
#  | /bin/sed 1d | $BOGOSPAM
#
#  # bei Fehler zurück in die Queue
#  :0 e
#  { EXITCODE=75 HOST }


  # Überprüfung durch Spam Assassin
  #
:0fw
| /usr/bin/spamc  -u $LOGNAME
  
:0
  * ^X-Spam-Status: Yes
  | /bin/sed 1d | /usr/bin/spamassassin -d | $SPAMIT
  
  # bei Fehler zurück in die Queue
:0 e
  { EXITCODE=75 HOST }
  

  # Zustellung in die INBOX des Users:
  #
:0 w
  | /bin/sed 1d | $IMAP
  
  # bei Fehler zurück in die Queue
:0 e
  { EXITCODE=75 HOST }


  # Das Ergebnis der Zustellung wird geloggt:
  #
:0 w
  {
  EXITCODE=$?
  HOST
  }


# original

# DROPPRIVS=yes
# :0fw
#| /usr/bin/spamassassin
# :0
# * ^X-Spam-Status: Yes
# $HOME/spam

Ein anderes Problem ist, das ich mich zum senden als User@domain anmelden zum abholen aber nur als User. Sinn der ganzen Aktion ist aber das ich mir dem Handy IMAP abhole, nur kan ich nur einen Namen für abholen und senden angeben. Wie kann ich das ändern?

Edit: Kann man eigentlich einen "Gesendet" Ordner realisieren auf Serverbasis?
 
Status
Not open for further replies.
Back
Top