Die SuperMailer-Projektdatei ist eine reine Binärdatei, deren Inhalt nicht von einer eigenen Anwendung geändert werden kann, da sich das Format mit jeder SuperMailer-Version ändern kann. Eine Änderung des zu versendenden Inhalts ist nur über eine Ini-Datei möglich, siehe dazu SuperMailer in eigenen Anwendungen nutzen
Zu jeder SuperMailer-Projektdatei ist eine Empfängerdatenbank zugeordnet,
die Zuordnung kann der Nutzer jederzeit über Menü Datei - Empfängerdatenbank
wechseln ändern.
Die lokale Empfängerdatenbank liegt im SQLite-Datenbankformat vor. Durch
externe Anwendungen können die Daten der SQlite-Datenbank ebenfalls geändert
werden. Beim Wechsel auf einen MySQL-Server erstellt SuperMailer automatisch die
Tabellen in der MySQL-Datenbank bzw. verwendet die bestehenden Tabellen.
Globale Blockliste
Die globale Blockliste wird extern in einer lokalen SQlite-Datenbank gespeichert. Beim Wechsel auf MySQL-Server können mehrere SuperMailer-Instanzen auf die globale Blockliste zugreufen. Der Aufbau der lokalen und globalen Blockliste ist vollkommen identisch.
Aufbau der Empfängerdatenbank
Jede Empfängerdatenbank besteht aus den Standard-Tabellen RecipientsGroups, LocalBlocklist, RecipientsCategories und Rcpts2Cat. Alle anderen Tabellen werden automatisch erzeugt, sobald der Nutzer eine neue Empfängergruppe anlegt.
Aufbau der Tabelle RecipientsGroups
Feldname | Typ | Beschreibung |
ID | INT, AUTOINCREMENT | Eindeutige ID der Empfängergruppe, beim Einfügen einer neuen Empfängergruppe wird SQLite selbst die entsprechende eindeutige ID vergeben |
GroupName | STRING, UNIQUE | Eindeutiger Name der Empfängergruppe, jeder Empfängergruppenname darf nur einmal vergeben werden. |
CreateDate | REAL | Gibt das Datum/Uhrzeit der Erstellung dieser Empfängergruppe im Delphi TDateTime-Format an |
DeleteAble | BOOL | Ist der Wert TRUE (Standard), dann kann der Nutzer über die
Programmoberfläche die Empfängergruppe löschen. Wird der FALSE gesetzt,
dann ist die Gruppe nicht löschbar.
Hinweis: Diese Angabe darf für die Empfängergruppe <keine Empfängergruppe> nicht geändert werden, ansonsten funktioniert die Software nicht mehr korrekt.
|
GroupPosition | INT | Gibt die Positionierung der Gruppe in der Liste mit den
Empfängergruppen an.
|
RecipientsSortColumnName | String | Enthält den Namen der Spalte aus der Tabelle mit den
Empfängern, nach welcher sortiert werden soll.
|
RecipientsSortDirection | INT | Gibt die Richtung der Sortierung der Liste an. Ein Wert 0
bedeutet, keine Sortierung, 1 sortiert aufsteigend, 2 absteigend.
|
RecipientsSortType | INT | Gibt an, wie die Liste sortiert werden soll. 0 sortiert nach
Zeichenketten, 1 numerische Sortierung, 2 Sortierung nach Datum, 3
Sortierung nach Zeit und 4 Sortierung nach Status aktiv/Häkchen gesetzt.
|
ColumnWidths | BLOB | Die Breite der einzelnen Spalten werden als 4 Byte Integer gespeichert. |
LastFailedSendingsDate1 | REAL | Datum/Uhrzeit im Delphi TDateTime-Format des letzten Versands mit den fehlgeschlagenen Empfänger-IDs in Tabelle FailedSendingsTablename1 wird gespeichert. |
LastFailedSendingsDate2 | REAL | Datum/Uhrzeit im Delphi TDateTime-Format des letzten Versands mit den fehlgeschlagenen Empfänger-IDs in Tabelle FailedSendingsTablename2 wird gespeichert. |
RecipientsTablename | STRING | Name der Tabellen mit den Empfängern dieser
Empfängergruppe. Beim Anlegen einer Empfängergruppe muss die Software
den eindeutigen Tabellennamen selbst bilden und ebenfalls die Tabelle
erstellen. Hinweis: Erstellen Sie nicht selbst die Tabellennamen, da intern diese durch einen zusätzlichen Trigger mit den Tabellen FailedSendingsTablename1 und FailedSendingsTablename2 verbunden werden. |
FailedSendingsTablename1 | STRING | Name der Tabelle mit den fehlgeschlagenen IDs des letzten
oder vorletzten Versands. Beim Anlegen einer Empfängergruppe muss die
Software den eindeutigen Tabellennamen selbst bilden und ebenfalls die
Tabelle erstellen. Hinweis: Erstellen Sie nicht selbst die Tabellennamen, da intern diese durch einen zusätzlichen Trigger mit den Tabellen FailedSendingsTablename1 und FailedSendingsTablename2 verbunden werden. |
FailedSendingsTablename2 | STRING | Name der Tabelle mit den fehlgeschlagenen IDs des letzten
oder vorletzten Versands. Beim Anlegen einer Empfängergruppe muss die
Software den eindeutigen Tabellennamen selbst bilden und ebenfalls die
Tabelle erstellen. Hinweis: Erstellen Sie nicht selbst die Tabellennamen, da intern diese durch einen zusätzlichen Trigger mit den Tabellen FailedSendingsTablename1 und FailedSendingsTablename2 verbunden werden. |
InternetHistoryURLs | BLOB | Enthält die URLs der Webseiten, die zuletzt über die
Funktion Text laden - aus Internet verwendet wurden. |
Aufbau der Tabelle mit den einzelnen Feldern der Empfängerliste
Feldname | Typ | Beschreibung |
ID | INT, AUTOINCREMENT | Eindeutige ID des Empfängers |
iCreateDate | REAL | Enthält das Datum/Uhrzeit des Anlegens des Empfänger im Delphi TDateTime-Format. |
iLastEMailSendDateTime | REAL | Enthält das Datum/Uhrzeit des letzten E-Mail-Versands an diesen Empfänger, dieser Wert wird nur durch BirthdayMailer verwendet. |
iLastSMSSendDateTime | REAL | Enthält das Datum/Uhrzeit des letzten SMS-Versands an diesen Empfänger, dieser Wert wird nur durch BirthdayMailer verwendet. |
iActive | INT | Gibt an, ob der Empfänger aktiv = mit Häkchen versehen ist (1) oder nicht (0). |
iHardBounceCount | INT | Gibt die Anzahl Hardbounces an, Standard 0. |
iSoftBounceCount | INT | Gibt die Anzahl Softbounces an, Standard 0. Dieses Feld wird nicht verwendet. |
iLastUpdate | DATETIME | Timestamp mit der letzten Änderung des Empfängers, in SQlite erfolgt die Aktualisierung des Feldes per Trigger. |
iLastNewsletterSendDateTime | DATETIME | Enthält das Datum/Uhrzeit des letzten Newsletter-/Serienmail-Versands des Empfänger im Delphi TDateTime-Format. |
<weitere Felder> | STRING | Vom Nutzer angelegte Felder, zur Speicherung der Daten. |
Aufbau der Tabelle mit den fehlgeschlagenen Übermittlungen
Diese Tabelle enthält die IDs der Empfänger aus der Empfängerliste dieser Gruppe. Es dürfen nur IDs eingefügt, die sich in der Empfängerliste befinden, ansonsten werden diese erst wieder nach einem nächsten oder übernächsten Versand gelöscht. Beim Löschen eines Empfängers aus der Empfängerliste wird per internen Trigger die jeweilige ID aus der Tabelle automatisch entfernt.
Feldname | Typ | Beschreibung |
RecipientsTable_ID | INT, UNIQUE | Gibt die ID des Empfängers an |
Aufbau der Tabelle für die lokale und globale Blockliste
Die globale Blockliste wird in einer externen SQLite-Datenbank gespeichert. Soll die globale Blockliste auf MySQL-Server gespeichert werden, dann wird immer der Tabellenname BlockList verwendet.
Die Einträge können E-Mail-Adressen, E-Mail-Adressen mit Wildcard-Zeichen (%, _) oder bei SerialLetterAndFax komplette Zeichenketten sein.
Feldname | Typ | Beschreibung |
ID | INT, AUTOINCREMENT | Gibt die ID des Eintrags an. |
CreateDate | REAL | Enthält das Datum/Uhrzeit des Anlegens des Eintrags im Delphi TDateTime-Format. |
BlockedEMailAddress | STRING | Gibt den zu blockenden Eintrag an. |
Description | BLOB | Kann eine Beschreibung enthalten. |
Aufbau der Tabelle RecipientsCategories
In der Tabelle werden Kategorien für die Empfänger gespeichert.
Feldname | Typ | Beschreibung |
ID | INT, AUTOINCREMENT | Gibt die ID des Eintrags an. |
CategoryName | STRING(255) | Enthält die Bezeichnung der Kategorie. |
CategoryColor | INT | Die vergebene Farbe der Kategorie wird im Delphi TColor-Format gespeichert. |
Aufbau der Tabelle Rcpts2Cat
In der Tabelle werden die Zuordnungen Gruppe, Empfänger zu Kategorie gespeichert. Per Trigger werden Einträge gelöscht, sobald Gruppen oder Empfänger gelöscht werden.
Feldname | Typ | Beschreibung |
GroupID | INT | ID der Empfängergruppe in RecipientsGroups. |
RecipientsID | INT | ID des Empfängers. |
RecipientsCategoriesID | INT | ID der Kategorie in RecipientsCategories. |