E-Mails via POP3 abholen und an Exchange zustellen (POP Connector)

Ich habe es schon ewig nicht mehr gebraucht, aber nun bin ich doch wieder in die Situation gekommen, in der ich einen POP Connector für Exchange benötigte. Ursache ist eine etwas eigenwillige Konfiguration der Mailserver meines neuen Hosters. Bis das Problem gelöst ist, muss ich genau ein Postfach per POP3 abholen und an den lokalen Exchange Server zustellen. Vor Jahren habe ich dazu immer die Softw3are POPcon von Servolutions benutzt, ich wollte für das eine Postfach und eine Übergangsbastellösung aber nicht 79 EUR ausgeben. Es gab mal einige kostenlose Alternativen zu POPcon, diese scheinen aber mittlerweile alle verschwunden zu sein, oder sind hoffnungslos veraltet.

Ich konnte mich noch dunkel dran erinnern auch mal etwas mit Fetchmail auf einem Linux Server gebaut zu haben, aber eine Linux VM wollte ich für das eine Postfach nun auch nicht installieren. WSL scheint mir da ebenfalls etwas übertrieben zu sein, glücklicherweise kann man mittels Cygwin aber viele Linux Tools auch auf Windows ausführen. Falls es also auch mal jemand gebrauchen kann, hier eine Quick and Dirty Anleitung für einen POPConnector mittels Fetchmail auf Windows.

Zunächst muss Cygwin runtergeladen und installiert werden. Ich lasse Cygwin und Fetchmail direkt auf dem Exchange Server laufen. Für mein einzelnes Postfach ist das für mich OK, jedoch umgehe ich natürlich auf diesem Weg meinen SPAM-Filter, alles was in der POP Mailbox liegt, wird auch in mein Postfach zugestellt. Ist nicht schön, aber für meine Übergangsbastellösung für mich vertretbar. Cygwin gibt es hier zum Download:

https://cygwin.com/install.html

Die Installation von Cygwin und Fetchmail ist schnell erledigt, daher hier nur der Vollständigkeit halber die unkommentierten Screenshots:

E-Mails via POP3 abholen und an Exchange zustellen (POP Connector)

Cygwin Installation

Cygwin Installation

Cygwin Installation

Als Packet muss nur fetchmail ausgewählt werden. Entsprechende Abhängigkeiten werden automatisch installiert:

Cygwin Installation

Nachdem Cygwin und Fetchmail installiert sind, benötigt ihr die folgenden 3 Dateien aus diesem Download:

Die 3 Dateien aus dem Archiv müssen jetzt in das Installationsverzeichnis von Cygwin kopiert werden. In meinem Fall ist es d:\Tools\Cygwin:

Fetchmail Konfiguration

In der Datei fetchmail.cmd muss nun der Pfad zum Bin-Verzeichnis von Cygwin angepasst werden:

Fetchmail Konfiguration

In der Datei fetchmailrc werden die Postfächer eingetragen, welche vom POP3 Server abgeholt werden und an Exchange zugestellt werden sollen:

Fetchmail Konfiguration

Ich lasse fetchmail direkt auf dem Exchange Server laufen, daher habe ich hier localhost als smtphost eingetragen. Wenn fetchmail auf einem anderen Server läuft, kann natürlich auch der Name des Exchange Servers als smtphost eingetragen werden. Wenn mehrere POP3 Postfächer abgeholt werden sollen, können die 3 Zeilen entsprechend mehrfach in der Datei fetchmailrc eingetragen werden.

Die Datei fetchmailrc benötigt nun noch bestimmte Zugriffsrechte, damit fetchmail nicht meckert. Dazu muss ein Cygwin Terminal (Bash) gestartet werden und die Zugriffsrechte der Datei angepasst werden. Im folgenden Screenshot ist zu sehen, wie es funktioniert:

Fetchmail Konfiguration

Jetzt kann das Script „fetchmail.cmd“ ausgeführt werden und die Mails werden vom POP3 Server abgeholt und an Exchange zugestellt. Im Cygwin Verzeichnis wird dazu ein Logfile erstellt:

Fetchmail Log

Damit Fetchmail alle paar Minuten ausgeführt wird, kann ein geplanter Task angelegt werden. Hier muss nur die fetchmail.cmd beispielsweise alle 5 Minuten ausgeführt werden:

Fetchmail Task

So funktioniert es gut und ich hab jetzt mal 94 Mails zu bearbeiten…

