SpamAssassin funktioniert mit Getmail nicht richtig ...

Status
Für weitere Antworten geschlossen.

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Jetzt hat es geklappt ohne die Ausgabe einer Fehlermeldung.

Habe eine Testmail mir zugeschickt und sie dann nach deiner Anleitung abgeholt. Wurde auch von SA überprüft.

Dann gleichen Vorgang nochmals. Hat auch wieder geklappt.

Was ist jetzt zu tun?
Das ist schön :)
Jetzt solltest du dein getmail Script wieder starten und das Mailabholen sollte klappen.
 

Hawk999

Benutzer
Mitglied seit
08. Feb 2010
Beiträge
273
Punkte für Reaktionen
0
Punkte
16
@jahlives

Es klappt. Vielen Dank für deine Mithilfe!
 

Hawk999

Benutzer
Mitglied seit
08. Feb 2010
Beiträge
273
Punkte für Reaktionen
0
Punkte
16
@jahlives

Gerade ist der Fehler wieder aufgetreten. Ich konnte keine Mails empfangen. Nachdem ich das getmail manuell ausgeführt habe, konnte ich wieder Mails empfangen!
 

Hawk999

Benutzer
Mitglied seit
08. Feb 2010
Beiträge
273
Punkte für Reaktionen
0
Punkte
16
@jahlives

Ich habe das nochmals nachvollzogen mit einer Mail aus dem Spamverdachtordner bei GMX. Die Datei wurde auch nicht abgerufen.

Ich habe dann deinen Befehl
Rich (BBCode):
su Ronald -c "/opt/bin/getmail -q -d --getmaildir /volume1/homes/Ronald/.getmail -r gmx.rc"

verwendet.

Als Fehler kommt nur:


Warning: filter Filter_external spamc (allow_root_commands="True", arguments="('-s', '250000', '-p', '783', '-u', 'Ronald')", command="spamc", exitcodes_drop="('99', '100')", exitcodes_keep="('0',)", group="None", ignore_stderr="False", path="/usr/syno/mailstation/bin/spamc", unixfrom="False", user="None") returned fewer headers (12) than supplied (22)
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Und was sagen die Logs des getmail Scriptes dazu? Hoffentlich hast du jetzt mal Logfiles für das getmail Script gemacht ;)
Irgendwelche Fehlermeldungen? Läuft denn das getmail Script, wenn du es manuell einmal neugestartet hast? Es könnte sein, dass es etwas bringen könnte, das Script einmal täglich (via cronjob) zu Beenden und Neuzustarten. Kann ich so aber nicht mit Sicherheit sagen, weil ich diese von dir beschriebenen Probleme nicht habe
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Hast du denn im getmail Scipt auch das Kommando su -c .... drinne?
Ich meinem Script gibt es ja zwei Möglichkeiten die E-Mails abzuholen. Welche der beiden Wege hast du gewählt?
 

Hawk999

Benutzer
Mitglied seit
08. Feb 2010
Beiträge
273
Punkte für Reaktionen
0
Punkte
16
Also in meiner getmail.log steht nichts drin, was auf einen Fehler hindeutet :mad:

Dort steht nur das die Mails abgeholt wurden.

Den Fehler hatte ich ja nun auch zwei Tage nicht mehr. Das war nur, als jetzt auf einmal zwei oder mehr SPAM-Mails eingingen.
 

Hawk999

Benutzer
Mitglied seit
08. Feb 2010
Beiträge
273
Punkte für Reaktionen
0
Punkte
16
Rich (BBCode):
su Ronald -c "/opt/bin/getmail -q -d --getmaildir /volume1/homes/Ronald/.getmail -r gmx.rc"

Damit habe ich eben die Mails abgerufen!



Das ist mein automatischer Aufruf:

Rich (BBCode):
#!/tmp/sh
PATH=/tmp
pfad_getmail="/volume1/homes/Ronald/getmail.sh"

if test -e /tmp/checkmail ; then
echo "Code rennt bereits"
  exit
  fi

  if test "$(whoami)" = "root" ; then
  echo "Code darf NIEMALS unter root laufen. Das gibt Aerger mit Dovecot!"
   exit
   fi

   if test ! -e $pfad_getmail ; then
    echo "$pfad_getmail konnte nicht gefunden werden"
     exit
     fi

     i=0
    touch /tmp/checkmail
    echo $$ > /tmp/checkmail
     while true; do
      s=`pidof imap`
       if test "$s" != '' ; then
         i=0
           $pfad_getmail &> /dev/null 2>&1
            sleep 60
              else
                i=`expr $i + 1`
                 sleep 1
                    if test `expr $i % 10800` -eq 0 ; then
                       i=0
                          $pfad_getmail &> /dev/null 2>&1
                            fi
                             fi
                             done
 

Hawk999

Benutzer
Mitglied seit
08. Feb 2010
Beiträge
273
Punkte für Reaktionen
0
Punkte
16
Das ist meine getmail.sh

Rich (BBCode):
[options]
delete = true
message_log = ~/.getmail/log
message_log = /var/log/getmail.log

