PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Wiedermal Postfix, Procmail, Spamassin, Cyrus



mag128
19.04.08, 22:29
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

# 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



# /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?

Roger Wilco
20.04.08, 11:57
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.
Wozu überhaupt procmail in diesem Setup? SpamAssassin kann man auch über Milter-SA oder einen anderen Daemon, wie etwa amavisd-new, einbinden und die Filterung bzw. Einordnung in die entsprechenden IMAP-Folder erfolgt dann durch Sieve bzw. den Cyrus MDA.



mailbox_transport = procmail
mailbox_command = /usr/bin/procmail -t -a $EXTENSION
Eines von beiden ist unnötig. mailbox_transport hat dabei die höhere Priorität.


Ein anderes Problem ist, das ich mich zum senden als User@domain anmelden zum abholen aber nur als User. [...] Wie kann ich das ändern?
SASL-Konfiguration von Postfix oder Cyrus IMAP an die jeweils andere anpassen.


Edit: Kann man eigentlich einen "Gesendet" Ordner realisieren auf Serverbasis?
Prinzipiell ja, allerdings machen das die meisten IMAP-Clients schon ganz gut von selbst.

mag128
20.04.08, 15:49
Wozu überhaupt procmail in diesem Setup? SpamAssassin kann man auch über Milter-SA oder einen anderen Daemon, wie etwa amavisd-new, einbinden und die Filterung bzw. Einordnung in die entsprechenden IMAP-Folder erfolgt dann durch Sieve bzw. den Cyrus MDA.

Da wirst Du recht haben, bin aber mal froh das es jetzt mal geht.

Eines von beiden ist unnötig. mailbox_transport hat dabei die höhere Priorität.
Danke für den Hinweis, das hat zur Lösung geholfen



SASL-Konfiguration von Postfix oder Cyrus IMAP an die jeweils andere anpassen.


Prinzipiell ja, allerdings machen das die meisten IMAP-Clients schon ganz gut von selbst.

Werd ich mir auch mal anschauen, danke für die Hilfe