31 Gedanken zu „E-Mails via POP3 abholen und an Exchange zustellen (POP Connector)“

  1. Hallo Frank,
    dein Blog ist klasse und ich bin hier immer wieder gern.
    Ich stehe gerade auch vor einer solchen Aufgabe wie hier in diesem Beitrag. Ich gedenke, sie mit IMAPSYNC zu lösen. Es holt die Mails per IMAP ab und stellt sie ebenfalls per IMAP zu. IMAP hat gegenüber der SMTP-Methode den großen Vorteil, dass bei der Abholung die Header der Mail wenig oder gar nicht verändert wird. Ausführen lässt sich IMAPSYNC per Batch in Dauerschleife. Für die Anmeldung am Exchange-Server mit nur einem User habe ich dankbarer Weise auf einen anderen Blogbeitrag von Frank zurückgegriffen. IMAPSYNC läuft direkt auf dem Exchange-Server und die IMAP-Ports des Servers sind auch nur vom Server aus erreichbar, nicht von anderen IPs.

    Bei den Lösungen, die per SMTP die Mails zustellen, gibt es das Problem, dass im Outlook dann ein falsches „Erhalten“ Datum zu sehen ist. Zumindest ist es um das Abholintervall falsch, aber es kann auch um viel mehr verschoben sein, wenn entweder der Exchange-Server oder das POP-2-SMTP-Tool gerade nicht lief oder wenn die lokale Umgebung warum auch immer mal Internetprobleme hatte. Am problematischsten ist hierbei die unvermeidbare Zeitverschiebung, welche durch das Abholintervall entsteht.

    Hat jemand Erfahrung mit IMAPSYNC ? Gemeint ist imapsync von Gilles Lamiral

    Antworten
  2. Hat einer eine Idee, wie man fetchmail dazu bewegen kann immer STARTTLS zu verwenden? Der Parameter sslproto ‚auto‘ oder ‚TLS1.2+‘ sorgt nur dafür, dass trotzdem eine Fehlermeldung erscheint man möge bitte STARTTLS verwenden :(

    Antworten
  3. Für alle, für welche es noch interessant ist:

    POPtm ist kostenlos (auf sourceforge verfügbar), läuft als Dienst auch auf Core und aus meiner Sicht recht einfach über Browser konfigurierbar.

    Antworten
  4. Vielen Dank für diesen Beitrag.
    Hatte in der Vergangenheit Pop3Connex im -einsatz, bei einem Serverumzug scheiterte es nun an der Aktivierung über den Testzeitraum hinaus.
    Da kam dieser Beitrag genau recht.
    Der Service ist schnell installiert und konfiguriert.
    Habe nur geändert, dass die Logfiles in einen abweichenden Ordner abgelegt werden.

    Antworten
    • Nachtrag:
      Habe noch in der fetchmail.sh den Parameter „–limit 0“ angegeben, da direkt beim ersten Abruf eine Mail verloren ging. Ich gehe aber davon aus, dass der alte POP Connector diese E-Mail auch ignoriert hat, da es sehr unwahrscheinlich ist, dass gerade zum Umstellungszeitraum eine so große Mail reinkam.

      Auszug aus dem Protokoll:
      fetchmail: Nachricht Empfänger@domain.de@pop.xxx.de:1 von 1 wird gelesen (111967435 Bytes) (Log-Meldung unvollständig)
      fetchmail: SMTP-Fehler: 552 5.3.4 Message size exceeds fixed maximum message size
      fetchmail: gelöscht

      Antworten
  5. Ich habe bei drei Kunden POPCollector laufen (https://www.cedit.biz/software-products/10-pop-collector). Benötigt für SSL auch STunnel. Sicher etwas priemelig bei der Einrichtung, aber läuft sehr stabil. Und gratis :)

    Ich könnte gar nicht mehr sagen, wo Probleme oder Rückfragen waren, da von SBS 2008 bis Exchange 2013 auf SRV 2012 alle Systeme nach dem Setup und Konfiguration bis zum Ende durchliefen :)

    Etwas umständlich ist die Postfachpflege, aber wenn sich da nicht viel ändert, alles ruhig :)

    Antworten
      • POPCon kommt mir nicht mehr auf die Maschinen. Das Abholen der Mails dauert aus unklaren Gründen viel zu lange. Für nur ein Megabyte benötigt POPcon (V3.94) fast eine halbe Minute, während der POP-Abruf derselben Mail mit Outlook oder anderen Mailprogrammen lediglich von der Bandbreite begrenzt wird. Ich habe das nach diversen Problemen bei Kunden ausführlich in verschiedenen Umgebungen analysiert, die Ursache liegt zweifelsfrei bei POPcon. Noch ärgerlicher ist jedoch die Tatsache, daß der Support nicht erreichbar ist und auch auf mehrfache Anschreiben nicht reagierte. Ein absolutes NoGo für eine kostenpflichtige Software. Ich würde sie mittlerweile nicht mal geschenkt einsetzen.

        Antworten
      • Leider ist servolutions nicht erreichbar.
        Wir haben das Upgrade von v3.x auf v4.x gekauft, es gab Probleme bei der Installation.
        Der Lizensierungsprozess funktioniert online, schreibt aber nicht mehr die Lizenz in die registry. Das führt dazu, dass bei Neuinstallation oder Restore der Lizensierungsprozess erneut durchgeführt werden muss.
        Servolutions reagiert nicht auf mail und Nachrichten auf dem AB, direkt per Telefon ist niemand zu erreichen. Damit kann trotz Kauf das Produkt nicht mehr aktiviert werden, das Geld ist „futsch“.

        Antworten
  6. Hallo Zusammen,

    Funtioniert die es auch mit Catchall Postfächern ?? Wenn ja welchen Eintrag muss ich dann bei smtpname machen ??

    Vielen Dank im Voraus
    Andreas

    Antworten
  7. Hallo,

    woran die wenigsten denken: hMailServer kann das auch. Es gibt sogar eine Anleitung dafür: http://www.microlinc.de/index.php?lev1=22&lev2=1&id=215 .

    Den hMailserver kann man auch nett ausserhalb des Exchange programmieren und vmtl. funktioniert auch das Senden über verschiedene Smarthosts abhängig von der Domain des Absenders was im Exchange als solches schon mal nicht geht.

    Was evtl. ein Problem werden kann: .Net 3.5 wird benötigt (bei Exchange Servern fremde .Net Versionen zu benutzen kann problematisch sein) und sollte _vor_ der Installation des hMailServer auf dem Exchange installiert werden. Ebenso: direkt nach der Installation läuft der hMailServer Dienst an und erwartet an den üblichen E-Mail Ports uneingeschränkt operieren zu können was natürlich nicht funktioniert. Daher: Protokolle abschalten oder Ports anpassen.

    Antworten
  8. Hallo Frank,
    kurze Frage zu deiner Fetchmail Lösung. Hast du im Exchange-Connector TLS abgeschaltet, damit das funktioniert? Sollte bei lokaler Verarbeitung der E-Mails ja kein Problem darstellen, jedoch probiere ich gerade einen Exchange Online (Office 365) über Fetchmail mit E-Mails zu füttern, jedoch bricht Fetchmail die Übertragung mit folgender Fehlermeldung ab:

    SMTP error: 454 4.7.0 Connection is not TLS encrypted. Recipient organization requires TLS.

    Im Manual von Fetchmail finde ich einfach keine Möglichkeit für den SMTP Weiterversand TLS zu aktivieren. Wie hast du das bei dir gelöst? Abschalten von TLS wäre in meinem Fall ja nicht wirklich eine Option.

    Über kurze Rückmeldung würde ich mich freuen,
    Danke und Gruß
    Dominik

    Antworten
  9. Ich kann noch pop2exchange empfehlen.
    Läuft und ist eine günstige Lösung mit deutschem Support.
    Hatte auch nach dem Umstieg vom SBS2011 nach einer Lösung gesucht und vielen waren zu kompliziert oder zu teuer.

    Antworten
  10. Nur der guten Ordnung halber:

    POP Connectoren für Exchange sind seitens Microsofts nicht supportend, d.h. ihr kriegt keinen Support von MS, wenn euer Exchange Server mal steht.

    Ich habe auch noch nie einen Grund gesehen, sowas zu brauchen..

    Antworten
    • Quelle?

      POP Connectoren nutzen i. d. R. die Schnittstelle SMTP. Diese ist eine Kernfunktionalität von Exchange und von Microsoft supported. Wenn etwas hängt hilft ein Blick ins Log (POP Collector seitig und / oder Exchange seitig [ProtocolLog -> SMTP]). Dann ist klar ob Exchange Schuld ist oder der Connector. In meinen Augen kann deine Aussage daher nicht stimmen.

      Antworten
      • Kenne die Aussage nur in Zusammenhang des SBS 2011 Pop3 Connector, der von MS nur für den SBS 2011 supported wurde, nicht aber für normale Exchange Installationen.

        Das MS den Support einstellt, wenn die Mails über eine POP32SMTP Connector an Exchnage weiter geleitet wird, wäre mir neu,
        Exchange erhält die Mails normal per SMTP, Quell IP ist dann natürlich localhost oder eine IP im lokalen LAN, wo der Connector drauf läuft.

        Wäre nett, wenn die Quelle für den Support Ausschluß von MS belegt würde.

        Antworten
  11. Eine meiner Meinung nach auch recht brauchbare Lösung ist SamrtPOP2Exchange von Jam-Software.

    https://www.jam-software.de/smartpop2exchange

    Die Software hat neben der Funktionalität des POP3 Downloader auch einen Spam und Virenfilter integriert.
    Die Oberfläche sieht zwar nicht mehr ganz so taufrisch aus, aber die Software wird immer noch weiter entwickelt und funktioniert recht zuverlässig.

    Antworten
  12. Hallo,

    Schöner Artikel, aber Fetchmail ist viel zu umständlich.
    Nutze seit jahren pop3connex
    http://pop3connex.itdtel.net/?lu_lang_code=en-us
    Und habe es unter win2019 laufen. Ist kostenlos nach registrierung,
    Auf win2019 muss donNetFramework etwas bezüglich ssl angepast werden, dann läuft es super:

    We have made the following improvements in this area:
    • The following registry keys can be set to use the operating system defaults for SSL and TLS instead of the hardcoded .NET Framework defaults for a managed application running on the computer.
    ○ For 64-bit operating systems:
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v2.0.50727]
    „SystemDefaultTlsVersions“=dword:00000001

    [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v2.0.50727]
    „SystemDefaultTlsVersions“=dword:00000001

    Aus

    Antworten
    • Den pop3Connex Finde ich auch top, nicht perfekt. aber schon sehr gut. Habe den auch auf ein paar Systemen laufen. Wollte den jetzt auf einem neuen auch wieder einsetzen. Leider ist die Seite offline seit einiger Zeit. Lässt sich also nicht mehr aktivieren. Ich weiß jetzt nicht ob die nun auch nach 60Tagen den Dienst einstellt, auch wenn die nicht nach Hause telefonieren kann (da die Seite offline ist).

      Die Aktivierungsschlüssel hatte ich mir natürlich nicht notiert für die laufenden Systeme.

      Hast du die Software zufällig in letzter Zeit Mail neu eingesetzt?

      Ansonsten läuft bei mir noch PopCollector von https://www.cedit.biz/software-products/10-pop-collector
      Sehr zuverlässig, allerdings benötigt man für den Einsatz als Dienst und SSL zusätzliche Tools.

      Antworten
    • Das dürfte wohl daran liegen, dass große E-Mails mehr Zeit beim Abruf brauchen, gerade bei langsamen Internetverbindungen – die SMTP-Verbindung am Exchange hat einen Timeout und macht einfach zu. Das war auch ein Problem am POP-Connector in den früheren SBS-Servern. Die Timeouts lassen sich aber auf größere Werte einstellen.

      Das wäre eigentlich kein Problem, wenn der POP-Connector die E-Mail erst vollständig herunterlädt und im Anschluss per localhost/LAN zustellt. Wenn der POP-Connector aber während seinem (langsamen) Download bereits die SMTP-Verbindung herstellt und der SMTP-Server/Exchange die Verbindung nach Timeout schließt geht der Abruf ins Klo.

      Antworten
      • Da hast du Recht Martin. Zum Glück sind die externe Postfächer oft eingeschränkt was die Nachrichtengrösse betrifft. Dennoch war es mir wichtig es kurz zu erwähnen, denn sonst funktioniert die Software einwandfrei.

        POPCon versorgt zuerst den Download und anschliessend separat die Zustellung im jeweilige Postfach.

        Antworten
  13. Hallo Frank,
    alternativ zu deiner Portierung funktionieren folgende Tools sehr gut:
    – PopGrabber
    – pullution.net

    Ersteres haben wir in einer kl. Insellösung problemlos noch im Einsatz.

    Gruß,
    Daniel

    Antworten
    • Hallo Daniel,

      ich habe mir gerade deine beiden Tools angeschaut (die kannte ich nicht):

      PopGrapper kann nur pop3 unverschlüsselt.
      pollution.net benötigt .Net 3.5 – und bei .Net bin ich immer vorsichtig bei Exchange Servern

      Da finde ich die fetchmail als Exchange autarke Lösung mit ssl Support besser

      Antworten
      • Alle POP Connectoren die nur unverschlüsselt können, können mit STunnel gepimpt werden. Wunderschönes Tool, ordentliche Log Funktion, integriert sich auch schön in Windows Betriebssysteme (funzt als Dienst).

        Antworten
  14. Hallo,

    ja genau vor solchen „Problemen“ stehen wir immer mal wieder. Es gibt viele Firmen, die – ich sage immer Schattenpostfach – benutzen, dass bei einem ganz anderen Provider liegt, oftmals ein Privatkundenpostfach bei einen Freemail-Provider o.ä.. Da geht dann nur POP3 in der Abholung. Da wir als SPAM Schutzlösung GFI Mailessentials einsetzen, ist die Sache recht easy. Das Tool hat noch einen vollwertigen POP3 Abholer inkludiert und somit passt das gleich ohne Zusatztools perfekt (so perfekt wie POP3 halt ist). Als Standalone ist Cygwin auch ein guter Ansatz.

    Antworten

Schreibe einen Kommentar