Fetchmail: Unterschied zwischen den Versionen

aus www.kruedewagen.de, Homepage von Ralf und Judith Krüdewagen (Kruedewagen)
Zur Navigation springen Zur Suche springen
 
(5 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 25: Zeile 25:
*Emails für Einträge mit "keep" werden auf dem Server nicht gelöscht
*Emails für Einträge mit "keep" werden auf dem Server nicht gelöscht
*Einträge mit "skip" werden übergangen, wenn <tt>fetchmail</tt> ohne Angabe eines Servers aufgerufen wird.
*Einträge mit "skip" werden übergangen, wenn <tt>fetchmail</tt> ohne Angabe eines Servers aufgerufen wird.
*Die fetchmailrc-Datei muss die Dateirechte 0600 haben mit Owner "user1"


== Fetchmail aufrufen ==
== Fetchmail aufrufen ==
Abholen aller Emails gemäß <tt>$HOME/.fetchmailrc</tt> (außer Server mit "skip"-Eintrag):
Abholen aller Emails gemäß <tt>$HOME/.fetchmailrc</tt> (außer Server mit "skip"-Eintrag):
  /usr/bin/fetchmail
  fetchmail


Abholen von einem Server mit "skip"-Eintrag:
Abholen von einem Server mit "skip"-Eintrag:
  /usr/bin/fetchmail pop.domain4.com
  fetchmail pop.domain4.com
  /usr/bin/fetchmail pop.domain5.com
  fetchmail pop.domain5.com
 
Hinweise:
*Mit der Option -f kann man eine alternative fetchmailrc-Datei angeben, z.B. <tt>fetchmail -f /etc/fetchmailrc-user1</tt>.


== Automatisierung ==
== Automatisierung ==
Zeile 40: Zeile 44:
=== Scripts ===
=== Scripts ===
*Allgemeiner Sammeldienst <tt>/home/user1/bin/fetchmail-user1</tt>
*Allgemeiner Sammeldienst <tt>/home/user1/bin/fetchmail-user1</tt>
<pre>
<source lang="bash">
#!/bin/bash
#!/bin/bash
LOG=/var/tmp/fetchmail
LOG=/var/tmp/fetchmail
Zeile 49: Zeile 53:
# dann fetchmail starten
# dann fetchmail starten
/usr/bin/fetchmail >> $LOG 2>&1
/usr/bin/fetchmail >> $LOG 2>&1
</pre>
</source>


*Seltener Sammeldienst <tt>/home/user1/bin/fetchmail-rest</tt>
*Seltener Sammeldienst <tt>/home/user1/bin/fetchmail-rest</tt>
<pre>
<source lang="bash">
#!/bin/bash
#!/bin/bash
LOG=/var/tmp/fetchmail
LOG=/var/tmp/fetchmail
Zeile 63: Zeile 67:
/usr/bin/fetchmail pop.domain4.com >> $LOG 2>&1
/usr/bin/fetchmail pop.domain4.com >> $LOG 2>&1
/usr/bin/fetchmail pop.domain5.com >> $LOG 2>&1
/usr/bin/fetchmail pop.domain5.com >> $LOG 2>&1
</pre>
</source>


=== Cronjob ===
=== Cronjob ===
Zeile 73: Zeile 77:
</pre>
</pre>


=== Logrotate ===
Datei <tt>/etc/logrotate.d/fetchmail</tt>:
<pre>
/var/tmp/fetchmail {
    compress
    dateext
    maxage 365
    rotate 99
    size=+1024k
    notifempty
    missingok
    copytruncate
}
</pre>
[[Kategorie:Email]]
[[Kategorie:Email]]

Aktuelle Version vom 24. Juli 2008, 14:15 Uhr

Fetchmail dient zum Abholen von Email aus externen Mailboxen (POP3 oder IMAP) und Übergeben der Email z.B. an einen lokalen Email-Server wie Postfix. Dieses wird auch als Sammeldienst bezeichnet.

Fetchmail Konfiguration

Im Homeverzeichnis des Users, der Fetchmail startet, muss die Datei .fetchmailrc erstellt werden.
Beispiel:

# Configuration created by fetchmailconf
set postmaster "user1"
set bouncemail
set no spambounce
set properties ""

poll pop.domain1.de with proto POP3
       user 'user0815' there with password 'xxx' is 'user1' here options fetchall ssl
poll pop.domain2.com with proto POP3
       user 'user0816' there with password 'xxx' is 'user1' here options fetchall ssl
poll pop.domain3.de with proto POP3
       user 'user0817' there with password 'xxx' is 'user1' here options fetchall ssl
skip pop.domain4.com with proto POP3
       user 'user0818' there with password 'xxx' is 'user1' here options keep ssl
skip pop3.domain5.de with proto POP3
       user 'user0819' there with password 'xxx' is 'user1' here options fetchall ssl

Hinweise:

  • Emails für Einträge mit "keep" werden auf dem Server nicht gelöscht
  • Einträge mit "skip" werden übergangen, wenn fetchmail ohne Angabe eines Servers aufgerufen wird.
  • Die fetchmailrc-Datei muss die Dateirechte 0600 haben mit Owner "user1"

Fetchmail aufrufen

Abholen aller Emails gemäß $HOME/.fetchmailrc (außer Server mit "skip"-Eintrag):

fetchmail

Abholen von einem Server mit "skip"-Eintrag:

fetchmail pop.domain4.com
fetchmail pop.domain5.com

Hinweise:

  • Mit der Option -f kann man eine alternative fetchmailrc-Datei angeben, z.B. fetchmail -f /etc/fetchmailrc-user1.

Automatisierung

Hinweise:

  • Fetchmail darf pro User nur einmal (zur gleichen Zeit) laufen !

Scripts

  • Allgemeiner Sammeldienst /home/user1/bin/fetchmail-user1
#!/bin/bash
LOG=/var/tmp/fetchmail
# Eintrage in fetchmail-log machen
echo "######################################" >> $LOG
date >> $LOG

# dann fetchmail starten
/usr/bin/fetchmail >> $LOG 2>&1
  • Seltener Sammeldienst /home/user1/bin/fetchmail-rest
#!/bin/bash
LOG=/var/tmp/fetchmail
# Eintrage in fetchmail-log machen
echo "######################################" >> $LOG
date >> $LOG

# dann fetchmail starten
# holt nur Emails vom angegebenen Server, auch wenn dieser auf "skip" steht in rc file.
/usr/bin/fetchmail pop.domain4.com >> $LOG 2>&1
/usr/bin/fetchmail pop.domain5.com >> $LOG 2>&1

Cronjob

Einträge als Cronjobs in /etc/crontab:

# Fetchmail darf pro user nur einmal laufen !
0,5,10,15,20,25,30,35,40,45,50,55  * * * *  user1 /home/user1/bin/fetchmail-user1
3,33 * * * *  user1 /home/user1/bin/fetchmail-rest

Logrotate

Datei /etc/logrotate.d/fetchmail:

/var/tmp/fetchmail {
    compress
    dateext
    maxage 365
    rotate 99
    size=+1024k
    notifempty
    missingok
    copytruncate
}