[retriever]
type = SimplePOP3SSLRetriever
server = pop.gmx.net
port = 995
username = *****
password = *****
use_apop = false
timeout = 180
delete_dup_msgids = false

[destination]
type = Maildir
path = ~/.Maildir/
user = Ronald
filemode = 0600

[filter-spamassassin]
type = Filter_external
path = /usr/syno/mailstation/bin/spamc
allow_root_commands = true
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0

Hawk999

Benutzer
Mitglied seit
08. Feb 2010
Beiträge
273
Punkte für Reaktionen
0
Punkte
16
Muß ich irgendwo denn was einfügen?

Oder besser gesagt wo hast du denn da noch was verändert?
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Hauptsächlich geht es um diesen Teil:
Code:
[FONT=monospace]
[/FONT]## Pfad zu getmail.sh hier anpassen[FONT=monospace]
[/FONT]pfad_getmail="/path/to/getmail"[FONT=monospace]
[/FONT]command_getmail="-q -d --getmaildir /volume1/homes/<USER>/.getmail -r account1.rc -r account2.rc -r account3.rc -r account4.rc"[FONT=monospace]
[/FONT]getmail_log="/path/to/log/file"
Dabei ist pfad_getmail der Pfad zum getmail Binary (bei dir wohl /opt/bin/getmail) command_getmail der Parameter String, mit den Optionen, die an getmail gegeben werden. Und getmail_log das zu verwendende Logfile
In diesem Code werden Fehlermeldungen leider noch auf die Konsole ausgegeben, wenn du wirklich alle Meldungen in deinem Logfile und sonst nirgends haben willst, dann solltest du dort wo das Kommando aufgerufen wird folgende Anpassung machen
Code:
while true; do
 s=`pidof imap`
 if test "$s" != '' ; then
  i=0
  $pfad_getmail $command_getmail > $getmail_log
  sleep 60
 else
  i=`expr $i + 1`
  sleep 1
  if test `expr $i % 3600` -eq 0 ; then
   i=0
   $pfad_getmail $command_getmail > $getmail_log
  fi
 fi
done
##ersetzen in
while true; do
 s=`pidof imap`
 if test "$s" != '' ; then
  i=0
  $pfad_getmail $command_getmail [COLOR=Red][B]>> $getmail_log 2>&1[/B][/COLOR]
  sleep 60
 else
  i=`expr $i + 1`
  sleep 1
  if test `expr $i % 3600` -eq 0 ; then
   i=0
   $pfad_getmail $command_getmail [COLOR=Red][B]>> $getmail_log 2>&1[/B][/COLOR]
  fi
 fi
done
 

Hawk999

Benutzer
Mitglied seit
08. Feb 2010
Beiträge
273
Punkte für Reaktionen
0
Punkte
16
Rich (BBCode):
#!/tmp/sh
PATH=/tmp
pfad_getmail="/volume1/homes/Ronald/getmail.sh"
command_getmail="-q -d --getmaildir /volume1/homes/Ronald/.getmail -r gmx.rc -r master.rc -r"
getmail_log="/var/log/getmail.log"

if test -e /tmp/checkmail ; then
echo "Code rennt bereits"
  exit
  fi

  if test "$(whoami)" = "root" ; then
  echo "Code darf NIEMALS unter root laufen. Das gibt Aerger mit Dovecot!"
   exit
   fi

   if test ! -e $pfad_getmail ; then
    echo "$pfad_getmail konnte nicht gefunden werden"
     exit
     fi

     i=0
    touch /tmp/checkmail
    echo $$ > /tmp/checkmail
     while true; do
      s=`pidof imap`
       if test "$s" != '' ; then
         i=0
           $pfad_getmail $command_getmail >> $getmail.log 2>&1
            sleep 60
              else
                i=`expr $i + 1`
                 sleep 1
                    if test `expr $i % 10800` -eq 0 ; then
                       i=0
                          $pfad_getmail $command_getmail >> $getmail_log  2>&1
                            fi
                             fi
                             done

Irgendwo muß ein Fehler sein. Die Mails werden nicht mehr abgerufen, wenn ich versuche das Script zu starten, so sagt er immer, dass der Code bereits läuft. Eine Aktivität von getmail ist im Rescourcen Manager nicht zu erkennen
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
irgendwo muß ein Fehler sein. Die Mails werden nicht mehr abgerufen, wenn ich versuche das Script zu starten, so sagt er immer, dass der Code bereits läuft. Eine Aktivität von getmail ist im Rescourcen Manager nicht zu erkennen
Dann kann der "Fehler" nur sein, dass /tmp/checkmail noch existiert. Lies mal die PID aus die drinstehen sollte und prüfe, dass getmail wirkich nicht mehr läuft
Code:
kill $(cat /tmp/checkmail)
und danach die /tmp/checkmail löschen und getmail Script neustarten
 

Hawk999

Benutzer
Mitglied seit
08. Feb 2010
Beiträge
273
Punkte für Reaktionen
0
Punkte
16
Ich glaub ich war einfach zu doof! Es geht wieder! Hat /opt/bin/getmail nichr richtig gesetzt.

Jetzt beobachte ich das mal und schaue ob mir Fehler in /var/log/getmail.log angezeigt werden!
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat