{"id":55000239,"date":"2004-12-01T00:00:00","date_gmt":"2023-02-13T16:27:11","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=239"},"modified":"2024-02-19T08:19:44","modified_gmt":"2024-02-19T08:19:44","slug":"emails_abrufen_mit_access_und_pop3","status":"publish","type":"post","link":"https:\/\/access-im-unternehmen.de\/emails_abrufen_mit_access_und_pop3\/","title":{"rendered":"E-Mails abrufen mit Access und POP3"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/vg02.met.vgwort.de\/na\/64eb953a6d3a4a969ef3ea04fc3938c9\" width=\"1\" height=\"1\" alt=\"\"><\/p>\n<p><b>Andr&eacute; Minhorst, Duisburg<\/b><\/p>\n<p><b>In Ausgabe 4\/2004 haben wir eine L&ouml;sung f&uuml;r das Versenden von E-Mails mit SMTP vorgestellt. Und wer E-Mails versendet, der will vermutlich auch E-Mails abrufen. Im vorliegenden Beitrag versorgen wir Sie mit den Grundlagen zu POP3 und den Funktionen, die Sie f&uuml;r den Zugriff auf POP3-Konten ben&ouml;tigen.<\/b><\/p>\n<p>POP3 ist die Abk&uuml;rzung f&uuml;r Post Office Protocol in der Version 3. Es ist wie SMTP ein &uuml;bertragungsprotokoll, das in diesem Fall die &uuml;bertragung von E-Mails von einem E-Mail-Server zu einem E-Mail-Client regelt.<\/p>\n<p>POP3 stellt einige Kommandos bereit, mit denen der E-Mail-Client Informationen vom E-Mail-Server &uuml;ber vorhandene E-Mails erhalten und diese beispielsweise herunterladen oder l&ouml;schen kann. Genau wie SMTP erfolgt die &uuml;bertragung der Daten standardm&auml;&szlig;ig &uuml;ber einen bestimmten Port, in diesem Fall &uuml;ber den Port 110.<\/p>\n<p><b>Kommandos von POP3<\/b><\/p>\n<p>Im Rahmen des vorliegenden Beitrags ben&ouml;tigen wir die folgenden POP3-Kommandos:<\/p>\n<li>USER &lt;Benutzername&gt; gibt den Benutzernamen f&uuml;r das gew&uuml;nschte Konto auf dem E-Mail-Server an. <\/li>\n<li>PASS &lt;Kennwort&gt; dient der &uuml;bergabe des Kennworts. Beachten Sie, dass dies in Klartext erfolgt.<\/li>\n<li>STAT liefert Informationen wie die Anzahl und die Gesamtgr&ouml;&szlig;e der enthaltenen E-Mails.<\/li>\n<li>LIST (n) liefert die Anzahl und die Gr&ouml;&szlig;e der n-ten E-Mail. Ohne den Parameter n erfolgt die Ausgabe der Informationen f&uuml;r alle vorhandenen E-Mails. <\/li>\n<li>RETR n holt die n-te E-Mail vom E-Mail-Server ab. <\/li>\n<li>DELE n l&ouml;scht die n-te E-Mail am E-Mail-Server. <\/li>\n<li>QUIT beendet die aktuelle POP3-Sitzung.<\/li>\n<p><b>Beispiel<\/b><\/p>\n<p>Um folgendes Beispiel nachvollziehen zu k&ouml;nnen, ben&ouml;tigen Sie ein POP3-Konto auf einem E-Mail-Server Ihrer Wahl. Wenn m&ouml;glich, sollten Sie ein sonst nicht benutztes Konto verwenden, um zu verhindern, dass m&ouml;glicherweise wichtige Mails verloren gehen.<\/p>\n<p>Im Beispiel werden wir per Telnet eine POP3-Sitzung initiieren, in der wir verschiedene Informationen abfragen und eine E-Mail herunterladen. Dazu m&uuml;ssen Sie nat&uuml;rlich zun&auml;chst einmal eine E-Mail mit einem Beispielbetreff und Beispielinhalt an die entsprechende Adresse schicken. Und damit auch etwas Betrieb auf dem Mail-Server herrscht und die Beispiele anschaulicher sind, schicken Sie diese Mail direkt noch einmal hinterher.<\/p>\n<p>Nun &ouml;ffnen Sie die Eingabeaufforderung von Windows und starten die POP3-Sitzung via Telnet. Als Mailserveradresse geben Sie die Adresse an, die Sie auch im E-Mail-Client eingetragen haben beziehungsweise eintragen w&uuml;rden. Wichtig ist die Angabe des Ports:<\/p>\n<p><IMG height=\"254\" src=\"..\/fileadmin\/_temp_\/{6BC748DC-A31D-4A2C-AFB4-5BB70D928D63}\/pic001.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b>Abb. 1: Abrufen einer E-Mail<\/b><\/p>\n<pre>telnet &lt;Mailserveradresse&gt; 110<\/pre>\n<p>Die Eingabeaufforderung &auml;ndert nun den Titel auf Telnet &lt;Mailserveradresse&gt; und zeigt eine Meldung an, die mit +OK beginnt.<\/p>\n<p>Nun melden Sie sich an, indem Sie mit den beiden Anweisungen USER und PASS den Benutzernamen und das Kennwort angeben. <\/p>\n<p>Auch hier verwenden Sie wieder die Daten, mit denen auch der E-Mail-Client arbeitet:<\/p>\n<pre>USER &lt;Benutzername&gt;\n+OK\nPASS &lt;Kennwort&gt;\n+OK<\/pre>\n<p>Auf beide Eingaben sollte der E-Mail-Server wieder mit +OK antworten, ansonsten stimmen die Daten m&ouml;glicherweise nicht. <\/p>\n<p>Nun geht&#8220;s richtig los: Mit der STAT-Anweisung &uuml;berpr&uuml;fen Sie, wie viele Mails das Konto derzeit enth&auml;lt und wie viel Speicherplatz diese belegen.<\/p>\n<pre>STAT\n+OK 2 1292<\/pre>\n<p>Die Antwort des POP3-Servers bedeutet, dass sich derzeit zwei Mails mit einer Gr&ouml;&szlig;e von insgesamt 1292 Bytes auf dem betreffenden Konto befinden. Diese Antwort ist immer gleich aufgebaut &#8211; das ist auch dringend erforderlich, da verschiedenste E-Mail-Clients auf diese und andere Informationen zugreifen und sich auf das richtige Format verlassen m&uuml;ssen.<\/p>\n<h3>Hinweis<\/h3>\n<p>Das STAT-Kommando und die anderen nachfolgend beschriebenen Kommandos liefern Informationen &uuml;ber den Zustand des POP3-Kontos zum Zeitpunkt des Sitzungsbeginns. Wenn Sie also beispielsweise w&auml;hrend einer Sitzung eine weitere Testmail schicken, wird diese nicht angezeigt. <\/p>\n<p>Schauen wir uns nun die Informationen zu den Mails im Einzelnen an. Das Kommando LIST gibt eine Liste der Gr&ouml;&szlig;enangabe zu allen E-Mails dieses Kontos aus. Der Punkt in der letzten Zeile dient dem Abschlie&szlig;en mehrzeiliger Ausgaben:<\/p>\n<pre>LIST\n+OK\n1 646\n2 646\n.<\/pre>\n<p>Sie k&ouml;nnen die Informationen auch nur f&uuml;r eine E-Mail anzeigen lassen, indem Sie die Nummer der E-Mail als Parameter angeben:<\/p>\n<pre>LIST 2\n+OK 2 646<\/pre>\n<p>Nun m&ouml;chten Sie auch den Inhalt der E-Mail erfahren. Daf&uuml;r ist die Anweisung RETR zust&auml;ndig. Als Parameter geben Sie die ID der auszugebenden Mail an. Die Anweisung und die resultierende Ausgabe finden Sie in Abb. 1.<\/p>\n<p>Wer den Beitrag Mail versenden ohne Outlook aus Ausgabe 4\/2004 gelesen hat, erkennt den Inhalt der E-Mail: Es handelt sich dabei um die komplette E-Mail inklusive Header-Informationen. Nachdem Sie den Inhalt dieser Test-E-Mail gelesen haben, k&ouml;nnen Sie diese l&ouml;schen. Dazu verwenden Sie folgende Anweisung mit der ID der E-Mail als Parameter:<\/p>\n<pre>DELE 2<\/pre>\n<p>Die Antwort lautet +OK, wenn die E-Mail erfolgreich gel&ouml;scht werden konnte. Anderenfalls gibt der POP3-Server eine Meldung wie -ERR already deleted zur&uuml;ck.<\/p>\n<p>Schlie&szlig;lich k&ouml;nnen Sie mit der Anweisung LAST die ID ermitteln, die der gr&ouml;&szlig;ten ID der gelesenen E-Mails entspricht.<\/p>\n<h3>Beenden der Sitzung<\/h3>\n<p>Mit der Anweisung QUIT beenden Sie schlie&szlig;lich die Sitzung.<\/p>\n<p>Es gibt noch weitere Kommandos, die aber im Rahmen des vorliegenden Beitrags nicht wichtig sind. Eine vollst&auml;ndige Beschreibung von POP3 enth&auml;lt das Dokument RFC 1225, das Sie unter anderem hier finden: http:\/\/www.faqs.org\/rfcs\/rfc1225.html<\/p>\n<p>Es gibt gen&uuml;gend Gr&uuml;nde, warum eine Access-Datenbank in der Lage sein sollte, E-Mails via POP3 von einem beliebigen E-Mail-Konto abzuholen. So k&ouml;nnte etwa eine Shop-Software die via Webformular eingegebenen Bestellungen direkt per E-Mail auf ein Konto schicken, von dem eine lokale Access-Datenbank sich die Bestellungen abholt und direkt bearbeitet.<\/p>\n<p>Oder Sie best&uuml;cken eine Software mit einer Fehlerbehandlung, die aussagekr&auml;ftige Fehlermeldungen per SMTP an ein E-Mail-Konto schickt, von wo sie eine geeignete Ticket-Datenbank abholt und auswertet.<\/p>\n<h3>Hinweis<\/h3>\n<p>Die Beispieldatenbanken finden Sie auf der diesem Magazin beiliegenden CD unter den Dateinamen POP3_97.mdb (f&uuml;r Access 97) und POP3_00.mdb (f&uuml;r Access 2000 und h&ouml;her). <\/p>\n<p>Fehlt eigentlich nur noch die M&ouml;glichkeit, die E-Mails per VBA abzurufen. Das ist allerdings nicht ganz einfach und erfordert einige Umwege. Diese f&uuml;hren namentlich &uuml;ber einige API-Funktionen, deren Deklarationen im Modul mdlAPI der Beispieldateibanken zu finden sind. Da jede einzelne Interaktion mit dem Webserver via Winsock relativ viele API-Aufrufe erfordert, wurden die Methoden f&uuml;r deren Durchf&uuml;hrung in einer Klasse namens clsWinsock gekapselt.<\/p>\n<p>Die Klasse bietet gegen&uuml;ber den API-Aufrufen wesentlich griffigere Methoden und verbirgt eine Menge Funktionalit&auml;t. Eine Auflistung der verwendeten Methoden finden Sie in Tab. 1.<\/p>\n<p>Als Grundlage f&uuml;r die Prozeduren und Funktionen in den nachfolgenden Beispielen dient die Arbeit von John Rhoton. Er beschreibt in seinem Buch Programmer&#8220;s Guide to Internet Mail (Digital Press, 1999) unter anderem ausf&uuml;hrlich die Funktionsweise von Winsock und POP3. Die diesem Beitrag zugrunde liegenden Funktionen k&ouml;nnen dem Download f&uuml;r Visual Basic unter der folgenden Adresse entnommen werden (ohne Zeilenumbruch): http:\/\/www.winsite.com\/bin\/Info500000022279. <\/p>\n<table border=1>\n<tr>\n<td>\n<p><b>Methode<\/b><\/p>\n<\/td>\n<td>\n<p><b>Beschreibung<\/b><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>StartWinsock<\/p>\n<\/td>\n<td>\n<p>Startet die Winsock-Schnittstelle<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>GetIPAddress<\/p>\n<\/td>\n<td>\n<p>Ermittelt die IP-Adresse einer angegebenen Internetadresse<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>CreateSocket<\/p>\n<\/td>\n<td>\n<p>Erstellt eine Schnittstelleninstanz und ermittelt einen entsprechenden Handler<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>ConnectSocket<\/p>\n<\/td>\n<td>\n<p>Erstellt die Verbindung mit der Zieladresse &uuml;ber die Winsock-Schnittstelle<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>SendSocket<\/p>\n<\/td>\n<td>\n<p>Schickt ein Kommando &uuml;ber die Winsock-Schnittstelle<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>ReceiveSocket<\/p>\n<\/td>\n<td>\n<p>Fragt die Antwort des gegen&uuml;berliegenden Partners ab<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>ReleaseSocket<\/p>\n<\/td>\n<td>\n<p>Beendet die Verbindung &uuml;ber die Winsock-Schnittstelle<\/p>\n<\/td>\n<\/tr>\n<\/table>\n<p><b>Tab. 1: Methoden der Klasse clsWinsock<\/b><\/p>\n<p>Um eine m&ouml;glichst eng an den eigentlichen Anweisungen von POP3 orientierte Schnittstelle zu erm&ouml;glichen, werden diese Anweisungen in einer weiteren Klasse gekapselt. Diese Klasse hei&szlig;t clsPOP3 und enth&auml;lt die Methoden und Eigenschaften aus Tab. 2.<\/p>\n<table border=1>\n<tr>\n<td>\n<p><b>Methode<\/b><\/p>\n<\/td>\n<td>\n<p><b>Beschreibung<\/b><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>StartSession<\/p>\n<\/td>\n<td>\n<p>Startet eine Sitzung. Parameter: Servername, Benutzername, Kennwort<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>GetStatus<\/p>\n<\/td>\n<td>\n<p>Ermittelt die Anzahl der vorhandenen Mails und speichert diese in der Eigenschaft NumberOfMails<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>ReadMessage<\/p>\n<\/td>\n<td>\n<p>Liest eine Nachricht in die Variable Message ein. Parameter: Nummer der Nachricht<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>DeleteMessage<\/p>\n<\/td>\n<td>\n<p>Kennzeichnet eine Nachricht als gel&ouml;scht. Das eigentliche L&ouml;schen wird erst durch den Aufruf der Methode EndSession durchgef&uuml;hrt. Parameter: Nummer der Nachricht<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>EndSession<\/p>\n<\/td>\n<td>\n<p>Beendet die Sitzung und l&ouml;scht als gel&ouml;scht gekennzeichnete Nachrichten<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>NumberOfMails<\/p>\n<\/td>\n<td>\n<p>Anzahl der Nachrichten, wird durch GetStatus gef&uuml;llt<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>Message<\/p>\n<\/td>\n<td>\n<p>Inhalt der Nachricht. Wird durch die Methode ReadMessage gef&uuml;llt<\/p>\n<\/td>\n<\/tr>\n<\/table>\n<p><b>Tab. 2: Methoden der Klasse f&uuml;r die Verwendung des Post Office Protocols, Version 3<\/b><\/p>\n<p>Die Klasse k&ouml;nnte man noch um einige Methoden und Eigenschaften erweitern, um beispielsweise die Gr&ouml;&szlig;e einer einzelnen Mail zu ermitteln oder die Liste aller enthaltenen Mails inklusive Gr&ouml;&szlig;e auszugeben. Da die POP3-Klasse aber nur f&uuml;r den Abruf automatisch generierter Mails gedacht ist, deren Gr&ouml;&szlig;e vermutlich immer gleich und daher uninteressant ist, verzichten wir an dieser Stelle auf weitere Elemente.<\/p>\n<h3>Beispielmails verschicken<\/h3>\n<p>Wenn Sie die Methoden und Eigenschaften der Klasse clsPOP3 in eigenen Anwendungen verwenden m&ouml;chten, werden Sie unter Umst&auml;nden den einen oder anderen Test durchf&uuml;hren. Tests erfordern Testdaten und in diesem Falle hilft es, wenn Sie das entsprechende Postfach mal eben mit ein paar Testmails best&uuml;cken k&ouml;nnen.<\/p>\n<p>Sie finden in den Beispieldatenbanken nicht nur die Funktionalit&auml;t f&uuml;r die Verwendung von POP3, sondern auch eine Klasse zum Versenden von Mails via SMTP namens clsSMTP.<\/p>\n<p>Die Prozedur aus Quellcode 1 zeigt ihre Anwendung. Sie m&uuml;ssen lediglich f&uuml;r die den Eigenschaften zugewiesenen Werte, die derzeit durch Platzhalter ersetzt werden, eigene Werte einsetzen.<\/p>\n<pre>Public Sub MailSenden()\n    Dim objSMTP As clsSMTP\n    Set objSMTP = New clsSMTP\n    With objSMTP\n        .SMTPServer = \"&lt;SMTPServer&gt;\"\n        .Port = 25\n        .MailFrom = \"&lt;Mail Absender&gt;\"\n        .MailTo = \"&lt;Mail Empf&auml;nger&gt;\"\n        .Sendername = \"&lt;Name Absender&gt;\"\n        .SenderEMail = \"&lt;Mail Absender&gt;\"\n        .Subject = \"Testmail\"\n        .Plaintext = \"Testmail\"\n        .Send\n    End With\nEnd Sub<\/pre>\n<p><b>Quellcode 1<\/b><\/p>\n<h3>Beispiel f&uuml;r das Abrufen von E-Mails<\/h3>\n<p>In Quellcode 2 finden Sie eine kleine Beispielprozedur, die alle im angegebenen Postfach enthaltenen E-Mails im Testfenster ausgibt.<\/p>\n<p>Auch hier m&uuml;ssen Sie die den Variablen strServer, strBenutzername und strKennwort zugewiesenen Werte noch durch Ihre eigenen Daten ersetzen.<\/p>\n<p>Die Routine gibt alle derzeit im Postfach enthaltenen E-Mails im Klartext aus &#8211; also mit den Metainformationen wie Absender, Empf&auml;nger und so weiter.<\/p>\n<p>Abb. 2 zeigt die Ausgabe einer Mail im Testfenster. Um mit dieser Mail etwas anfangen zu k&ouml;nnen, verwenden Sie eine weitere Klasse. Diese extrahiert die einzelnen Elemente einer Mail und macht sie in Form einzelner Eigenschaften verf&uuml;gbar.<\/p>\n<pre>Public Sub AlleMailsAusgeben()\n    Dim objPOP3 As clsPOP3\n    Dim strServer As String\n    Dim strBenutzername As String\n    Dim strKennwort As String\n    Dim lngNumberOfMails As Long\n    Dim l As Long\n    strServer = \"&lt;Mailserver-Domain&gt;\"\n    strBenutzername = \"&lt;Benutzername&gt;\"\n    strKennwort = \"&lt;Kennwort&gt;\"\n    Set objPOP3 = New clsPOP3\n    If objPOP3.StartSession(strServer, _        strBenutzername, strKennwort) = True Then\n        objPOP3.GetStatus\n        lngNumberOfMails = objPOP3.NumberOfMails\n        For l = 1 To lngNumberOfMails\n            objPOP3.ReadMessage l\n            Debug.Print \"================\"\n            Debug.Print \"Nachricht Nr. \" & l\n            Debug.Print \"================\"\n            Debug.Print objPOP3.Message\n        Next l\n    Else\n        Debug.Print \"Kein Zugriff m&ouml;glich.\"\n    End If\n    Set objPOP3 = Nothing\nEnd Subo<\/pre>\n<p><b>Quellcode 2<\/b><\/p>\n<p><IMG height=\"270\" src=\"..\/fileadmin\/_temp_\/{6BC748DC-A31D-4A2C-AFB4-5BB70D928D63}\/pic002.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b>Abb. 2: Ausgabe einer E-Mail im Testfenster<\/b><\/p>\n<p>Das Lesen von E-Mails macht nat&uuml;rlich nur Sinn, wenn man die enthaltenen Informationen anschlie&szlig;end vern&uuml;nftig auswertet.<\/p>\n<p>Das Auswerten erfolgt in zwei Schritten. Der erste ermittelt die Metadaten und den Inhalt der E-Mail und schreibt diese in eine eigens daf&uuml;r vorgesehene Tabelle. Die zweite k&uuml;mmert sich um den eigentlichen Inhalt der Mail.<\/p>\n<p><b>Tabelle zum Speichern der E-Mails<\/b><\/p>\n<p>Bleiben wir zun&auml;chst beim ersten Schritt. Dazu ben&ouml;tigen wir eine Tabelle, die alle in der E-Mail enthaltenen Metadaten aufnimmt.<\/p>\n<p>Vorher ist zu kl&auml;ren, welche der in der E-Mail enthaltenen Elemente Sie &uuml;berhaupt ben&ouml;tigen. Es ist sicher interessant, die Adressen des Absenders und des Empf&auml;ngers, das Sendedatum, den Betreff und den Inhalt der Mail zu speichern.<\/p>\n<p>Au&szlig;erdem sollten Sie festhalten, zu welcher Zeit die E-Mail abgerufen wurde. Weniger interessant ist in diesem Zusammenhang, welchen Weg die E-Mail genommen hat. Abb. 3 zeigt die Entwurfsansicht der Tabelle tblMessages.<\/p>\n<pre>Option Compare Database\nOption Explicit\nDim mMessage As String\nDim mSubject As String\nDim mMessageFrom As String\nDim mMessageTo As String\nDim mDateSent As Date\nDim mDateReceived As Date\nDim mContent As String\nPublic Property Let Message(strMessage As String)\n    mMessage = strMessage\nEnd Property\nPublic Property Get Subject() As String\n    Subject = mSubject\nEnd Property\nPublic Property Get MessageFrom() As String\n    MessageFrom = mMessageFrom\nEnd Property\nPublic Property Get MessageTo() As String\n    MessageTo = mMessageTo\nEnd Property\nPublic Property Get DateSent() As Date\n    DateSent = mDateSent\nEnd Property\nPublic Property Get DateReceived() As Date\n    DateReceived = mDateReceived\nEnd Property\nPublic Property Get Content() As String\n    Content = mContent\nEnd Property<\/pre>\n<p><b>Quellcode 3<\/b><\/p>\n<p><IMG height=\"170\" src=\"..\/fileadmin\/_temp_\/{6BC748DC-A31D-4A2C-AFB4-5BB70D928D63}\/pic003.png\" width=\"282\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b>Abb. 3: Tabelle zum Speichern von E-Mail-Daten<\/b><\/p>\n<p><b>Extrahieren der E-Mail-Daten<\/b><\/p>\n<p>Das Extrahieren der E-Mail &uuml;bernimmt wiederum eine eigene Klasse. Diese hat einige Eigenschaften zum Speichern des Inhalts der E-Mail und der daraus extrahierten Informationen. Das Extrahieren der Informationen &uuml;bernimmt die Methode ExtractMessage.<\/p>\n<p>S&auml;mtliche Eigenschaften der Klasse sind &uuml;ber &ouml;ffentliche Property-Prozeduren erreichbar &#8211; allerdings entweder nur f&uuml;r den lesenden oder den schreibenden Zugriff.<\/p>\n<p>Der komplette Inhalt der Mail kann &uuml;ber die Eigenschaft Message an die Klasse &uuml;bergeben werden, die Eigenschaften Subject, MessageFrom, MessageTo, DateSent, DateReceived und Content enthalten die extrahierten Daten.<\/p>\n<p>Quellcode 3 enth&auml;lt die Deklaration der Variablen und die Property-Prozeduren und Quellcode 4 die Prozedur ExtractMessage. Letztere geht f&uuml;r jeden der ben&ouml;tigten Header &auml;hnlich vor: Sie ermittelt die Position des Schl&uuml;sselworts, das den Header einleitet (beispielsweise Subject: oder Date:) und anschlie&szlig;end den entsprechenden Wert.<\/p>\n<p>Dabei geht die Methode davon aus, dass der Inhalt des Headers durch ein Leerzeichen vom einf&uuml;hrenden Schl&uuml;sselwort und durch einen Zeilenumbruch vom n&auml;chsten Header getrennt ist. Das Ermitteln der Position der Headerinformation mit der InStr-Funktion und des daraus resultierenden Headerinhalts erfolgt in einer separaten Funktion namens GetHeader (s. Quellcode 5).<\/p>\n<p>Den einzigen Unterschied macht der eigentliche Inhalt der Mail: Er wird nicht durch ein bestimmtes Schl&uuml;sselwort, sondern durch zwei Zeilenumbr&uuml;che eingeleitet und auch wieder beendet. Daher konnte die Ermittlung dieser Information nicht in die Funktion GetHeader ausgelagert werden.<\/p>\n<pre>Public Function ExtractMessage() As Boolean\n    On Error GoTo ExtractMessage_Err\n    Dim intPosStart As Integer\n    Dim intPosEnd As Integer\n    If Len(mMessage) = 0 Then\n        ExtractMessage = False\n        Exit Function\n    End If\n    mMessageFrom = GetHeader(\"From:\")\n    mMessageTo = GetHeader(\"To:\")\n    mSubject = GetHeader(\"Subject:\")\n    mDateSent = CDate(GetMaildate(GetHeader(\"Date:\")))\n    mDateReceived = Now\n    intPosStart = InStr(1, mMessage, vbCrLf & vbCrLf)\n    intPosEnd = InStr(intPosStart + 4, mMessage, vbCrLf & vbCrLf)\n    mContent = Trim(Mid(mMessage, intPosStart + 4, Len(mMessage) - intPosStart - 7))\n   ''Fehlerbehandlung\n   ExtractMessage = True\nExtractMessage_Exit:\n    ''Restarbeiten\n    Exit Function\nExtractMessage_Err:\n    ExtractMessage = False\n    Call GetError(\"clsEMail \", \"ExtractMessage\", Erl, \"Bemerkungen: .\/.\")\n    GoTo ExtractMessage_Exit\nEnd Function<\/pre>\n<p><b>Quellcode 4<\/b><\/p>\n<pre>Private Function GetHeader(strHeader As String)\n    Dim intPosStart As Integer\n    Dim intPosEnd As Integer\n    Dim intLenHeader As Integer\n    intLenHeader = Len(strHeader) + 1\n    intPosStart = InStr(1, mMessage, strHeader)\n    intPosEnd = InStr(intPosStart + 1, mMessage, vbCrLf)\n    GetHeader = Mid(mMessage, intPosStart + intLenHeader, intPosEnd - intPosStart - intLenHeader)\nEnd Function<\/pre>\n<p><b>Quellcode 5<\/b><\/p>\n<h3>Datumsangaben konvertieren<\/h3>\n<p>Die Ermittlung des Inhalts der Mail erfordert noch eine weitere Funktion namens GetMailDate, die das Sendedatum aus dem entsprechenden Header der Mail extrahiert (s. Quellcode 6). Die Funktion erwartet den vom einleitenden Schl&uuml;sselwort getrennten Header namens Date in einem Format, das beispielsweise den 9. Oktober 2004, 23:56:27 Uhr, wie folgt ausgibt:<\/p>\n<pre>Sat, 9 Oct 2004 23:56:27 +0200\nPrivate Function GetMaildate(strMaildate As String) As Date\n    Dim Part() As String\n    Const Months = \"JanFebMarAprMayJunJulAugSepOctNovDec\"\n    Part = Split(strMaildate, \" \")\n    GetMaildate = DateSerial(Part(3), 1 + (InStr(Months, Part(2)) - 1) \\ 3, _        Part(1)) + CDate(Part(4))\nEnd Function<\/pre>\n<p><b>Quellcode 6<\/b><\/p>\n<h3>Hinweis<\/h3>\n<p>Die urspr&uuml;ngliche Version der Funktion GetMailDate hei&szlig;t DateFromHeader und stammt von Rick Rothstein, gepostet in der Newsgroup microsoft.public.vb.general.discussion am 21. Juli 2003. <\/p>\n<p><b>Inhalt der Mail in einer Tabelle speichern<\/b><\/p>\n<p>Nun verwenden Sie die oben vorgestellte Tabelle tblMessages, um die extrahierten Informationen zu speichern. Dabei erfahren Sie direkt, wie Sie die soeben vorgestellte Klasse clsMessage einsetzen k&ouml;nnen.<\/p>\n<p>Die nachfolgende Prozedur deckt dabei direkt den Fall ab, der bei den oben erw&auml;hnten Beispielen f&uuml;r das automatisierte Abrufen von E-Mails sehr wahrscheinlich eintritt: Sie liest alle im gew&uuml;nschten Konto enthaltenen E-Mails ein und l&ouml;scht diese anschlie&szlig;end vom Server.<\/p>\n<p>Die Prozedur hei&szlig;t AlleMailsAbholen und ist in Quellcode 7 zu finden. Neben der Klasse clsPOP3 zum Abholen der Mails sowie clsMessage zum Extrahieren des Inhalts ben&ouml;tigt die Routine ein Database- und ein Recordset-Objekt, um den Inhalt der E-Mail direkt in den entsprechenden Feldern der Tabelle tblMessages speichern zu k&ouml;nnen.<\/p>\n<p>Die Variablen strServer, strBenutzername und strKennwort sind hier nur zu  Beispielzwecken fest codiert. Im &#8222;echten&#8220; Betrieb w&uuml;rde man diese Informationen beispielsweise in einer speziellen Parametertabelle speichern und bei Bedarf einlesen &#8211; wenn man das Kennwort &uuml;ber Speichern und nicht jedes Mal abfragen w&uuml;rde.<\/p>\n<p>Nach dem Instanzieren der ben&ouml;tigten Objekte tritt die Klasse clsPOP3 in Aktion, genau genommen deren Methode StartSession. Verl&auml;uft diese erfolgreich, ist die Sitzung er&ouml;ffnet und die Anzahl der auf dem Server liegenden Mails f&uuml;r das angegebene Konto kann abgefragt werden. Dazu schreibt die Methode GetStatus die vorhandene Anzahl in die Eigenschaft NumberOfMails der Klasse. Und dann geht&#8220;s rund: In einer For Next-Schleife liest die Routine alle vorhandenen Nachrichten ein und weist diese der Eigenschaft Message der Klasse clsMessage zu. Die Methode ExtractMessage ermittelt die gew&uuml;nschten Informationen aus der Nachricht und macht sie &uuml;ber die Eigenschaften Content, DateReceived, DateSent, MessageFrom, MessageTo und Subject verf&uuml;gbar, sodass diese einfach in einen neuen Datensatz der Tabelle tblMessages geschrieben werden k&ouml;nnen. Schlie&szlig;lich l&ouml;scht die Routine den soeben eingelesenen Datensatz noch innerhalb der Schleife.<\/p>\n<p>Der vorliegende Beitrag hat Ihnen die Verwendung des Post Office Protocols, Version 3, vorgestellt und gezeigt, wie Sie es mit VBA verwenden k&ouml;nnen. Damit sind die Vorbereitungen f&uuml;r die kombinierte Anwendung dieses Protokolls mit dem in Ausgabe 4\/2004 von Access im Unternehmen vorgestellten SMTP innerhalb von Access-Datenbanken geschaffen.<\/p>\n<p>Im Beitrag Fehlerverwaltung mit Online-Komponente in der aktuellen Ausgabe erfahren Sie, wie Sie Datenbanken mit einer Fehlerbehandlung best&uuml;cken, die Fehlermeldungen automatisch per E-Mail &#8222;nach Hause&#8220; schicken. Mit &#8222;nach Hause&#8220; ist ein speziell f&uuml;r solche Mails eingerichtetes E-Mail-Konto gemeint.<\/p>\n<pre>Public Sub AlleMailsAbholen()\n    Dim db As DAO.Database\n    Dim rst As DAO.Recordset\n    Dim objPOP3 As clsPOP3\n    Dim objMessage As clsMessage\n    Dim strServer As String\n    Dim strBenutzername As String\n    Dim strKennwort As String\n    Dim lngNumberOfMails As Long\n    Dim l As Long\n    Set db = CurrentDb\n    Set rst = db.OpenRecordset(\"tblMessages\", dbOpenDynaset)\n    strServer = \"&lt;Servername&gt;\"\n    strBenutzername = \"&lt;Benutzername&gt;\"\n    strKennwort = \"&lt;Kennwort&gt;\"\n    Set objPOP3 = New clsPOP3\n    Set objMessage = New clsMessage\n    If objPOP3.StartSession(strServer, strBenutzername, strKennwort) = True Then\n        objPOP3.GetStatus\n        lngNumberOfMails = objPOP3.NumberOfMails\n        For l = 1 To lngNumberOfMails\n            objPOP3.ReadMessage l\n            objMessage.Message = objPOP3.Message\n            objMessage.ExtractMessage\n            With rst\n                .AddNew\n                !Content = objMessage.Content\n                !DateReceived = objMessage.DateReceived\n                !DateSent = objMessage.DateSent\n                !MessageFrom = objMessage.MessageFrom\n                !MessageTo = objMessage.MessageTo\n                !Subject = objMessage.Subject\n                .Update\n            End With\n            objPOP3.DeleteMessage l\n        Next l\n    End If\n    rst.Close\n    Set objPOP3 = Nothing: Set objMessage = Nothing\n    Set rst = Nothing: Set db = Nothing\nEnd Sub<\/pre>\n<p><b>Quellcode 7<\/b><\/p>\n<p>Von diesem holt der Entwickler die versendeten Fehlermeldungen mit der in diesem Beitrag vorgestellten Methode ab und kann die Meldungen direkt in einer Datenbank weiter verarbeiten. Das w&auml;re die entwicklerfreundliche Nutzung des automatisierten Mailversands und -empfangs. POP3 l&auml;sst sich mit Access aber f&uuml;r die Verarbeitung aller m&ouml;glichen per E-Mail versendeten Daten nutzen, sofern ihr Inhalt m&ouml;glichst automatisiert erstellt wurde &#8211; etwa eine Bestellung &uuml;ber ein Onlineformular oder eine Anmeldung an einen Newsletter.<\/p>\n<\/p>\n<h2>Downloads zu diesem Beitrag<\/h2>\n<p>Enthaltene Beispieldateien:<\/p>\n<p>POP3.mdb<\/p>\n<p><a href=\"..\/fileadmin\/beispiele\/57615920-3A9E-40D8-9CF6-D48466587A50\/aiu_239.zip\">Download<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In Ausgabe 4\/2004 haben wir eine L&ouml;sung f&uuml;r das Versenden von E-Mails mit SMTP vorgestellt. Und wer E-Mails versendet, der will vermutlich auch E-Mails abrufen. Im vorliegenden Beitrag versorgen wir Sie mit den Grundlagen zu POP3 und den Funktionen, die Sie f&uuml;r den Zugriff auf POP3-Konten ben&ouml;tigen.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"categories":[662004,66062004,44000026,44000030,44000027],"tags":[],"class_list":["post-55000239","post","type-post","status-publish","format-standard","hentry","category-662004","category-66062004","category-Interaktiv","category-Internet","category-Loesungen"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.9 (Yoast SEO v27.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>E-Mails abrufen mit Access und POP3 - Access im Unternehmen<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/access-im-unternehmen.de\/emails_abrufen_mit_access_und_pop3\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"E-Mails abrufen mit Access und POP3\" \/>\n<meta property=\"og:description\" content=\"In Ausgabe 4\/2004 haben wir eine L&ouml;sung f&uuml;r das Versenden von E-Mails mit SMTP vorgestellt. Und wer E-Mails versendet, der will vermutlich auch E-Mails abrufen. Im vorliegenden Beitrag versorgen wir Sie mit den Grundlagen zu POP3 und den Funktionen, die Sie f&uuml;r den Zugriff auf POP3-Konten ben&ouml;tigen.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/access-im-unternehmen.de\/emails_abrufen_mit_access_und_pop3\/\" \/>\n<meta property=\"og:site_name\" content=\"Access im Unternehmen\" \/>\n<meta property=\"article:published_time\" content=\"2023-02-13T16:27:11+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-02-19T08:19:44+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/vg02.met.vgwort.de\/na\/64eb953a6d3a4a969ef3ea04fc3938c9\" \/>\n<meta name=\"author\" content=\"Andr\u00e9 Minhorst\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Andr\u00e9 Minhorst\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"15\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/emails_abrufen_mit_access_und_pop3\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/emails_abrufen_mit_access_und_pop3\\\/\"},\"author\":{\"name\":\"Andr\u00e9 Minhorst\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\"},\"headline\":\"E-Mails abrufen mit Access und POP3\",\"datePublished\":\"2023-02-13T16:27:11+00:00\",\"dateModified\":\"2024-02-19T08:19:44+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/emails_abrufen_mit_access_und_pop3\\\/\"},\"wordCount\":2726,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/emails_abrufen_mit_access_und_pop3\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg02.met.vgwort.de\\\/na\\\/64eb953a6d3a4a969ef3ea04fc3938c9\",\"articleSection\":[\"2004\",\"6\\\/2004\",\"Interaktiv\",\"Internet\",\"L\u00f6sungen\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/emails_abrufen_mit_access_und_pop3\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/emails_abrufen_mit_access_und_pop3\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/emails_abrufen_mit_access_und_pop3\\\/\",\"name\":\"E-Mails abrufen mit Access und POP3 - Access im Unternehmen\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/emails_abrufen_mit_access_und_pop3\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/emails_abrufen_mit_access_und_pop3\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg02.met.vgwort.de\\\/na\\\/64eb953a6d3a4a969ef3ea04fc3938c9\",\"datePublished\":\"2023-02-13T16:27:11+00:00\",\"dateModified\":\"2024-02-19T08:19:44+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/emails_abrufen_mit_access_und_pop3\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/emails_abrufen_mit_access_und_pop3\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/emails_abrufen_mit_access_und_pop3\\\/#primaryimage\",\"url\":\"http:\\\/\\\/vg02.met.vgwort.de\\\/na\\\/64eb953a6d3a4a969ef3ea04fc3938c9\",\"contentUrl\":\"http:\\\/\\\/vg02.met.vgwort.de\\\/na\\\/64eb953a6d3a4a969ef3ea04fc3938c9\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/emails_abrufen_mit_access_und_pop3\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"E-Mails abrufen mit Access und POP3\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\",\"name\":\"Access im Unternehmen\",\"description\":\"Das Magazin f\u00fcr Datenbankentwickler auf Basis von Microsoft Access\",\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/access-im-unternehmen.de\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\",\"name\":\"Andr\u00e9 Minhorst Verlag\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/aiu_wp.png\",\"contentUrl\":\"https:\\\/\\\/access-im-unternehmen.de\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/aiu_wp.png\",\"width\":370,\"height\":111,\"caption\":\"Andr\u00e9 Minhorst Verlag\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\",\"name\":\"Andr\u00e9 Minhorst\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"caption\":\"Andr\u00e9 Minhorst\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"E-Mails abrufen mit Access und POP3 - Access im Unternehmen","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/access-im-unternehmen.de\/emails_abrufen_mit_access_und_pop3\/","og_locale":"de_DE","og_type":"article","og_title":"E-Mails abrufen mit Access und POP3","og_description":"In Ausgabe 4\/2004 haben wir eine L&ouml;sung f&uuml;r das Versenden von E-Mails mit SMTP vorgestellt. Und wer E-Mails versendet, der will vermutlich auch E-Mails abrufen. Im vorliegenden Beitrag versorgen wir Sie mit den Grundlagen zu POP3 und den Funktionen, die Sie f&uuml;r den Zugriff auf POP3-Konten ben&ouml;tigen.","og_url":"https:\/\/access-im-unternehmen.de\/emails_abrufen_mit_access_und_pop3\/","og_site_name":"Access im Unternehmen","article_published_time":"2023-02-13T16:27:11+00:00","article_modified_time":"2024-02-19T08:19:44+00:00","og_image":[{"url":"http:\/\/vg02.met.vgwort.de\/na\/64eb953a6d3a4a969ef3ea04fc3938c9","type":"","width":"","height":""}],"author":"Andr\u00e9 Minhorst","twitter_card":"summary_large_image","twitter_misc":{"Verfasst von":"Andr\u00e9 Minhorst","Gesch\u00e4tzte Lesezeit":"15\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/access-im-unternehmen.de\/emails_abrufen_mit_access_und_pop3\/#article","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/emails_abrufen_mit_access_und_pop3\/"},"author":{"name":"Andr\u00e9 Minhorst","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f"},"headline":"E-Mails abrufen mit Access und POP3","datePublished":"2023-02-13T16:27:11+00:00","dateModified":"2024-02-19T08:19:44+00:00","mainEntityOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/emails_abrufen_mit_access_und_pop3\/"},"wordCount":2726,"commentCount":0,"publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/emails_abrufen_mit_access_und_pop3\/#primaryimage"},"thumbnailUrl":"http:\/\/vg02.met.vgwort.de\/na\/64eb953a6d3a4a969ef3ea04fc3938c9","articleSection":["2004","6\/2004","Interaktiv","Internet","L\u00f6sungen"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/access-im-unternehmen.de\/emails_abrufen_mit_access_und_pop3\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/access-im-unternehmen.de\/emails_abrufen_mit_access_und_pop3\/","url":"https:\/\/access-im-unternehmen.de\/emails_abrufen_mit_access_und_pop3\/","name":"E-Mails abrufen mit Access und POP3 - Access im Unternehmen","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/emails_abrufen_mit_access_und_pop3\/#primaryimage"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/emails_abrufen_mit_access_und_pop3\/#primaryimage"},"thumbnailUrl":"http:\/\/vg02.met.vgwort.de\/na\/64eb953a6d3a4a969ef3ea04fc3938c9","datePublished":"2023-02-13T16:27:11+00:00","dateModified":"2024-02-19T08:19:44+00:00","breadcrumb":{"@id":"https:\/\/access-im-unternehmen.de\/emails_abrufen_mit_access_und_pop3\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/access-im-unternehmen.de\/emails_abrufen_mit_access_und_pop3\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/access-im-unternehmen.de\/emails_abrufen_mit_access_und_pop3\/#primaryimage","url":"http:\/\/vg02.met.vgwort.de\/na\/64eb953a6d3a4a969ef3ea04fc3938c9","contentUrl":"http:\/\/vg02.met.vgwort.de\/na\/64eb953a6d3a4a969ef3ea04fc3938c9"},{"@type":"BreadcrumbList","@id":"https:\/\/access-im-unternehmen.de\/emails_abrufen_mit_access_und_pop3\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/access-im-unternehmen.de\/"},{"@type":"ListItem","position":2,"name":"E-Mails abrufen mit Access und POP3"}]},{"@type":"WebSite","@id":"https:\/\/access-im-unternehmen.de\/#website","url":"https:\/\/access-im-unternehmen.de\/","name":"Access im Unternehmen","description":"Das Magazin f\u00fcr Datenbankentwickler auf Basis von Microsoft Access","publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/access-im-unternehmen.de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/access-im-unternehmen.de\/#organization","name":"Andr\u00e9 Minhorst Verlag","url":"https:\/\/access-im-unternehmen.de\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/logo\/image\/","url":"https:\/\/access-im-unternehmen.de\/wp-content\/uploads\/2019\/09\/aiu_wp.png","contentUrl":"https:\/\/access-im-unternehmen.de\/wp-content\/uploads\/2019\/09\/aiu_wp.png","width":370,"height":111,"caption":"Andr\u00e9 Minhorst Verlag"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f","name":"Andr\u00e9 Minhorst","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","caption":"Andr\u00e9 Minhorst"}}]}},"_links":{"self":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55000239","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/comments?post=55000239"}],"version-history":[{"count":1,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55000239\/revisions"}],"predecessor-version":[{"id":88075296,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55000239\/revisions\/88075296"}],"wp:attachment":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/media?parent=55000239"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/categories?post=55000239"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/tags?post=55000239"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}