# Fetchmail: Cronjob sagt "no mailservers have been specified"

## manuels

Hallo zusammen,

da ich die Einrichtung eines zentralen /etc/fetchmailrc nicht gerade schön finde und somit auf /etc/init.d/fetchmail verzichte, habe ich einen Cronjob erstellt:

```
*  *  * * *     manuel  /usr/bin/fetchmail
```

Leider tut der aber nicht das, was er soll: Mails abrufen.

Statt dessen wird eine ~manuel/dead.letters mit folgendem Inhalt erstellt:

```
fetchmail: no mailservers have been specified.

fetchmail: no mailservers have been specified.

fetchmail: no mailservers have been specified.

[...]
```

Wenn ich fetchmail ohne Parameter (als Nutzer "manuel") aus der Shell aufrufe, funktioniert das ohne Probleme: alle Mails werden von den Servern geholt.

Kann mir jemand von euch hier weiterhelfen?

Danke für Tipps

Manuel

----------

## Necoro

warum übergibst du deinem cron-fetchmail-aufruf nicht einfach "-f /pfad/zu/deiner/config" mit? - Wahrscheinlich findet er die doch nur einfach net, oder?

----------

## manuels

Jetzt kommt zwar keine Fehlermeldung in der dead.letters mehr, dafür gibts folgendes in der /var/log/messages:

```
Feb 16 00:54:01 blackbox cron[9742]: (manuel) CMD (/usr/bin/fetchmail -f ~manuel/.fetchmailrc)

Feb 16 00:54:01 blackbox cron[9741]: (manuel) MAIL (mailed 69 bytes of output but got status 0x004e

Feb 16 00:54:01 blackbox )

```

----------

## jkoerner

Last edited by jkoerner on Wed Jun 08, 2011 6:39 pm; edited 1 time in total

----------

## manuels

Das bringt leider auch nichts; Wieso ist das falsch?

----------

## manuels

Nachtrag: nutze ich das l-Flag (zum Erstellen eines Logs), wird die Datei erst gar nicht erstellt.

Mit 2>&1 >> logfile wird zwar logfile erstellt, aber die Datei bleibt leer.

----------

## Keepoer

Morgen,

also ich hab ja ein ganz ähnliches Setup. Die .fetchmailrc meiner User sieht wie folgt aus:

```
#set syslog

#set postmaster "xxx@xxx.xx"

poll www.foo.com protocol pop3 username user@foo.com password secret is user;

mda "/usr/bin/procmail -f %F -d %T";
```

Fetmail holt dabei die Mail von foo.com ab und reicht diese an user weiter, wobei die Mails dafür an procmail weitergereicht werden!

Den cronjob hab ich dabei über das crontab des users erstellt: crontab -eu user (als root). Aussehen tut das wie folgt:

```
*/5 * * * * fetchmail > /dev/null 2>&1
```

Funktioniert seit Jahren ohne nennenswerte Probleme...

MfG

Keep

----------

## jkoerner

Last edited by jkoerner on Wed Jun 08, 2011 6:38 pm; edited 1 time in total

----------

## manuels

Komisch, dass es bei Keepoer klappt - du hast allerdings keinen extra Nutzer in der crontab angegeben, wenn ich das richtig sehe. Wieso nicht?

Hab das ganze jetzt mal in die /etc/init.d/local.start über 

```
su -c "fetchmail -s -d 60" manuel
```

 eingetragen. 

Gibt es da noch einen eleganteren Weg?

Irgendwas mit start-stop-daemon?

----------

## jkoerner

Last edited by jkoerner on Sat May 21, 2011 4:05 pm; edited 1 time in total

----------

## Keepoer

 *manuels wrote:*   

> Komisch, dass es bei Keepoer klappt - du hast allerdings keinen extra Nutzer in der crontab angegeben, wenn ich das richtig sehe. Wieso nicht?

 

Moin,

weil das der crontab des entsprechenden Users ist, deswegen auch crontab -eu user. Daher muss auch kein Username angegeben werden  :Wink: 

Ich finde deine Fehler auch irgendwie nicht! Hast du meine Lösung mal probiert?

@jkoerner: Von der Verwendung von Fetchmail als Daemon wird (wurde?) abgeraten. Daher hab ich das Ganze auch als User-crontab laufen...

MfG

Keep

----------

