# Fragen zu Mailserver

## smog_at

Hey @all,

und zwar habe ich einen Mailserver mit Postfix, Amavisd-New, fetchmail, Clamav und F-Prot. Vor kurzem habe ich mir noch SpamAssassin installiert. 

Nun zu meiner Frage, auf manchen Webseiten wird geschrieben, das SpamAssassin automatisch von Amavisd-New aufgerufen wird, und ich nichts umstellen muß. Jedoch auf wieder anderen Seiten ist beschrieben wie ich es umstelle.

Was nun muss ich jetzt was umstellen, oder nicht?

Das zweite Problem was ich habe ist, das ich wenn ich per Fetchmail mails von meinen Accounts abhole, diese anscheinend nicht auf Viren und Spam geprüft werden.

Und drittens, wie kann ich bei Squirrelmail einstellen, das ich automatisch Mails von jemand bestimmten in einen anderen Ordner geben, sowie unter Outlook, oder Mozilla-Thunderbird?

Vielen Dank im Voraus

Mit freundlichen Grüßen

smog_at

P.S.: habe nich was vergessen, und zwar habe ich fetchmail ja über einen cronjob laufen, nun schreibt er mir dauern mails mit folgendem Betreff "cron: /usr/bin/fetchmail -a -s -m "/usr/bin/procmail -d ...", wie kann ich das abstellen?

----------

## hopfe

Um deine Mails zu sortieren würde ich dir procmail anraten, HOWTO's dazu müßtest du zu genüge finden. 

Eigentlich müßte dein amvisd Spamassassin aufrufen, am einfachsten du checkst mal die Header Daten deiner Mails, es sollte so etwas in der Art drinnen stehen. 

```
X-Virus-Scanned: by amavisd-new and (F-Prot) at hopfe.homelinux.org

X-Spam-Status: No, hits=2.5 tagged_above=1.0 required=5.0

     tests=BLANK_LINES_70_80, SUBJ_ALL_CAPS

X-Spam-Level: **
```

Höchstwahrscheinlich mußt du Spamassassin noch mit sa-learn trainieren, damit die Erkennungsrate steigt.

----------

## smog_at

Also

```
X-Virus-Scanned: by amavisd-new
```

erscheint zwar wenn mails an mich kommen, jedoch nicht wenn ich sie mit fetchmail abhole, und folgendes habe ich nirgends im Header

```
X-Spam-Status: No, hits=2.5 tagged_above=1.0 required=5.0

     tests=BLANK_LINES_70_80, SUBJ_ALL_CAPS

X-Spam-Level: **
```

MfG smog_at

----------

## smog_at

So, hab noch herum gegoogelt, und in den Foren geschaut, jedoch finde ich nichts.

Wenn ich über fetchmail mails abhole gehen diese Mails irgendwie nicht durch den SpamAssasin und durch ClamAV.

MfG smog_at

----------

## Deever

 *hopfe wrote:*   

> Um deine Mails zu sortieren würde ich dir procmail anraten.

 

Nein, das würde ich nicht. Maildrop arbeitet wesentlich sauberer und hat erst noch eine menschenfreundlichere und imho mächtigere Syntax!

HTH! && Gruß,

/dev

----------

## holla die waldfee

wie wäre es mit einer kommentarlosen config datei von amavis?

----------

## BlinkEye

 *Deever wrote:*   

>  *hopfe wrote:*   Um deine Mails zu sortieren würde ich dir procmail anraten. 
> 
> Nein, das würde ich nicht. Maildrop arbeitet wesentlich sauberer und hat erst noch eine menschenfreundlichere und imho mächtigere Syntax!
> 
> HTH! && Gruß,
> ...

 

hey zürcher   :Wink: 

ich habe nun procmail aufgesetzt weil ich mehr infos dazu gefunden habe. könntest du mal deine maildrop config posten damit man sieht, was daran einfacher und mächtiger ist?

----------

## Haldir

Also amavisd-new sollte den virenscanner und den spamassassin automatisch erkennen.

In der Postfix config entsprechen den amavisd server hinzufügen.

in der amavisd.config mußt du nicht viel editieren ( afaik für Basis sachen gar nix)

Sonst hier schauen:

http://www.flakshack.com/anti-spam/

Sonst kann ich meine Config noch posten bei mir läuft config über fetchmail,postfix,amavisd-new,spamassassin,cyrus imapd und das ganze ohne procmail

----------

## BlinkEye

wäre super. dann installiere ich amisvd-new noch heute (da mir dann man pages lesen für's este erspart bleibt) - wollte es noch ein wenig aufschieben...

----------

## Haldir

Also im großen und ganzen sind das diese Änderungen, bei der amavisd.conf sind noch ein paar spam level und so geändert worden, aber nix weltbewegendes neben den untenstehenden Änderungen:

####postfix main.cf####

content_filter = smtp-amavis:[127.0.0.1]:10024

mailbox_transport = cyrus

####postfix master.cf####

smtp-amavis unix -      -       n       -       2  lmtp

    -o smtp_data_done_timeout=1200

    -o disable_dns_lookups=yes

127.0.0.1:10025 inet n  -       n       -       -  smtpd

    -o content_filter=

    -o local_recipient_maps=

    -o smtpd_helo_restrictions=

    -o smtpd_client_restrictions=

    -o smtpd_sender_restrictions=

    -o smtpd_recipient_restrictions=permit_mynetworks,reject

    -o mynetworks=127.0.0.0/8

####amavisd.conf####

$mydomain = unix.local

$daemon_user = 'amavis';        # (no default;  customary: vscan or amavis)

$daemon_group = 'amavis';       # (no default;  customary: vscan or amavis)

$DO_SYSLOG = 0;

$sa_local_tests_only = 0;

----------

## smog_at

Also erstmal danke @all,

hat funktioniert, jetzt habe ich nurmehr zwei kleine Problem:

1.Problem: Ich habe ClamAV(primary) und F-Prot(backup) Virenscanner installiert: jedoch erscheint beim scannen der Mails folgende Fehlermeldung:

```

May 19 11:08:39 gentoo amavisd[4147]: (04147-01) Clam Antivirus-clamd: Can't connect to UNIX socket /var/amavis/clamd: Connection refused, retrying (1)

May 19 11:08:40 gentoo amavisd[4147]: (04147-01) Clam Antivirus-clamd: Can't connect to UNIX socket /var/amavis/clamd: Connection refused, retrying (2)

May 19 11:08:46 gentoo amavisd[4147]: (04147-01) Clam Antivirus-clamd av-scanner FAILED: Too many retries to talk to /var/amav

```

Hier mal meine master.cf:

```
smtp-amavis unix  -       -       n       -       2       smtp

#smtp-amavis unix  -       -       -       -       2       smtp

   -o smtp_data_done_timeout=1200

   -o disable_dns_lookups=yes

smtp      inet  n       -       n       -       2       smtpd

127.0.0.1:10025 inet n  -       n       -       -       smtpd

#127.0.0.1:10025 inet n  -       -       -       -       smtpd

    -o content_filter=

    -o local_recipient_maps=

    -o relay_recipient_maps=

    -o smtpd_restriction_classes=

    -o smtpd_client_restrictions=

    -o smtpd_helo_restrictions=

    -o smtpd_sender_restrictions=

    -o smtpd_recipient_restrictions=permit_mynetworks,reject

#    -o mynetworks=127.0.0.0/8

    -o strict_rfc821_enevlopes=yes

```

Und so steht es bei den Beschreibungen, jedoch bekomme ich dann keine Mails zugestellt:

```

smtp-amavis unix  -       -       -       -       2       smtp

   -o smtp_data_done_timeout=1200

   -o disable_dns_lookups=yes

127.0.0.1:10025 inet n  -       -       -       -       smtpd

    -o content_filter=

    -o local_recipient_maps=

    -o relay_recipient_maps=

    -o smtpd_restriction_classes=

    -o smtpd_client_restrictions=

    -o smtpd_helo_restrictions=

    -o smtpd_sender_restrictions=

    -o smtpd_recipient_restrictions=permit_mynetworks,reject

    -o mynetworks=127.0.0.0/8

    -o strict_rfc821_enevlopes=yes

```

1.Erfolg: Die an mich gerichteten Mails werden jetzt auf Spam geprüft, folgende Header habe ich im Mail-Kopf:

```

X-Virus-Scanned: by amavisd-new

X-Spam-Status: No, hits=1.4 tagged_above=0.0 required=5.0

     tests=BLANK_LINES_70_80, DATE_IN_PAST_12_24, RCVD_IN_SORBS

X-Spam-Level: *

```

Jedoch die Emails, die ich von den anderen Accounts mit fetchmail abhole (GMX, Yahoo, usw.) werden keiner Virusprüfung und Spamprüfung unterzogen, solche Mails haben dann den normalen Mail-Kopf

```

Content-Type: multipart/alternative;

     boundary="----=_NextPart_000_003E_01C43D14.A5C44480"

X-Priority: 3

X-MSMail-Priority: Normal

X-Mailer: Microsoft Outlook Express 6.00.2600.0000

X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000

```

2.Problem: Wie kann ich das nun realisieren, das auch die Mails, die fetchmail abholt auf Virus und Spam geprüft werden?  :Confused: 

Vielen Dank im Voraus

MfG smog_at

----------

## Deever

 *BlinkEye wrote:*   

> hey zürcher  

 

Äh ja...und woher kommst du?  :Wink:  (Tipp: PN)

 *Quote:*   

> ich habe nun procmail aufgesetzt weil ich mehr infos dazu gefunden habe. könntest du mal deine maildrop config posten damit man sieht, was daran einfacher und mächtiger ist?

 

```
deever@floatkiller:~ $ cat /etc/maildroprc

DEFAULT=$HOME/.maildir

MAILDIR=$HOME/.maildir

logfile $HOME/.maildir/maildrop.log

xfilter "/usr/bin/spamc -f"

if (/^X-Spam-Status: Yes/)

 to .maildir/.Spam/ 

deever@floatkiller:~ $ cat .mailfilter

DEFAULT=$HOME/.maildir

MAILDIR=$HOME/.maildir

if (/.*[äöüß].*/:b && !/.*charset="iso-8859-1".*/:h)

{

        to "$MAILDIR/.kaputt!"

}
```

Bei Bedarf lassen sich da noch x-beliebige Mailinglisten eintragen...

Gruss,

/dev

----------

## smog_at

Also wie gesagt, mit postfix funktioniert SpamAssasin und ClamAV bzw. F-Prot (mit Amavis). Es werden aber nur diese Mails geprüft die von meiner Domain sind.

Jedoch mit fetchmail bekomme ich die Mails(von GMX und Yahoo) ungeprüft auf Spam und Viren. Bräuchte da bitte dringend Hilfe.

Vielen Dank im Voraus

MfG smog_at

----------

## smog_at

Ich hasse es zwar meine Threads nach oben zu bringen, aber es wird mir doch bitte jemand helfen können, wie ich mails die ich mit fetchmail abhole auf spam und viren prüfe.

Ich habe leider noch nichts gefunden.  :Sad: 

Vielen Dank

MfG smog_at

----------

## Advo

Schau mal nach, ob fetchmail die Mails beim Port 25 (wo Dein Postfix läuft) abgibt oder direkt an procmail übergibt. Die zweite Variante sieht z.B. so aus: *Quote:*   

> /usr/bin/fetchmail -a -s -m "/usr/bin/procmail -d \%T"

 und geht an Postfix und damit Deinen Scannern vorbei.

~ Advo

----------

## smog_at

 *Advo wrote:*   

> Schau mal nach, ob fetchmail die Mails beim Port 25 (wo Dein Postfix läuft) abgibt oder direkt an procmail übergibt. Die zweite Variante sieht z.B. so aus: *Quote:*   /usr/bin/fetchmail -a -s -m "/usr/bin/procmail -d \%T" und geht an Postfix und damit Deinen Scannern vorbei.
> 
> ~ Advo

 

Ich habe meinen cornjob genauso laufen wie Du beschrieben hast, jedoch scannt er dir Mails nicht, darin liegt ja auch mein Problem

```
*/5 * * * *     /usr/bin/fetchmail -a -s -m "/usr/bin/procmail -d %T"

```

----------

## Advo

 *smog_at wrote:*   

> Ich habe meinen cornjob genauso laufen wie Du beschrieben hast, jedoch scannt er dir Mails nicht, darin liegt ja auch mein Problem
> 
> ```
> */5 * * * *     /usr/bin/fetchmail -a -s -m "/usr/bin/procmail -d %T"
> 
> ...

 

Genau das _ist_ Dein Problem, da war mein Post vielleicht mißverständlich. Fetchmail holt bei die Mails ab und übergibt sie an procmail, procmail liefert sie direkt aus. Amavis wird aber von Postfix aus aufgerufen. Also entweder Amavis in procmail einbinden (keine Ahnung, ob oder wie das geht) oder fetchmail ohne Angabe eines MDA benutzen, etwa so:

```
/usr/bin/fetchmail -a -s 
```

.Dann gibt fetchmail die Mails am Port 25 ab, wo sie Postfix entgegennimmt und weiterverarbeitet. In der main.cf 

```
mailbox_command = /usr/bin/procmail -a "$DOMAIN"
```

 nicht vergessen.

Hoffe, das ist jetzt verständlicher  :Wink: 

~ Advo

----------

## smog_at

Also, ich habe es jetzt mal so gemacht wie du geschrieben hast, jedoch funktioniert es so leider   :Sad:   :Sad:   auch nicht.

Hier mal der Mail-Header (von den Mails, die ich mit fetchmail abhole):

```

X-Mailer: allspice

Content-Type: text/html; charset=us-ascii

Content-Transfer-Encoding: 7bit

```

Hier mal der Mail-Header (von den Mails, die ich für meine Domain bekomme):

```

Content-Type: text/plain; charset=iso-8859-1

Content-Transfer-Encoding: 8bit

X-Virus-Scanned: by amavisd-new

X-Spam-Status: No, hits=1.0 tagged_above=0.0 required=5.0

     tests=BLANK_LINES_70_80, RCVD_IN_SORBS

X-Spam-Level: 

```

/etc/postfix/main.cf:

```

queue_directory = /var/spool/postfix

command_directory = /usr/sbin

daemon_directory = /usr/lib/postfix

mail_owner = postfix

myhostname = MEINE_DOMAIN

mailbox_command = /usr/bin/procmail -a "$DOMAIN"

mydestination = localhost, MEINE_DOMAIN, mail.MEINE_DOMAIN

myorigin = $myhostname

inet_interfaces = all

unknown_local_recipient_reject_code = 450

mynetworks = 192.168.1.0/24, 127.0.0.0/8

sender_canonical_maps = hash:/etc/postfix/sender_canonical

recipient_canonical_maps = hash:/etc/postfix/recipient_canonical

# Anti Virus

content_filter = smtp-amavis:[127.0.0.1]:10024

home_mailbox = .maildir/

local_destination_concurrency_limit = 2

default_destination_concurrency_limit = 2

debug_peer_level = 2

debugger_command =

         PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin

         xxgdb $daemon_directory/$process_name $process_id & sleep 5

sendmail_path = /usr/sbin/sendmail

newaliases_path = /usr/bin/newaliases

mailq_path = /usr/bin/mailq

setgid_group = postdrop

manpage_directory = /usr/share/man

sample_directory = /usr/share/doc/postfix-2.0.16-r1/sample

readme_directory = /usr/share/doc/postfix-2.0.16-r1/readme

```

/etc/postfix/master.cf:

```

smtp-amavis unix  -       -       n       -       2       smtp

   -o smtp_data_done_timeout=1200

   -o disable_dns_lookups=yes

smtp      inet  n       -       n       -       2       smtpd

127.0.0.1:10025 inet n  -       n       -       -       smtpd

    -o content_filter=

    -o local_recipient_maps=

    -o relay_recipient_maps=

    -o smtpd_restriction_classes=

    -o smtpd_client_restrictions=

    -o smtpd_helo_restrictions=

    -o smtpd_sender_restrictions=

    -o smtpd_recipient_restrictions=permit_mynetworks,reject

    -o strict_rfc821_enevlopes=yes

```

/etc/crontab

```

*/5 * * * *     /usr/bin/fetchmail -a -s

```

~/.fetchmailrc

```

set postmaster "LOCALUSER"

set bouncemail

poll pop.mail.yahoo.de with proto pop3 user "USERNAME" there with password "PASSWORD" is LOCALUSER here options warnings 3600

poll mail.kfs.at with proto pop3 user "USERNAME" there with password "PASSWORD" is LOCALUSER here options warnings 3600

poll mail.kfs.at with proto pop3 user "USERNAME" there with password "PASSWORD" is LOCALUSER here options warnings 3600

```

Vielleicht sieht ja noch jemand den Fehler...bin schön langsam am verzweifeln   :Sad: 

MfG smog_at

----------

## Advo

Hmm, auf Anhieb springt mir in der Konfiguration kein Fehler ins Auge. Man müßte zuerst mal rauskriegen, ob fetchmail die Mails an Postfix weiterleitet. Dann solltest Du im Header folgendes finden (oder so ähnlich):

```
Received: from localhost (localhost [127.0.0.1]) 

        by DEINE.DOMAIN (Postfix) with ESMTP id ABC12345678 

        for <user@localhost>; Fri, 21 May 2004 18:36:37 +0200 (CEST)

 Received: from externes.postfach

        by localhost with POP3 (fetchmail-6.2.5) 

        for user@localhost (single-drop); Fri, 21 May 2004 18:36:38 +0200 (CEST)
```

Wenn das da ist, dann liegt der Fehler wohl bei Postfix, dann ist Logfiles lesen und weiteres debuggen angesagt.

~ Advo

----------

## smog_at

Also bei mir schreibt er foglendes hin (bekommenes SPAM-Mail):

```

Received: from mail.kfs.at [195.202.128.4]

     by localhost with POP3 (fetchmail-6.2.5)

     for USERNAME@localhost (single-drop); Wed, 26 May 2004 00:00:10 +0000 (UTC)

Received: from lcdoffers.com ([81.189.250.194])

     by hal.kabsi.at (8.11.1/) with SMTP id i4NDQGj0001103773;

     Sun, 23 May 2004 15:26:22 +0200 (CEST)

From: LCDoffers@35.moosq.com

To: Mail-Box2654@kstp.at

Date: Sun, 23 May 2004 13:20:38 UTC

Subject: Dein Zeug's!

Importance: Normal

X-Priority: 3 (Normal)

X-MSMail-Priority: Normal

Message-ID: <135be7b06b181f.8a3a0.qmail@35.moosq.com>

MIME-Version: 1.0

Content-Type: multipart/mixed; boundary="====da02ee36c93c.c3fa21"

Content-Transfer-Encoding: 7bit

X-UIDL: f^'#!f6h"!7a6!!$fM"!
```

Wird das jetzt weitergeleitet zu postfix oder nicht?

Sorry, ich kenne mich bei den Mail-Headern leider nicht so gut aus

MfG smog_at

----------

## holla die waldfee

nein

----------

## Advo

Dein Postfix-Server hat die Mail nicht bekommen, sonst müßte eine weitere Received Zeile von Deinem Postfix im Header sein.

Ich weiß nicht, warum Fetchmail die Mails an Postfix vorbei schleust, fetchmail -a -s sollte sie per default dort abgeben.

Hast Du cron nach den Änderungen neu gestartet? Oder sonst irgendwo im System procmail als MDA für fetchmail definiert? Bin mit meinem Latein leider am Ende.   :Sad: 

~ Advo

----------

