PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : fetchmail



SportyFlo
09.11.02, 19:35
Hi,

entschuldigung für die kommende Frage, ich habe erst seit kurzem Linux (Suse Linux 8.0).

Wenn ich mit fetchmail die E-Mails herunterlade werden diese ja anscheinend
in dem Verzeichnis /var/spool/mail gespeichert.
Dort werden sie alle nacheinander ein eine Datein geschrieben.

1. Gibt es da noch eine andere Möglichkeit die E-Mails wo anders hinzuleiten?
(Ich habe keinen Exchange Server)
2. Wie komme ich von einem Client (Win 98) an meine E-Mails?

Danke
Flo

msi
09.11.02, 19:40
die beste Möglichkeit ist es sicher
sie auf seinem Router (falls man einen
hat) abzuholen, dort einen Mailserver
und courier-imap oder pop einzurichten.
Dann kann man auf dem Client sowohl
unter win als auch unter linux die Mails vom
Server holen.

SportyFlo
09.11.02, 19:45
Naja, als Mailserver wollte ich ja eigentlich den Linux Rechner benutzen.
Einen Mailserver hab ich bereits installiert, wenn damit sendmail gemeint
ist. Und für pop, ich weiß nicht, ob fetchmail ein Server ist, fetchmail
holt eben die Mails ab.

Flo

DaGrrr
09.11.02, 20:10
Hallo,

in /etc/ solltest du die Datei fetchmailrc finden.
Existiert sie nicht kannst Du sie auch anlegen.
Oder Du kannst auch in deinem eigenen Homeverzeichnis die Datei nutzen.

Es gibt die Möglichkeit die Datei fetchmailrc Systemweit zu verwenden oder jeder User kann sich eine
eigene anlegen bzw. wird bei der Installation von fetchmail angelegt.

Der Inhalt sollte so aussehen:

------------------------------------------------------------------------------------
poll pop.provider.de with proto POP3
user 'pop3username' there with password 'xyz123' is 'localusername' here
-------------------------------------------------------------------------------------

pop3username = Loginname fürs E-Mailkonto
localusername = Ist das lokale Postfach, welches du in /var/spool/ anlegen kannst.

Beispiel:
/var/spool/user1

In deinem E-Mail clienten musst Du nur noch einstellen das aus dieser Datei die E-Mails rausgeholt werden sollen.

Wie dein w98 client die Mails aus der Datei rausholt weiß ich leider nciht.

Grüße
DaGrrr

sunshineman2002
10.11.02, 17:24
um die Mails vom Linuxserver auf einen Win.Client mit z.B. Outlook Express zu bekommen mußt Du noch das Prog qpopper installieren.

Und dann Outlook-Express ein dementsprechendes Konto einrichten.


Beispiel Outlook Express:

Extras----> Konten ----> hinzufügen-----> Email (standart)

Der Assistent führt dich durch die Einrichtung

Name und email adresse glaube ich ist nicht besorders entscheidend

eingangsserver (POP3)

IP_Adresse des Servers

Postausgang (SMTP)

IP_Adresse des Servers

Kontoname : Benutzername des Linuxbenutzers
Kennwort: Kennwort des selbigen

und dann sollte es funzen!!!

lennier
10.11.02, 20:57
Es reicht jedoch nicht, qpopper zu installieren, der Demon muss auch noch gestartet werden.
Du musst dazu nur in der /etc/inetd.conf die Raute vor der Zeile

pop3 stream tcp .....

entfernen.

Dann sollte es auch mit dem Empfang der Mails hinhauen.


Christian.

SportyFlo
11.11.02, 08:01
Danke für eure Hilfe, ich werde eure Vorschläge gleich einmal ausprobieren.

Flo

SportyFlo
11.11.02, 15:41
Hi,

also, danke für eure Tip´s hat alles funktioniert, mit fetchmail und qpopper.

Nun wollte ich mit sendmail meine E-Mails versenden, doch von den
Clients aus bekomme ich die Meldung

Bei der Verbindung zum Server ist ein Fehler aufgetreten. Konto: 'flori', Server: '192.168.0.1', Protokoll: SMTP, Anschluss: 25, Secure(SSL): Nein, Socketfehler: 10061, Fehlernummer: 0x800CCC0E

An was kann denn das liegen? Der Server läuft auf jeden Fall.

Flo

lennier
11.11.02, 16:21
Hi,

Gibt dafür zwei Möglichkeiten.

/etc/inetd.conf

Auskommentieren von

smtp stream tcp nowait root /usr/sbin/sendmail sendmail -bs

