{"id":55000380,"date":"2006-08-01T00:00:00","date_gmt":"2021-02-11T21:05:12","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=380"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"Serienmails_mit_Access","status":"publish","type":"post","link":"https:\/\/access-im-unternehmen.de\/Serienmails_mit_Access\/","title":{"rendered":"Serienmails mit Access"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/vg06.met.vgwort.de\/na\/70f8a91c812e43d5912dc06bf2a96fb8\" width=\"1\" height=\"1\" alt=\"\"><\/p>\n<h3>Zusammenfassung<\/h3>\n<p>Lernen Sie eine Anwendung zum Versenden von Serienmails mit Platzhaltern kennen.<\/p>\n<h3>Techniken<\/h3>\n<p>VBA, Formulare, SMTP<\/p>\n<h3>Voraussetzungen<\/h3>\n<p>Access 2000 und h&ouml;her<\/p>\n<h3>Beispieldatenbank<\/h3>\n<p>Serienmail.mdb, SendMail2.dll<\/p>\n<h3><\/h3>\n<p><b>Andr&eacute; Minhorst, Duisburg<\/b><\/p>\n<p><b>Serienmails verschicken &#8211; das ist doch ganz einfach, oder Einfach die Mail mit Outlook erstellen, Empf&auml;nger eintragen und ab die Post! Klar, wenn man keine besonderen Anspr&uuml;che hat, kann man das so machen. Wer allerdings den Inhalt der Serienmail personalisieren oder eine Historie der versendeten Mails inklusive Verteilerliste pflegen m&ouml;chte, braucht ein spezielles St&uuml;ck Software. Im vorliegenden Beitrag stellen wir Ihnen genau das richtige vor.<\/b><\/p>\n<p>Das Serienmail-Tool bietet einige Funktionen zum Versenden personalisierter E-Mails:<\/p>\n<li>Einbinden beliebiger Adresstabellen aus verschiedenen Anwendungen als Grundlage f&uuml;r den E-Mail-Verteiler<\/li>\n<li>Speichern s&auml;mtlicher Inhalte und Header-Informationen in der Datenbank<\/li>\n<li>Erstellen neuer E-Mails auf Basis &auml;lterer Schreiben<\/li>\n<li>Versenden reiner Text-Mails<\/li>\n<li>Versenden von HTML-Mails<\/li>\n<li>Individuelles Festlegen des Sendeformats f&uuml;r jeden Empf&auml;nger<\/li>\n<li>Darstellung von HTML-Mails<\/li>\n<li>Personalisieren von E-Mails durch Platzhalter, die an beliebige Felder der Datenherkunft mit den E-Mail-Adressen gebunden werden k&ouml;nnen<\/li>\n<li>Protokollieren des Postversands mitsamt Angaben zu Empf&auml;nger und Sendezeit<\/li>\n<p>Die Benutzeroberfl&auml;che der Musterl&ouml;sung besteht im Wesentlichen aus dem in Bild 1 dargestellten Formular.<\/p>\n<h3>Hinweis<\/h3>\n<p>Achtung: Die Anwendung pr&uuml;ft vor dem Versand von E-Mails nicht, ob eine Verbindung zum Internet besteht. <\/p>\n<p>Die E-Mail-Funktionen der Musterl&ouml;sung sind in einer DLL gekapselt, die Sie zuvor auf Ihre Festplatte kopieren und registrieren m&uuml;ssen.<\/p>\n<p>Am besten kopieren Sie diese in das Verzeichnis c:\\Windows\\System32; dort befinden sich auch die meisten anderen DLLs. Um die Komponente zu registrieren, geben Sie im Ausf&uuml;hren-Dialog von Windows folgende Anweisung innerhalb einer Zeile ein:<\/p>\n<pre>RegSvr32.exe c:\\Windows\\System32\\SendMail2.dll<\/pre>\n<p><IMG height=\"465\" src=\"..\/fileadmin\/_temp_\/{92CAD639-3E6E-4B20-8004-8D2E9BD3C1DF}\/pic001.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 1:  Das Hauptformular des Serienmail-Tools<\/span><\/b><\/p>\n<p>Bevor man mit dem Serienmail-Tool eine E-Mail an mehrere Empf&auml;nger versenden kann, sind eine Reihe von Eingaben zu t&auml;tigen.<\/p>\n<p><IMG height=\"106\" src=\"..\/fileadmin\/_temp_\/{92CAD639-3E6E-4B20-8004-8D2E9BD3C1DF}\/pic002.png\" width=\"403\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 2:  Absenderinformationen einer Serien-E-Mail<\/span><\/b><\/p>\n<p><IMG height=\"67\" src=\"..\/fileadmin\/_temp_\/{92CAD639-3E6E-4B20-8004-8D2E9BD3C1DF}\/pic003.png\" width=\"403\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 3:  Eingabe des Servernamens und des Ports<\/span><\/b><\/p>\n<p><b>Absender-Informationen<\/b><\/p>\n<p>Jede E-Mail hat einen Absender. Dieser wird in einer Mail direkt mehrfach ben&ouml;tigt: einmal auf dem &#8222;Umschlag&#8220; (aufgrund dieser Informationen k&ouml;nnen die SMTP-Server die Mail vom Absender zum Adressaten transportieren) und einmal in der Mail selbst. So k&ouml;nnen Sie auch mit dem Serienmail-Tool verschiedene Absenderangaben machen: Die unter &#8222;Von:&#8220; angegebene Adresse ist der Absender auf dem Umschlag, und die beiden Absenderinformationen unter Absendername und Absender-E-Mail k&ouml;nnen Sie beispielsweise im E-Mail-Client lesen (siehe Bild 2).<\/p>\n<p>Das Sendedatum tragen Sie nur f&uuml;r statistische Zwecke ein, das Tool speichert ohnehin zu jedem Empf&auml;nger die exakte Sendezeit mit Datum und Uhrzeit.<\/p>\n<p><b>SMTP-Server<\/b><\/p>\n<p>&auml;hnlich wie bei einem herk&ouml;mmlichen E-Mail-Client, zum Beispiel: Outlook, m&uuml;ssen Sie auch dem Serienmail-Tool die SMTP-Adresse des Servers mitteilen (bei web.de hei&szlig;t diese beispielsweise smtp.web.de, bei GMX mail.gmx.de &#8211; die passende Adresse erfahren Sie vom jeweiligen Anbieter). SMTP verwendet &uuml;blicherweise Port 25 des Servers (siehe Bild 3).<\/p>\n<h3>SMTP_AUTH und SMTP after POP<\/h3>\n<p>Manche SMTP-Server sind durch die eine oder andere Art der Authentifizierung vor dem unbefugten Zugriff gesch&uuml;tzt. Die g&auml;ngigsten Varianten sind SMTP after POP und SMTP_AUTH.<\/p>\n<p>Bei SMTP after POP muss man sich vor dem Versenden von E-Mails via SMTP am POP3-Konto angemeldet haben, um eingegangene E-Mails abzurufen.<\/p>\n<p>Bei SMTP_AUTH meldet man sich mit einem eigens f&uuml;r das Versenden vorgesehenen Kennwort beim SMTP-Server an. Das Serienmail-Tool sieht beide M&ouml;glichkeiten vor. Die notwendigen Einstellungen nehmen Sie in dem in Bild 4 gezeigten Bereich des Hauptformulars vor. Die Option Keine ist angemessen, wenn Ihr SMTP-Server keine Authentifizierung vornimmt, etwa, weil er ohnehin jedem Rechner im eigenen LAN zu Diensten ist. Die Auswahl von SMTP after POP3 aktiviert die beiden Textfelder Kennwort und POP3-Server &#8211; hier m&uuml;ssen Sie die notwendigen Daten eintragen. Welche dies sind, erfahren Sie vom jeweiligen E-Mail-Provider oder in den  Einstellungen Ihres Mail-Client, wenn dieser schon konfiguriert ist. Die gesuchten Informationen finden Sie etwa bei Outlook, wenn Sie unter Extras\/E-Mail-Konten&#8230; auf &#8222;Vorhandene E-Mail-Konten anzeigen oder bearbeiten&#8220; klicken.<\/p>\n<p><IMG height=\"64\" src=\"..\/fileadmin\/_temp_\/{92CAD639-3E6E-4B20-8004-8D2E9BD3C1DF}\/pic004.png\" width=\"327\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 4:  Das Serienmail-Tool bietet verschiedene Authentifizierungsm&ouml;glichkeiten.<\/span><\/b><\/p>\n<p>Die Option SMTP_AUTH wiederum erfordert lediglich die Angabe eines Kennworts. Bei einigen Providern entspricht dieses Kennwort dem POP3-Kennwort.<\/p>\n<p><IMG height=\"204\" src=\"..\/fileadmin\/_temp_\/{92CAD639-3E6E-4B20-8004-8D2E9BD3C1DF}\/pic005.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 5:  Plaintext und HTML-Text f&uuml;r die Serienmail<\/span><\/b><\/p>\n<p><IMG height=\"411\" src=\"..\/fileadmin\/_temp_\/{92CAD639-3E6E-4B20-8004-8D2E9BD3C1DF}\/pic006.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 6:  HTML-Ansicht der Serienmail<\/span><\/b><\/p>\n<p><b>E-Mail-Inhalt<\/b><\/p>\n<p>Die meisten E-Mails enthalten entweder reinen Text oder HTML-Text. Mit reinem Text macht man nichts falsch, dieser wird von allen E-Mail-Clients ohne Probleme angezeigt. HTML-Mails k&ouml;nnen unter Umst&auml;nden Probleme verursachen, wenn der Inhalt wegen der Formatierungen &#8222;zerschossen&#8220; wird oder die Anzeige von HTML im Mail-Client des Empf&auml;ngers ausgeschaltet ist.<\/p>\n<p>Das Serienmail-Tool erlaubt die Verwendung beider Formate. Dabei k&ouml;nnen Sie entweder festlegen, dass alle Empf&auml;nger mit dem gleichen Format versorgt werden oder das Format f&uuml;r jeden Empf&auml;nger individuell festlegen.<\/p>\n<p>Der passende Bereich des Formulars frmSerienmail sieht wie in Bild 5 aus. Mit der Option Standardformat legen Sie fest, ob normalerweise der Inhalt des Feldes Inhalt (Plaintext) oder der des Feldes Inhalt (HTML) als Inhalt der Mail verwendet wird. &#8222;Normalerweise&#8220; deshalb, weil Sie das verwendete Format auch individuell je Empf&auml;nger festlegen k&ouml;nnen &#8211; dazu sp&auml;ter mehr.<\/p>\n<p>Wenn Sie auf die Schaltfl&auml;che HTML-Ansicht anzeigen klicken, erscheint ein separates Formular mit der passenden Darstellung (siehe Bild 6).<\/p>\n<p><b>Empf&auml;nger-Informationen festlegen<\/b><\/p>\n<p>Es fehlen noch die Informationen, welche Adressaten die Serienmail erreichen soll.<\/p>\n<p>Diese Daten m&uuml;ssen Sie in einer Tabelle bereitstellen, die in jeder Zeile zumindest die folgenden Felder enth&auml;lt:<\/p>\n<li>Prim&auml;rschl&uuml;sselfeld<\/li>\n<li>Feld mit der E-Mail-Adresse<\/li>\n<p>Optional kann ein weiteres Feld festlegen, ob der jeweilige Empf&auml;nger die E-Mail im HTML- oder im Plaintext-Format erhalten soll.<\/p>\n<p>F&uuml;r personalisierte Serienmails, in denen Sie etwa den Empf&auml;nger mit Vor- und Nachnamen anreden m&ouml;chten, muss die Tabelle ebenfalls die passenden Daten liefern. Bild 7 zeigt ein Beispiel f&uuml;r den Aufbau einer solchen Tabelle.<\/p>\n<p><IMG height=\"163\" src=\"..\/fileadmin\/_temp_\/{92CAD639-3E6E-4B20-8004-8D2E9BD3C1DF}\/pic007.png\" width=\"426\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 7:  Beispiel einer geeigneten Datenherkunft f&uuml;r das Serienmail-Tool<\/span><\/b><\/p>\n<p>Die Ermittlung der zu verwendenden Informationen erfolgt in den folgenden Schritten:<\/p>\n<li>Zun&auml;chst stellen Sie eine Tabelle oder Abfrage bereit, aus der das Tool die E-Mail-Adressen beziehen soll. Dabei kann es sich durchaus um eine verkn&uuml;pfte Tabelle handeln.<\/li>\n<li>Legen Sie die Tabelle oder Abfrage mit den E-Mail-Adressen im Kombinationsfeld Tabelle des Hauptformulars fest (siehe Bild 8).<\/li>\n<li>Diese Auswahl aktualisiert den Inhalt der Kombinationsfelder mit der Beschriftung Prim&auml;rschl&uuml;sselfeld und Feld der E-Mail-Adresse und f&uuml;llt diese mit allen in der Tabelle enthaltenen Feldern. W&auml;hlen Sie hier die passenden Felder aus.<\/li>\n<li>Wenn die Tabelle ein Feld enth&auml;lt, das je Empf&auml;nger angibt, ob die E-Mail im HTML- oder im Plaintext-Format versendet werden soll, stellen Sie die Option HTML individuell ausw&auml;hlen auf Ja ein.<\/li>\n<li>Haben Sie die Option im vorherigen Schritt auf Ja eingestellt, w&auml;hlen Sie im Kombinationsfeld Feld HTML Ja\/Nein noch das Feld aus, das einen passenden Booleschen Wert enth&auml;lt. (<\/li>\n<p>Fertig! Mit diesen Einstellungen k&ouml;nnen Sie bereits die erste Serienmail verschicken.<\/p>\n<h3>Personalisierte Serienmails<\/h3>\n<p>Vermutlich wollen Sie den Inhalt der Serienmail mit einigen dynamischen Elementen f&uuml;llen &#8211; etwa, um den Empf&auml;nger mit &#8222;Sehr geehrter Herr Minhorst&#8220; pers&ouml;nlich anzusprechen.<\/p>\n<p>Dazu sieht das Serienmail-Tool den Einsatz von Platzhaltern vor, die es zusammen mit den Mails in der Datenbank speichert. Um die Platzhalter festzulegen, m&uuml;ssen Sie zwei Voraussetzungen erf&uuml;llen:<\/p>\n<li>Die im Kombinationsfeld Tabelle ausgew&auml;hlte Tabelle enth&auml;lt f&uuml;r jeden Platzhalter eine Spalte mit den einzuf&uuml;genden Inhalten.<\/li>\n<li>Der Plaintext- und der HTML-Inhalt weisen in eckige Klammern gesetzte Platzhalter auf (diese m&uuml;ssen nicht unbedingt in beiden Formaten auftauchen).<\/li>\n<p>Ist dies beides erf&uuml;llt, klicken Sie einfach auf die Schaltfl&auml;che Platzhalter aktualisieren. Das Unterformular mit der &uuml;berschrift Quellfelder der Platzhalter listet dann in der linken Spalte alle in den Mail-Inhalten gefundenen Platzhalter auf &#8211; also alle in eckigen Klammern eingefassten Zeichenketten. In der rechten Spalte k&ouml;nnen Sie eines dieser Felder ausw&auml;hlen. Dessen Inhalt wird dann vor dem Verschicken f&uuml;r den entsprechenden Platzhalter eingesetzt (siehe Bild 8).<\/p>\n<p><!--30percent--><\/p>\n<p>Wenn Sie den Inhalten nachtr&auml;glich Platzhalter hinzugef&uuml;gt haben, k&ouml;nnen Sie entweder erneut alle Platzhalter einlesen, wobei alle angegebenen Quellfelder gel&ouml;scht werden, oder den neuen Platzhalter manuell in die Liste eintragen.<\/p>\n<p><IMG height=\"115\" src=\"..\/fileadmin\/_temp_\/{92CAD639-3E6E-4B20-8004-8D2E9BD3C1DF}\/pic008.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 8:  Die Empf&auml;nger-Informationen enthalten auch die Einstellungen f&uuml;r die Platzhalter in personalisierten E-Mails.<\/span><\/b><\/p>\n<p><IMG height=\"37\" src=\"..\/fileadmin\/_temp_\/{92CAD639-3E6E-4B20-8004-8D2E9BD3C1DF}\/pic009.png\" width=\"411\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 9:  Weitere Funktionen des Tools: Versenden der Mail, Kopieren eines Newsletters und Anzeigen der Empf&auml;ngerliste<\/span><\/b><\/p>\n<p><IMG height=\"205\" src=\"..\/fileadmin\/_temp_\/{92CAD639-3E6E-4B20-8004-8D2E9BD3C1DF}\/pic010.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 10:  Anzeige der Empf&auml;nger einer Serien-E-Mail mit Angabe des Versandzeitpunkts<\/span><\/b><\/p>\n<p><b>Weitere M&ouml;glichkeiten<\/b><\/p>\n<p>Das Hauptformular bietet drei weitere Steuerelemente (siehe Bild 9):<\/p>\n<li>Mit der Schaltfl&auml;che Mail versenden bringen Sie die Serienmail auf den Weg.<\/li>\n<li>Die Schaltfl&auml;che E-Mail kopieren erstellt eine neue E-Mail auf Basis der aktuell angezeigten E-Mail. Auf diese Weise sparen Sie sich die Neueingabe konstanter Informationen wie SMTP-Server oder Absender-Angaben.<\/li>\n<li>Die Schaltfl&auml;che Empf&auml;nger anzeigen &ouml;ffnet ein weiteres Formular, das die Empf&auml;nger der aktuellen E-Mail auflistet (siehe Bild 10).<\/li>\n<p>Das Formular aus Bild 10 offenbart ein weiteres Feature, das auf den ersten Blick nicht offensichtlich ist: Das Tool merkt sich, welche Mail an welche Empf&auml;nger verschickt wurde. Hat der Versand einmal nicht geklappt, speichert es dennoch die Versandinformationen inklusive dem Hinweis, dass die Mail nicht erfolgreich versendet wurde, und dem Grund f&uuml;r das Fehlschlagen.<\/p>\n<p>Wenn man den Versand erneut startet, verschickt das Tool die E-Mail nur noch an Empf&auml;nger, die die Mail noch nicht erhalten haben.<\/p>\n<p>Das Datenmodell, auf dem das vorgestellte Werkzeug aufbaut, besteht aus f&uuml;nf miteinander verkn&uuml;pften Tabellen (siehe Bild 11). Die Haupttabelle hei&szlig;t tblEMails. Sie enth&auml;lt die meisten der im Formular frmSerienmail abgebildeten Informationen. Die Empf&auml;nger der Mail werden im Hauptformular nicht explizit angezeigt. Trotzdem speichert die Datenbank diese Angaben, und zwar inklusive Versanddatum.<\/p>\n<p>Dabei werden alle Versuche, eine E-Mail zu versenden, protokolliert &#8211; auch die gescheiterten. Diese Informationen h&auml;lt das Tool in der Tabelle tblEMailsEmpfaenger fest. Die Empf&auml;nger schreibt es nicht direkt in diese, sondern in eine weitere Tabelle namens tblEmpfaenger. Dies hat den Grund, dass man vermutlich regelm&auml;&szlig;ig E-Mails an den gleichen Kreis von Empf&auml;ngern versendet. Damit deren E-Mail-Adresse nicht mit jedem Versand neu gespeichert werden muss, wird jede E-Mail-Adresse einmalig in der Tabelle tblEmpfaenger gespeichert.<\/p>\n<p>Die Tabelle tblPlatzhalter speichert sowohl die Platzhalter als auch die Felder, aus denen die Platzhalter gespeist werden sollen. Die Tabelle ist &uuml;ber das Feld EMailID mit der Tabelle tblEMails verbunden.<\/p>\n<p>Das technische Highlight der Anwendung ist die DLL SendMail2.dll, die Sascha Trowitzsch zusammengestellt hat. Die darin enthaltene Klasse vbSendMail2 bietet alle M&ouml;glichkeiten zum Senden von E-Mails &uuml;ber das SMTP-Protokoll.<\/p>\n<p>Dazu geh&ouml;ren Eigenschaften zum Festlegen aller Informationen, die in der Tabelle tblEMails enthalten sind und die der Anwender &uuml;ber das Formular frmSerienmail eingeben kann. Au&szlig;erdem gibt es dort eine Methode namens Send zum Verschicken einer E-Mail. Besonders hilfreich sind die von der Klasse bereitgestellten Ereigniseigenschaften, mit denen man auf bestimmte Ereignisse wie das erfolgreiche Versenden oder das Scheitern eines Sendevorgangs reagieren kann &#8211; dazu sp&auml;ter mehr.<\/p>\n<p><IMG height=\"347\" src=\"..\/fileadmin\/_temp_\/{92CAD639-3E6E-4B20-8004-8D2E9BD3C1DF}\/pic011.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 11:  Datenmodell des Serienmail-Tools<\/span><\/b><\/p>\n<p><b>Datenherkunft mit E-Mail-Empf&auml;ngern ausw&auml;hlen<\/b><\/p>\n<p>Technisch interessant ist die Anzeige der  Tabellen und Abfragen mitsamt darin enthaltenen Feldern, welche mit der in Bild 12 gezeigten Abfrage ermittelt werden.<\/p>\n<p><IMG height=\"320\" src=\"..\/fileadmin\/_temp_\/{92CAD639-3E6E-4B20-8004-8D2E9BD3C1DF}\/pic012.png\" width=\"454\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 12:  Diese Abfrage ermittelt alle Tabellen und Abfragen einer Datenbank.<\/span><\/b><\/p>\n<p>Das Kombinationsfeld cboSourceObject verwendet diese Abfrage, um die in der Datenbank enthaltenen Tabellen und Abfragen anzuzeigen. Dazu stellen Sie die Eigenschaft Datensatzherkunft auf diese Abfrage ein.<\/p>\n<p>Damit der Tabellenname in der dem Formular zugrunde liegenden Tabelle gespeichert wird, stellen Sie au&szlig;erdem die Eigenschaft Steuerelementinhalt auf das Feld EMailTabelle ein.<\/p>\n<p>Diese basiert auf der Systemtabelle MSysObjects und zeigt die Namen der Objekte an, deren Feld Type den Wert 1 (Tabelle) oder 5 (Abfrage) und deren Feld Flag den Wert 0 aufweist.<\/p>\n<p>Nach Sie einen Eintrag dieser Tabelle ausgew&auml;hlt haben, sollen die Kombinationsfelder cboPrimaerschluesselfeld,  cboSourcefieldMail und cboSourceFieldHTML desselben Formulars sowie das Kombinationsfeld Quellfeld des Unterformulars frmPlatzhalter aktualisiert werden und anschlie&szlig;end die Felder der aktuell ausgew&auml;hlten Datenherkunft anzeigen.<\/p>\n<p>Die passende Prozedur hei&szlig;t cboSourceFieldMail_Aktualisieren. Sie wird unter anderem von der Ereignisprozedur aufgerufen, die nach dem Aktualisieren des Kombinationsfelds cboSourceObject, aber auch direkt beim &ouml;ffnen des Formulars ausgel&ouml;st wird.<\/p>\n<p>Quellcode 1 enth&auml;lt die Ereignisprozedur Nach Aktualisierung des Kombinationsfeldes cboSourceObject und die dadurch aufgerufene Prozedur.<\/p>\n<p>Letztere pr&uuml;ft zun&auml;chst, ob im Kombinationsfeld cboSourceObject eine Tabelle oder eine Abfrage ausgew&auml;hlt wurde. Abh&auml;ngig davon erzeugt sie entweder ein TableDef-Objekt (bei einer Tabelle) oder ein QueryDef-Objekt (Abfrage).<\/p>\n<p>Anschlie&szlig;end durchl&auml;uft die Prozedur alle Elemente des jeweiligen Objekts und stellt diese durch Semikola getrennt zu einer String-Variablen zusammen.<\/p>\n<p><b>Quellcode 1: Aktualisieren der Kombinationsfelder zur Auswahl der Felder der Datenherkunft<\/b><\/p>\n<pre>Private Sub cboSourceObject_AfterUpdate()\r\n    cboSourceFields_Aktualisieren\r\nEnd Sub\r\nPrivate Sub cboSourceFields_Aktualisieren()\r\n    ''... Deklarationsteil (siehe Beispieldatenbank)\r\n    Set db = CurrentDb\r\n    Select Case Me!cboSourceObject.Column(1)\r\n        Case 1\r\n            Set Obj = db.TableDefs(Me!cboSourceObject)\r\n        Case 5\r\n            Set Obj = db.QueryDefs(Me!cboSourceObject)\r\n        Case Else\r\n            Exit Sub\r\n    End Select\r\n    For Each fld In Obj.Fields\r\n        str = str & fld.name & \";\"\r\n    Next fld\r\n    str = Left(str, Len(str) - 1)\r\n    Me!cboSourcefieldMail.RowSource = str\r\n    Me!cboSourceFieldHTML.RowSource = str\r\n    Me!cboPrimaerschluesselfeld.RowSource = str\r\n    Me!frmPlatzhalter.Form.cboQuellfeld.RowSource = str\r\nEnd Sub<\/pre>\n<p><b>Quellcode 2: &ouml;ffnen eines Formulars zur Anzeige eines HTML-Dokuments<\/b><\/p>\n<pre>Private Sub cmdHTMLAnzeigen_Click()\r\n    DoCmd.OpenForm \"frmHTML\", WindowMode:=acDialog, _        OpenArgs:=Me!InhaltHTML\r\nEnd Sub<\/pre>\n<p><b>Quellcode 3: Erstellen einer neuen Textdatei<\/b><\/p>\n<pre>Private Sub Form_Open(Cancel As Integer)\r\n    Me!ctlWebbrowser.Navigate \"about:blank\"\r\n    Me!ctlWebbrowser.Document.Write Me.OpenArgs\r\nEnd Sub<\/pre>\n<p>Diese Zeichenkette weist sie schlie&szlig;lich der jeweiligen Datensatzherkunft zu und stellt gleichzeitig die Eigenschaft Herkunftsart auf Wertliste ein.<\/p>\n<p><b>Anzeigen der HTML-Ansicht<\/b><\/p>\n<p>Die Schaltfl&auml;che cmdHTMLAnzeigen rendert auf Mausklick den HTML-Text der bearbeiteten Mail.<\/p>\n<p>Dies geschieht auf einem kleinen Umweg: Die Routine, die beim Klicken der Schaltfl&auml;che ausgel&ouml;st wird, &ouml;ffnet das Formular frmHTML und &uuml;bergibt den aktuellen HTML-Code als &ouml;ffnungsargument (s. Quellcode 2).<\/p>\n<p>Das Formular frmHTML besteht lediglich aus einem Webbrowser-Steuerelement sowie einer Schaltfl&auml;che zum Schlie&szlig;en des Formulars.<\/p>\n<p>Das &ouml;ffnen dieses Formulars l&ouml;st die Ereignisprozedur Form_Open mit zwei Anweisungen zum Anzeigen des &uuml;bergebenen HTML-Dokuments aus (s. Quellcode 3).<\/p>\n<p><b>Platzhalter<\/b><\/p>\n<p>Platzhalter legt man im Quelltext der Text- und der HTML-Version der Serienmail durch in eckige Klammern eingefasste W&ouml;rter an &#8211; etwa [Vorname] oder [Nachname]. Deren Inhalte sollen mit den passenden Feldern der zugrunde liegenden Datenherkunft gef&uuml;ttert werden. Dazu muss der Benutzer der Anwendung zun&auml;chst einmal mitteilen, welcher Platzhalter mit welchem Feld gef&uuml;llt werden soll. Das erfolgt im Unterformular frmPlatzhalter. Dieses enth&auml;lt als Datenherkunft die Tabelle tblPlatzhalter und zeigt die darin enthaltenen Felder Platzhalter und Quellfeld in der Datenblattansicht an. Das Kombinationsfeld Quellfeld wird ja, wie bereits weiter oben erw&auml;hnt, mit den Feldern der verwendeten Datenherkunft f&uuml;r die Serienmail gef&uuml;llt.<\/p>\n<p>Das Unterformular ist &uuml;ber das Feld EMailID mit dem Hauptformular verkn&uuml;pft, sodass es immer die Platzhalter zu der Serienmail anzeigt, die im Hauptformular zu sehen ist.<\/p>\n<p>Damit der Benutzer die Platzhalter nur in die Quelltexte der Serienmail schreiben und nicht auch noch in die Liste der Platzhalter eintragen muss, gibt es die Schaltfl&auml;che cmdPlatzhalterBearbeiten.<\/p>\n<p><b>Quellcode 4: Versenden der Serienmail (Teil 1)<\/b><\/p>\n<pre>Private Sub cmdSenden_Click()\r\n    DoCmd.Hourglass True\r\n    ''... Deklarationsteil (nicht abgedruckt)\r\n    \r\n    DoCmd.RunCommand acCmdSaveRecord ''[1]\r\n    \r\n    Set objMail = New vbSendMail2.asSendMail\r\n    \r\n    Set db = CurrentDb\r\n    Set rstKontakte = db.OpenRecordset(\"SELECT \" & Me!cboPrimaerschluesselfeld & \", \" _        & Me!cboSourcefieldMail & \" FROM \" & Me!cboSourceObject, dbOpenDynaset) ''[2]\r\n    rstKontakte.MoveLast\r\n    rstKontakte.MoveFirst\r\n    intKontakte = rstKontakte.RecordCount ''[3]\r\n    Do While Not rstKontakte.EOF\r\n        If Nz(DLookup(\"EMailID\", \"qryEmpfaenger\", \"EMailID = \" & Me.EMailID & \" AND EMail = ''\" _            & rstKontakte!EMail & \"'' AND Gesendet = True\"), 0) = 0 Then ''[4]\r\n            With objMail\r\n                .from = Me.Von\r\n                .Subject = Me.Betreff\r\n                .Recipient = rstKontakte!EMail\r\n                .SMTPHost = Me.SMTPServer\r\n                .SMTPPort = Me.Port\r\n<\/pre>\n<p>Diese l&ouml;st die Ereignisprozedur cmdPlatzhalterBearbeiten_Click aus (siehe Modul Form_frmSerienmail in der Beispieldatenbank), die nach R&uuml;ckfrage alle Platzhalter der aktuellen Serienmail l&ouml;scht und f&uuml;r jeden in der Serienmail enthaltenen Platzhalter einen neuen Eintrag anlegt.<\/p>\n<p>F&uuml;r das Ermitteln der Platzhalter ist die Prozedur PlatzhalterSchreiben verantwortlich, die jeweils den &uuml;bergebenen Text auf Zeichenketten in eckigen Klammern untersucht und diese unter Angabe der ID der aktuellen Serienmail in die Tabelle tblPlatzhalter eintr&auml;gt.<\/p>\n<p><b>E-Mails versenden<\/b><\/p>\n<p>Die Schaltfl&auml;che cmdSenden ruft die Ereignisprozedur aus Quellcode 4 auf. Die Prozedur speichert zun&auml;chst den aktuellen Datensatz, damit die Mail mit den aktuellen Daten verschickt wird [1]. Anschlie&szlig;end erzeugt sie eine Datensatzgruppe (rstKontakte) auf Basis der als Datenherkunft f&uuml;r die Adressaten angegebene Tabelle oder Abfrage [2] und ermittelt die Anzahl der enthaltenen Datens&auml;tze als Grundlage f&uuml;r die Anzeige des Fortschritts in der Statusleiste [3].<\/p>\n<p>Nun startet das eigentliche Versenden: Dazu durchl&auml;uft die Routine in einer Schleife alle Datens&auml;tze in der Datensatzgruppe rstKontakte.<\/p>\n<p>Gleich die erste Zeile pr&uuml;ft, ob die Mail noch nicht an den aktuellen Empf&auml;nger gesendet wurde [4] &#8211; in dem Fall soll das nicht noch einmal geschehen.<\/p>\n<p>Die folgenden Zeilen f&uuml;llen die Eigenschaften des Objekts objMail mit Daten aus zwei Quellen: Allgemeine Daten, die in jeder Mail vorkommen, stammen aus den entsprechenden Feldern des Formulars frmSerienmail, die &uuml;brigen sind empf&auml;ngerspezifisch, werden aus dem aktuell in der Schleife durchlaufenen Datensatz eingelesen und den passenden Eigenschaften zugewiesen.<\/p>\n<p>Ist im Formular festgelegt, dass die Empf&auml;nger ihre E-Mail wahlweise im HTML- und im Plaintext-Format enthalten, ermittelt eine DLookup-Anweisung das f&uuml;r den aktuellen Empf&auml;nger gew&uuml;nschte Format [5]; anderenfalls stellt sie das Standardformat ein [6].<\/p>\n<p><b>Quellcode 4: Versenden der Serienmail (Fortsetzung)<\/b><\/p>\n<pre>                If Me.ogrHTMLIndividuell = True Then\r\n                    bolHTML = DLookup(Me!cboSourceFieldHTML, Me!cboSourceObject, _                        Me!cboPrimaerschluesselfeld & \" = \"  _                        & rstKontakte(Me!cboPrimaerschluesselfeld)) ''[5]\r\n                Else\r\n                    bolHTML = Me!ogrStandardformat ''[6]\r\n                End If\r\n                If bolHTML = True Then ''[7]\r\n                    .AsHTML = True\r\n                    .Message = PlatzhalterErsetzen(Me!InhaltHTML, Me!EMailID)\r\n                Else\r\n                    .AsHTML = False\r\n                    .Message = PlatzhalterErsetzen(Me!Inhalt, Me!EMailID)\r\n                End If\r\n                Select Case Me.ogrAuthentifizierung ''[8]\r\n                    Case 1\r\n                        .UsePopAuthentication = True\r\n                        .Username = Me.txtFrom\r\n                        .Password = Nz(Me.txtKennwort, \"\")\r\n                        .POP3Host = Me.txtPOP3Server\r\n                    Case 2\r\n                        .UseAuthentication = True\r\n                        .Username = Me.txtFrom\r\n                        .Password = Nz(Me.txtKennwort, \"\")\r\n                End Select\r\n                .send\r\n                If bolGesendet = True Then\r\n                    intGesendet = intGesendet + 1\r\n                End If\r\n                EmpfaengerdatenSpeichern rstKontakte(Me!cboSourcefieldMail), _                    Me!EMailID, db, bolGesendet, strMeldung ''[9]\r\n            End With\r\n        Else\r\n            intNichtGesendet = intNichtGesendet + 1\r\n        End If\r\n        SysCmd acSysCmdSetStatus, rstKontakte.AbsolutePosition + 1 & \" von \" & intKontakte _\r\n             & \" versendet.\"\r\n        rstKontakte.MoveNext\r\n        DoEvents\r\n    Loop\r\n    MsgBox \"Statistik:\" & vbCrLf & \"Anzahl erfolgreich versendeter E-Mails: \" _        & intGesendet & vbCrLf & \"Anzahl nicht versendeter E-Mails: \" & intNichtGesendet\r\n    Set objMail = Nothing\r\n    DoCmd.Hourglass False\r\nEnd Sub\r\n<\/pre>\n<p>Die folgenden Anweisungen legen die Eigenschaften AsHTML und Message des Objekts objMail anhand der zuvor ermittelten Werte fest [7].<\/p>\n<p>Fehlt noch die Art der Anmeldung an den SMTP-Server. Das folgende Select Case-Konstrukt teilt dem Objekt objMail die passenden Werte aus dem Formular mit.<\/p>\n<p>Die Send-Methode sorgt schlie&szlig;lich f&uuml;r das Versenden der E-Mail an den aktuellen Empf&auml;nger. Das Ergebnis dieses Vorgangs landet als neuer Datensatz in der Tabelle tblEMailsEmpfaenger. Das Speichern dieser Daten &uuml;bernimmt die Routine EmpfaengerdatenSpeichern, die hier nicht abgedruckt ist; sie pr&uuml;ft zuvor, ob die E-Mail-Adresse des Empf&auml;ngers schon in der Tabelle tblEmpfaenger steht, und tr&auml;gt diese gegebenenfalls nach [9]. Die &uuml;brigen Anweisungen aktualisieren die Fortschrittsanzeige in der Statusleiste und die Ausgabe, wie viele  E-Mails nach dem Durchlaufen s&auml;mtlicher Empf&auml;nger verschickt worden sind.<\/p>\n<p><b>Status ermitteln per Ereignisprozedur<\/b><\/p>\n<p>Das Objekt objMail stellt einige Ereignisse nach dem erfolgreichen oder fehlgeschlagenen Versenden einer E-Mail zur Verf&uuml;gung. Um diese Ereignisse abzufangen und eigene Anweisungen bei deren Auftreten auszuf&uuml;hren, deklariert man das Objekt im Kopf des Moduls als &#8222;With Events&#8220;:<\/p>\n<pre>Dim WithEvents objMail As vbSendMail2.asSendMail<\/pre>\n<p>Die Auswahl des Objekts objMail im linken Kombinationsfeldes des Codefensters f&uuml;hrt zur Anzeige der vorhandenen Ereignisse im rechten Kombinationsfeld (siehe Bild 13). Der Klick auf einen Eintrag im rechten Kombinationsfeld legt automatisch den Rumpf f&uuml;r Prozeduren an, die beim passenden Ereignis ausgel&ouml;st werden.<\/p>\n<p><IMG height=\"456\" src=\"..\/fileadmin\/_temp_\/{92CAD639-3E6E-4B20-8004-8D2E9BD3C1DF}\/pic013.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 13:  Diese Prozeduren werden durch Ereignisse des Objekts objMail ausgel&ouml;st.<\/span><\/b><\/p>\n<p>Die Ereignisse sind beispielsweise wichtig, um direkt ein Feedback &uuml;ber das Ergebnis eines Sendevorgangs zu erhalten und angemessen darauf reagieren zu k&ouml;nnen. Im vorliegenden Fall speichern die Ereignisprozeduren f&uuml;r Erfolg oder Misserfolg eines Sendevorgangs Informationen &uuml;ber das Ergebnis in modulweit deklarierten Variablen. Die oben vorgestellte Routine zum Versenden von E-Mails liest beispielsweise die Variablen bolGesendet und strMeldung aus, um die passenden Informationen in die Tabelle tblEMailsEmpfaenger zu schreiben.<\/p>\n<p><b>Platzhalter ersetzen<\/b><\/p>\n<p>Die Funktion PlatzhalterErsetzen tr&auml;gt vor dem Versenden an Stelle der Platzhalter die vorgesehen Inhalte in die E-Mails ein. Dazu &uuml;bergibt die aufrufende Prozedur den Text mit den Platzhaltern sowie die ID der Serienmail, damit auch die richtigen Platzhalter ersetzt werden.<\/p>\n<p>Die Funktion durchl&auml;uft eine Datensatzgruppe mit den der Serienmail zugeordneten Platzhaltern und ersetzt die angegebenen Ausdr&uuml;cke durch die passenden Inhalte. Der R&uuml;ckgabewert ist dann mit den gew&uuml;nschten Daten versehene Fassung des Textes (siehe Routine PlatzhalterErsetzen im Modul Form_frmSerienmail der Beispieldatenbank).<\/p>\n<p>Wenn Sie das Serienmail-Tool einsetzen, steht vor dem Versenden der Serienmail an die komplette Verteilerliste hoffentlich ein Test. Dazu legen Sie am besten eine Tabelle mit einigen Dummy-Adressen an &#8211; sicher haben Sie selbst den einen oder anderen E-Mail-Account, an den Sie sich die Serienmail zun&auml;chst selbst zusenden k&ouml;nnen.<\/p>\n<h3>Spam oder kein Spam<\/h3>\n<p>Wenn Sie m&ouml;chten, dass die Serienmail auch bei den angegebenen Empf&auml;ngern ankommt, sollten Sie daf&uuml;r sorgen, dass diese nicht in einem Spam-Filter h&auml;ngen bleibt. Am besten installieren Sie selbst einen Spam-Filter und werten aus, ob und &#8211; wenn ja &#8211; warum Ihre Serienmail darin h&auml;ngen bleibt.<\/p>\n<p>Die vollst&auml;ndige Beschreibung einer Musterl&ouml;sung mit verh&auml;ltnism&auml;&szlig;ig viel Quellcode ist im Rahmen dieses Beitrags nicht m&ouml;glich. Die fehlenden Funktionen k&ouml;nnen Sie allerdings leicht anhand der Beispieldatenbanken nachvollziehen.<\/p>\n<p>Die L&ouml;sung liefert die wesentlichen Funktionen zum Versenden von E-Mails an mehrere Empf&auml;nger. Eine Validierung der Eingaben fehlt aber ebenso wie eine Fehlerbehandlung.<\/p>\n<h3>Downloads zu diesem Beitrag<\/h3>\n<p>Enthaltene Beispieldateien:<\/p>\n<p>Serienmails.mdb<\/p>\n<p>SendMail2.dll<\/p>\n<p><a href=\"..\/fileadmin\/beispiele\/FF28D9AE-B9E4-4663-8FB8-31DA3E38AAD6\/aiu_380.zip\">Download<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Serienmails verschicken &#8211; das ist doch ganz einfach, oder Einfach die Mail mit Outlook erstellen, Empf&auml;nger eintragen und ab die Post! Klar, wenn man keine besonderen Anspr&uuml;che hat, kann man das so machen. Wer allerdings den Inhalt der Serienmail personalisieren oder eine Historie der versendeten Mails inklusive Verteilerliste pflegen m&ouml;chte, braucht ein spezielles St&uuml;ck Software. Im vorliegenden Beitrag stellen wir Ihnen genau das richtige vor.<\/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":[662006,66042006,44000026,44000030,44000027,44000033],"tags":[],"class_list":["post-55000380","post","type-post","status-publish","format-standard","hentry","category-662006","category-66042006","category-Interaktiv","category-Internet","category-Loesungen","category-Outlook"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.9 (Yoast SEO v27.4) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Serienmails mit Access - 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\/Serienmails_mit_Access\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Serienmails mit Access\" \/>\n<meta property=\"og:description\" content=\"Serienmails verschicken - das ist doch ganz einfach, oder Einfach die Mail mit Outlook erstellen, Empf&auml;nger eintragen und ab die Post! Klar, wenn man keine besonderen Anspr&uuml;che hat, kann man das so machen. Wer allerdings den Inhalt der Serienmail personalisieren oder eine Historie der versendeten Mails inklusive Verteilerliste pflegen m&ouml;chte, braucht ein spezielles St&uuml;ck Software. Im vorliegenden Beitrag stellen wir Ihnen genau das richtige vor.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/access-im-unternehmen.de\/Serienmails_mit_Access\/\" \/>\n<meta property=\"og:site_name\" content=\"Access im Unternehmen\" \/>\n<meta property=\"article:published_time\" content=\"2021-02-11T21:05:12+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/vg06.met.vgwort.de\/na\/70f8a91c812e43d5912dc06bf2a96fb8\" \/>\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=\"19\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Serienmails_mit_Access\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Serienmails_mit_Access\\\/\"},\"author\":{\"name\":\"Andr\u00e9 Minhorst\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\"},\"headline\":\"Serienmails mit Access\",\"datePublished\":\"2021-02-11T21:05:12+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Serienmails_mit_Access\\\/\"},\"wordCount\":3415,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Serienmails_mit_Access\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg06.met.vgwort.de\\\/na\\\/70f8a91c812e43d5912dc06bf2a96fb8\",\"articleSection\":[\"2006\",\"4\\\/2006\",\"Interaktiv\",\"Internet\",\"L\u00f6sungen\",\"Outlook\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/Serienmails_mit_Access\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Serienmails_mit_Access\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Serienmails_mit_Access\\\/\",\"name\":\"Serienmails mit Access - Access im Unternehmen\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Serienmails_mit_Access\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Serienmails_mit_Access\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg06.met.vgwort.de\\\/na\\\/70f8a91c812e43d5912dc06bf2a96fb8\",\"datePublished\":\"2021-02-11T21:05:12+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Serienmails_mit_Access\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/Serienmails_mit_Access\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Serienmails_mit_Access\\\/#primaryimage\",\"url\":\"http:\\\/\\\/vg06.met.vgwort.de\\\/na\\\/70f8a91c812e43d5912dc06bf2a96fb8\",\"contentUrl\":\"http:\\\/\\\/vg06.met.vgwort.de\\\/na\\\/70f8a91c812e43d5912dc06bf2a96fb8\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Serienmails_mit_Access\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Serienmails mit Access\"}]},{\"@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":"Serienmails mit Access - 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\/Serienmails_mit_Access\/","og_locale":"de_DE","og_type":"article","og_title":"Serienmails mit Access","og_description":"Serienmails verschicken - das ist doch ganz einfach, oder Einfach die Mail mit Outlook erstellen, Empf&auml;nger eintragen und ab die Post! Klar, wenn man keine besonderen Anspr&uuml;che hat, kann man das so machen. Wer allerdings den Inhalt der Serienmail personalisieren oder eine Historie der versendeten Mails inklusive Verteilerliste pflegen m&ouml;chte, braucht ein spezielles St&uuml;ck Software. Im vorliegenden Beitrag stellen wir Ihnen genau das richtige vor.","og_url":"https:\/\/access-im-unternehmen.de\/Serienmails_mit_Access\/","og_site_name":"Access im Unternehmen","article_published_time":"2021-02-11T21:05:12+00:00","og_image":[{"url":"http:\/\/vg06.met.vgwort.de\/na\/70f8a91c812e43d5912dc06bf2a96fb8","type":"","width":"","height":""}],"author":"Andr\u00e9 Minhorst","twitter_card":"summary_large_image","twitter_misc":{"Verfasst von":"Andr\u00e9 Minhorst","Gesch\u00e4tzte Lesezeit":"19\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/access-im-unternehmen.de\/Serienmails_mit_Access\/#article","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/Serienmails_mit_Access\/"},"author":{"name":"Andr\u00e9 Minhorst","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f"},"headline":"Serienmails mit Access","datePublished":"2021-02-11T21:05:12+00:00","mainEntityOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/Serienmails_mit_Access\/"},"wordCount":3415,"commentCount":0,"publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/Serienmails_mit_Access\/#primaryimage"},"thumbnailUrl":"http:\/\/vg06.met.vgwort.de\/na\/70f8a91c812e43d5912dc06bf2a96fb8","articleSection":["2006","4\/2006","Interaktiv","Internet","L\u00f6sungen","Outlook"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/access-im-unternehmen.de\/Serienmails_mit_Access\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/access-im-unternehmen.de\/Serienmails_mit_Access\/","url":"https:\/\/access-im-unternehmen.de\/Serienmails_mit_Access\/","name":"Serienmails mit Access - Access im Unternehmen","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/Serienmails_mit_Access\/#primaryimage"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/Serienmails_mit_Access\/#primaryimage"},"thumbnailUrl":"http:\/\/vg06.met.vgwort.de\/na\/70f8a91c812e43d5912dc06bf2a96fb8","datePublished":"2021-02-11T21:05:12+00:00","breadcrumb":{"@id":"https:\/\/access-im-unternehmen.de\/Serienmails_mit_Access\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/access-im-unternehmen.de\/Serienmails_mit_Access\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/access-im-unternehmen.de\/Serienmails_mit_Access\/#primaryimage","url":"http:\/\/vg06.met.vgwort.de\/na\/70f8a91c812e43d5912dc06bf2a96fb8","contentUrl":"http:\/\/vg06.met.vgwort.de\/na\/70f8a91c812e43d5912dc06bf2a96fb8"},{"@type":"BreadcrumbList","@id":"https:\/\/access-im-unternehmen.de\/Serienmails_mit_Access\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/access-im-unternehmen.de\/"},{"@type":"ListItem","position":2,"name":"Serienmails mit Access"}]},{"@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\/55000380","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=55000380"}],"version-history":[{"count":0,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55000380\/revisions"}],"wp:attachment":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/media?parent=55000380"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/categories?post=55000380"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/tags?post=55000380"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}