Kapitel 7: ========== Greylisting des Postfix-Servers wird abgeschaltet, indem Sie in der Datei /etc/postfix/main.cf die Zeile smtpd_recipient_restrictions = permit_sasl_authenticated permit_mynetworks reject_unauth_destination check_policy_service unix:private/policy permit durch die Zeile smtpd_recipient_restrictions = permit_sasl_authenticated permit_mynetworks reject_unauth_destination permit ersetzen. Wenn Sie Outlook-Clients verwenden wollen, Àndern Sie in der Datei /etc/postfix/main.cf bitte die Zeile smtpd_helo_restrictions = reject_invalid_helo_hostname reject_non_fqdn_helo_hostname in smtpd_helo_restrictions = permit_sasl_authenticated permit_mynetworks reject_invalid_helo_hostname reject_non_fqdn_helo_hostname Damit der iCal-Server Ereignis-Annahmen von Benutzern verarbeiten kann, die er zuvor per E-Mail eingeladen hat, muss der Mailserver EmpfÀngernamen herausfiltern können, die vor einem "+"-Zeichn in der Mail-Adresse stehen. Stellen Sie daher sicher, dass in der Datei /etc/postfix/main.cf die Zeile recipient_delimiter = + zu finden ist. Damit Ihr Server auch E-Mails mit leerer Betreffzeile annimmt, Àndern Sie bitte in der Datei /etc/postfix/main.cf die Zeile header_checks = pcre:/etc/postfix/custom_header_checks in # header_checks = pcre:/etc/postfix/custom_header_checks Der Inhalt der Datei .fetchmailrc sieht im Buch so aus: set postmaster "" set bouncemail set no spambounce set no softbounce poll pop3.strato.de with proto POP3 localdomains loophole-solutions.tv envelope X-Envelope-To user info@loophole-solutions.tv with pass xyz is apple1 here user ical@loophole-solutions.tv with pass xyz to * here Die Datei /Library/LaunchDaemons/de.andre-aulich.fetchmail.plist ruft fetchmail im Buch unter dem Pfad /opt/local/bin/fetchmail auf, welches zuvor mittels MacPorts installiert wurde. Unter Mac OS X Server 10.6 ist fetchmail jedoch bereits unter /usr/bin/fetchmail vorinstalliert, so dass unser Skript zum regelmÀ�igen Aufruf von fetchmail so aussehen sollte: Label de.andre-aulich.fetchmail ProgramArguments /usr/bin/fetchmail -d 60 -L /var/log/fetchmail.log UserName sadmin RunAtLoad Der zu ergÀnzende Text in der Datei /etc/dovecot/dovecot.conf lautet: namespace private { separator = / prefix = inbox = yes } namespace public { separator = / prefix = Public/ location = maildir:/var/spool/imap/dovecot/mail/Public hidden = no list = yes subscriptions = yes } Das Skript /usr/local/bin/learnjunk lautet: #!/bin/bash # ####################################################################### # # # This script trains spamassassin on servers set up according to # # the O'Reilly book about 10.6 collaboration servers by Andre Aulich, # # www.andre-aulich.de. # # # # After learning from a mail, this script deletes the mail... # # # # This script is based on Apple's learn_junk_mail file, which # # can be found at /etc/mail/spamassassin/learn_junk_mail on your # # 10.6 server installation. # # # ####################################################################### JUNK_MAIL_PATH="/var/spool/imap/dovecot/mail/Public/.Junk" NOT_JUNK_MAIL_PATH="/var/spool/imap/dovecot/mail/Public/.NotJunk" SA_LEARN_PATH="/usr/bin/sa-learn" DB_PATH=/var/amavis/.spamassassin if [ -d "$JUNK_MAIL_PATH" ] then echo "Reading mailbox Junk" find "$JUNK_MAIL_PATH/cur" "$JUNK_MAIL_PATH/new" -type f -print | while read file do sudo -u _amavisd $SA_LEARN_PATH --dbpath $DB_PATH --spam --no-sync < "$file" > /dev/null rm "$file" done else echo "Please create the Junk mailbox." fi if [ -d "$NOT_JUNK_MAIL_PATH" ] then echo "Reading mailbox NotJunk" find "$NOT_JUNK_MAIL_PATH/cur" "$NOT_JUNK_MAIL_PATH/new" -type f -print | while read file do sudo -u _amavisd $SA_LEARN_PATH --dbpath $DB_PATH --ham --no-sync < "$file" > /dev/null rm "$file" done else echo "Please create the NotJunk mailbox." fi # Force a database sync sudo -u _amavisd $SA_LEARN_PATH --dbpath $DB_PATH --sync > /dev/null Der launchd-Job /Library/LaunchDaemons/de.andre-aulich.learnjunk.plist zum Aufruf des des Skripts /usr/local/bin/learnjunk lautet: Label de.andre-aulich.learnjunk ProgramArguments /usr/local/bin/learnjunk StartInterval 600 RunAtLoad Der launchd-Job zum regelmÀ�igen Aufrufen von mailbfr unter /Library/LaunchDaemons/mailbackup.plist lautet: Label mailbackup ProgramArguments /usr/sbin/mailbfr -b /Volumes/MailBackup --mode rotate StartCalendarInterval Hour 2 Minute 30