Zweite Möglichkeit, die ich aber noch zur Zeit ausschließe, ist dass die Firewall noch aktiv ist.
Wenn Du übrigens damit ins Netz gehts, solltest Du unbedingt eine Aufsetzten und von außen Port 25 schließen, damit Du nicht unfreiwillig zum Tor zur Welt für Spammer wirst.

Gruß

Christian.

SportyFlo
11.11.02, 16:40
Optimal, es scheint so, also ob ich nun Kontakt zum Server aufnehmen kann.
Leider bekomme ich nun eine andere Fehlermeldung:

Die Nachricht konnte nicht gesendet werden, da einer der Empfänger vom Server nicht akzeptiert wurde. Die nicht akzeptierte E-Mail-Adresse ist 'flo.Nestmann@gmx.de'. Betreff '', Konto: 'flori', Server: '192.168.0.1', Protokoll: SMTP, Serverantwort: '550 5.7.1 <flo.Nestmann@gmx.de>... Relaying denied', Anschluss: 25, Secure(SSL): Nein, Serverfehler: 550, Fehlernummer: 0x800CCC79

Übrigens, ich hätte gedacht, dass es reicht, dass sendmail in dem Runlevel-Script aktiviert ist,
damit ich kontakt vom Client aufnehmen kann, ich dachte, dass hat die selbe Wirkung,
wie das Auskommentieren in der inetd.conf, naja, muß halt noch vieles dazu lernen.

Ach noch etwas, ich benutze die SuSEfirewall2, um damit den Port 25 zu schützen,
das geht doch irgend wie mit den Iptables, oder kann ich das direkt in der SuSEfirewall2.conf
einstellen?

Flo

lennier
11.11.02, 17:05
Aja, sehe schon, Du hast das Relaying eingeschaltet.
Du solltest am Besten die Mails nicht selbst ausliefern, sondern an Deinen Provider.


Ich habe mal meine sendmailrc.conf mitgeschickt. Die musst Du unter Umständen noch an SuSE 8 anpassen.

In diesem Beispiel íst der Mailserver mail.gmx.net da ich in die fetchmailrc am ende
sendmail -q& angegeben habe, kommt sendmail dadurch auch mit smtp after pop klar.

SportyFlo
11.11.02, 20:31
Hi,

leider hab ich das nicht ganz so hinbekommen (mit dem Relaying), doch nachdem
ich in allen möglichen .conf herumgepfuscht habe und nach einer Installation von
Postfix, welches ich gleich wieder deinstalliert habe und sendmail erneut installiert habe,
geht jetzt komischerweise das Versenden. Leider versendet er mir gleich die E-Mails,
sobald sie in Outlook abgeschickt werden, sie werden also nicht erst zwischengespeichert.

Was könnte ich denn bei meinen wirren Einstellungen geändert haben?
Die Versindungsart in Yast2 steht auf (Permanent,Einwahl,keine Verbindung) Einwahl.
Normalerweise heißt das doch, dass erst bei der nächsten Einwahl die E-Mails übertragen
werden, oder????

Flo

lennier
12.11.02, 07:55
Ups, habe zunächst einen Schrecken bekommen, da Standard MTA auf SuSE 8.1 Postfix ist.

>geht jetzt komischerweise das Versenden. Leider versendet er mir gleich die E-Mails,
>sobald sie in Outlook abgeschickt werden, sie werden also nicht erst zwischengespeichert.

>Was könnte ich denn bei meinen wirren Einstellungen geändert haben?
>Die Versindungsart in Yast2 steht auf (Permanent,Einwahl,keine Verbindung) Einwahl.
>Normalerweise heißt das doch, dass erst bei der nächsten Einwahl die E-Mails übertragen
>werden, oder????


Die Versendungsart müsste bei Dir jetzt auf permanent eingstellt sein.
Deswegen schickt Sendmail die Mails sofort raus. Ich denke nicht, dass er das soll, deshalb
stell ihn entweder auf Einwahl oder auf Keine Verbindung.

in die .fetchmailrc gehört in die Schlusszeile sendmail -q & damit sendmail bei jeder Abfrage des
Postfaches deines Anbieters anschließend Mail verschickt.

Bei mir wird der Fetchmail Prozess erst dann gestartet, sobald ich mich Einwähle. Ich habe dazu
das Skript ip-up.local bearbeitet (steht aber in der SuSE SDB Suchbegriff fetchmail) und ich habe "temporäre Verbindung" bei Sendmail angegeben. So ist gewährleistet, dass der Server mit SMTP after Pop klarkommt.


Gruß

Christian.

SportyFlo
12.11.02, 08:36
Hi,

also, meine "Einstellung" ist bereits auf Einwahl, doch ich werde es noch einmal
mit "keine Verbindung" versuchen.
Die Tips mit dem sendmail -q in der fetchmail werde ich natürlich gleich ausprobieren,
doch zunächste habe ich ein anderes Problem, welches komischerweise plötzlich aufgetreten
ist.
Jede paar Minuten verbindet sich der Linux Rechner mit dem Internet.
In der log/mail steht folgendes:

Nov 12 09:09:33 linux poll.tcpip: Starting mail and news send/fetch
Nov 12 09:09:39 linux poll.tcpip: Done mail and news send/fetch
Nov 12 09:11:29 linux poll.tcpip: Starting mail and news send/fetch
Nov 12 09:11:34 linux poll.tcpip: Done mail and news send/fetch
Nov 12 09:15:56 linux poll.tcpip: Starting mail and news send/fetch
Nov 12 09:16:01 linux poll.tcpip: Done mail and news send/fetch
Nov 12 09:17:41 linux poll.tcpip: Starting mail and news send/fetch
Nov 12 09:17:46 linux poll.tcpip: Done mail and news send/fetch
Nov 12 09:19:35 linux poll.tcpip: Starting mail and news send/fetch
Nov 12 09:19:40 linux poll.tcpip: Done mail and news send/fetch
Nov 12 09:20:44 linux poll.tcpip: Starting mail and news send/fetch
Nov 12 09:20:50 linux poll.tcpip: Done mail and news send/fetch

Wie kann ich denn das verhindern?

Flo

lennier
12.11.02, 09:45
Indem Du dem Mailserver sagst, dass Du keine ständige Verbindung hast. Am besten noch nicht einmal Einwahl. Denn dann versucht Fetchmail (in dem skript /etc/init.d/fetchmail/ in einem bestimmten Abstand (default 900 sekunden) selbstständig die Leitung aufzureißen.

Um das zu verhindern, sollte der fetchmail Prozess nicht bereits beim Booten gestartet werden, sondern jedes Mal, wenn Du eine Internetverbindung startetst. Unten Angegebene Zeile
ist in den heutigen Distributionen bereits vorhanden, nur auskommentiert. Zu editieren ist , sofern ich mich recht erinnere, die ip-up.local.



*****Auszug SuSE - DB http://sdb.suse.de/de/sdb/html/fetchmail.html *******

Wenn mit PPP-Verbindungen gearbeitet wird, empfiehlt es sich, automatisch bei jedem Verbindungsaufbau die Mails abzuholen. Dies kann man in der /etc/ppp/ip-up z.B: folgendermaßen eintragen:

#!/bin/sh
# (c) '97, S.u.S.E. GmbH, Fuerth, Germany
# Klaus Franken
# 23.09.97

BASENAME=`basename $0`
INTERFACE=$1
DEVICE=$2
SPEED=$3
LOCALIP=$4
REMOTEIP=$5

case "$BASENAME" in
ip-up)
/usr/bin/fetchmail -a >> /var/log/fetchmail 2>&1
;;
ip-down)
;;
*)
;;
esac

SportyFlo
12.11.02, 10:46
Also, danke noch einmal.

Das Script funktioniert, leider komm ich mit den anderen Sachen nicht ganz klar.
Naja ich probier einfach noch ein etwas, vielleicht komm ich ja zu einer Lösung.
Das komische ist ja, ich benutze nur den Mailserver, da mir vorher durch das
Masquerading immer bei jedem Start der Clients die Internetverbindung angegangen
ist (DNS war bei den Clients aktiviert), deshalb gehe ich jetzt auch über den Proxy ins
Internet. Das Dumme ist nun, dass mir das selbe passiert, wenn ich nun über
Outlook das erste Mal auf den Webserver zugreife, um E-Mails zu holen, nun wird
auch eine Verbindung aufgebaut. Das muß irgend wie mit der DNS Aufösung zu tun
haben.
Naja, mal schaun, ob ich´s hinbekomme.

Trotzdem, danke für deine Tips und Bemühungen.

Flo

lennier
12.11.02, 14:33
Wie gehts Du mit Outlook auf den Mailserver? Hast Du die IP Adresse angegeben oder etwa
den namen z.b. mailserver.meinnetz.de?

Gib am Besten, falls Du das noch nicht getan hast, die IP Adresse als SMTP und pop3 SErver an, dann reisst er auch nicht die Leitung auf, weil er die DNS auflösen möchte.

Nameserver auf den Klients anzugeben, wird dann notwendig, wenn Du Programme wie FTP Clients oder ICQ benutzt, die teils nicht über den Proxy gehen.

>Das komische ist ja, ich benutze nur den Mailserver, da mir vorher durch das
>Masquerading immer bei jedem Start der Clients die Internetverbindung angegangen
>ist (DNS war bei den Clients aktiviert),

Was meinst Du den damit? Masquerading bedeutet bei Sendmail, dass die lokale Domain wie meinnetz.de in z.B. web.de angepasst wird, damit Deine Clients auch unter dieser Adresse ihre mails verschicken können.

Ansonsten ist Masquerading eine Funktion der Firewall, was konkret bedeutet, dass Deine lokalen Rechner im Netz nicht zu sehen sind, sondern nur die Firewall.


Bearbeite übrigens auch noch /etc/mail/genericstable. Da kannst Du angeben, welche E-Mail Adressen auf Deinem Rechner bearbeitet werden.

z.B.

#user adresse@irgendwo.com
hubert huibuh@klapperkette.de

SportyFlo
12.11.02, 15:27
Naja, für den SMTP Server und den Pop Server hab ich bereits die IP des Linux
Rechners eingegeben, trotzdem wird immer wieder versucht die DNS aufzulösen

Ich hab´s jetzt mal ganz hardcore gemacht und Linux noch einmal neu installiert
und bis jetzt nur das Internet, den lokalen DNS(bind9), Squid eingerichtet und Masquerading, Forwarding eingestellt.
Leider hab ich nun schon wieder mein Anfangsproblem, welches sicherlich auch
für das Mailserver Problem verantwortlich war. Und zwar das sich wie auch
beim Mailserver (nur nicht beim Starten von Outlook) die Internetverbindung
auf dem Linux R. automatisch aufgebaut wird, sobald ein Client Rechner gestartet wird.

Das muß sicherlich alles mit der DNS Auflösen zu tun haben.

Viele Einstellungen hab ich nicht vorgenommen, bei meinem lokalen DNS hab
ich nichts verstellt und auf den Clients hab ich auch nur den Gateway (Linux IP)
und den DNS (Linux IP) eingerichtet.
Irgend wie kann der lokale DNS nicht Auflösen und leitet dann zum Internet
Provider weiter.

Ich muß einfach solange ausprobieren, bis ich dieses Problem gelöst habe, dann
funktioniert´s sicherlich auch mit dem Mailserver.

Flo

lennier
12.11.02, 21:49
Naja, wegen so eines Problems gleich Radikal alles zu plätten verstehe ich nur, wenns mit
der Hardware nicht klappt.

Sieh mal in der /etc/rc.config.d/sendmail.rc.config nach, ob dieser Eintrag vorhanden ist.
Er verbietet DNS Anfragen und sendet "dumm" alles an das angegebene Mail Relay.

SENDMAIL_NODNS="yes"

Dann versucht sendmail wenigstens nicht gleich die DNS der versendeten Mail zu überprüfen.

Was natürlich noch dafür verantwortlich sein kann, dass die Leitung aufgerissen wird, ist beispielsweise Windows XP, das bekanntlich ständig versucht, nach Hause zu telefonieren.
Hast Du XP installiert, beschränke die Kontaktfreudigkeit mit XP-Antispy.

Hast Du kein XP sieh mal nach, ob ein Werbeprogramm ein UDP Signal nach draußen schickt. Das geht mit (Ad-Aware).


Wenn also Linux auch ohne, dass die Clients angeschaltet sind, selbstständig ins Internet geht, ist etwas an der Konfiguration falsch.


Deshalb folgende Fragen:

1. Wann wird bei Dir fetchmail gestartet? bereits beim Booten oder erst beim Aufbau
der PPP Verbindung?
2. In welchen Intervallen fragt fetchmail die Post ab.
3. Ist Sendmail nun endlich so eingerichtet, dass er nicht selbstständig die Leitung aufreisst, sobald Mail verschickt wird? Also auf "Keine Verbindung".

Gruß

Christian.

SportyFlo
13.11.02, 09:56
Hi,

also die config /etc/rc.conifg.d/sendmail.rc.config finde ich leider
bei mir nicht. Das heißt, es gibt nur die /etc/rc.conifg.

Aber ich hab so und so im Moment kein sendmail im Einsatz, da ich
ja erst das mit dem automatischen Starten der Inter. Verbindung
hinbekommen wollte.
Auf jeden Fall, wenn kein Client an ist, also nur der Server(Linux),
dann geht er nicht automatisch ins Internet, das passiert
wirklich nur bei jedem Start der Clients oder eben,
wenn die Clients schon an sind und das erste Mal
per Outlook die E-Mails vom Server geladen werden, dann
wird für eine kurze Zeit das Internet ebenfalls geöffnet.
Bei Outlook kommt dann die Meldung:

Verbindung zu "Postfachname" wird versucht

dann geht er (Linux Server) ins Internet und die Meldung von
Outlook verschwindet.
Werden nun ein zweites Mal die E-Mails abgerufen, verbindet
er sich nicht mehr.
Ich denke, dass muß mit der DNS-Auflösung zu tun haben.
Das erste Mal löst er sie beim Internet Provider auf und
beim zweiten Mal löst er sie beim lokalen DNS auf. Bind 9

Stimmt, dass mit keine Verbindung hab ich allerdings noch nicht
eingestellt, werd ich dann gleich mache, sobald ich alle
Mailserver Programme wieder eingerichtet habe.

Flo

lennier
13.11.02, 10:46
>Auf jeden Fall, wenn kein Client an ist, also nur der Server(Linux),
>dann geht er nicht automatisch ins Internet, das passiert
>wirklich nur bei jedem Start der Clients oder eben,
>wenn die Clients schon an sind und das erste Mal
>per Outlook die E-Mails vom Server geladen werden, dann
>wird für eine kurze Zeit das Internet ebenfalls geöffnet.

Outlook sieht immer sofort nach, ob Mail da ist.

>Ich denke, dass muß mit der DNS-Auflösung zu tun haben.
>Das erste Mal löst er sie beim Internet Provider auf und
>beim zweiten Mal löst er sie beim lokalen DNS auf. Bind 9

Die DNS muss nur dann aufgelöst werden, wenn Du keine IP Adressen angebeben hast.
Bind braucht Dein Server doch gar nicht, ein eigener DNS Server ist normalerweise nicht notwendig, denn alles wird bei mir an den Provider weitergegeben. z.b. über die resolv.conf.

Und: ich weiß noch immer nicht, welche Betriebssysteme Du einsetzt, ob Du Adware betreibst. Wie Du siehtst reißt der Server immer dann eine Leitung auf, sobald die Klienten eine Anfrage starten. Und Du musst jetzt herausfinden, welches Programm raus will.

>Stimmt, dass mit keine Verbindung hab ich allerdings noch nicht
>eingestellt, werd ich dann gleich mache, sobald ich alle
>Mailserver Programme wieder eingerichtet habe.

SportyFlo
13.11.02, 11:08
Also, auf den Clients ist Win 98 und Win Me.
Stimmt ich müsste mal alles untersuchen, ob nicht ein Programm ins Internet will
oder ich vielleicht doch einen Virus (hab aber schon hundert Mal den Viren scanner
duchlaufen lassen).
Übrigens, in der resolv.conf hab ich nur nameserver 127.0.0.1 stehen.
Den lokalen DNS brauche ich eigentlich nur wegen Squid, da bei mir immer
Squid nach dem Starten, wenn keine Internetverbindung da war, gleich
wieder beendet wurde.

Flo

lennier
13.11.02, 12:55
Hi,



Für Squid brauchst Du keinen lokalen Nameserver, sondern Du kannst bestehende DNS integrieren,

Dazu musst Du nur folgenden Eintrag in die squid.conf vornehmen.

dns_nameservers 193.101.111.20 193.101.111.10

Die beiden Nameserver müssen natürlich durch die Deines Providers ersetzt werden. Danach
gibst Du rcsquid restart ein und er sollte es auch ohne tun.

Um SuSi zu sagen, welchen Nameserver es benutzen soll, machst Du das direkt über Yast2 oder
in der resolv.conf

search heimnetz.de
nameserver 145.253.2.203
nameserver 145.253.2.75


Wenn Du rechner direkt über ihren Namen ansprechen möchtest editierst Du zuletzt nur noch die /etc/hosts
Für die Namensauflösungintern reicht das vollkommen aus, dazu bedarf es nun wirklich keines eigenen Nameservers. :-)

127.0.0.1 rudi localhost
192.168.1.254 koffer.meinnetz koffer
192.168.1.3 raabe.meinnetz raabe
192.168.1.5 siebenstein.meinnetz siebenstein


Gruß, Christian.

SportyFlo
13.11.02, 13:33
Das wird natürlich alles gleich ausprobiert, vielleicht startet ja das Internet
dann nicht mehr automatisch.

In der /etc/hosts steht nämlich bei mir nur

127.0.0.1 localhost
192.168.0.1 .linux. local . linux

und in der resolv.conf steht
localhost 127.0.0.1

Ich versuch mal alles so zu ändern wie du´s mir geschildert hast.

Bis dann
Flo