SuperMailer in eigenen Anwendungen nutzen

Dieses Kapitel richtet sich nur an Entwickler von anderen Softwareprodukten, die SuperMailer in das eigene Programm einbinden möchten, um es für den E-Mail-Versand zu nutzen.

Zur Verwendung des SuperMailer in eigenen Anwendungen, besteht die Möglichkeit eine Ini-Datei zu verwenden und diese als Parameter an SuperMailer zu übergeben. Eine Vorgabe-Ini-Datei finden Sie im SuperMailer-Ordner, der Name lautet SuperMailer_AUTOCFG.INI.

Hinweis:

SuperMailer mit der Ini-Datei starten

Starten Sie SuperMailer mit dem Zusatzparameter /AUTOCFGFILE:<ordner und name der ini-datei>,
z.B. c:\programme\supermailer\sm.exe /AUTOCFGFILE:c:\meinedatei.ini

Hinweis: Enthält der Ordner oder Dateiname der Ini-Datei Leerzeichen dann geben Sie diese mit Anführungszeichen an,
z.B. c:\programme\supermailer\sm.exe /AUTOCFGFILE:"c:\vorlagen für eine e-mail\meinedatei.ini"

Der Start von SuperMailer, kann über ShellExecute(params), CreateProcess(params) oder WinExec(params) erfolgen, dabei muss natürlich der Zusatzparameter korrekt übergeben werden.

Siehe auch
Kommandozeilenparameter

 

SuperMailer-Installationsordner bestimmen

Der SuperMailer-Installationsordner wird bei jedem Start des SuperMailer in den Wert InstallPath unter HKEY_CURRENT_USER\Software\Mirko Boeer Software\SuperMailer\Options geschrieben. Der Ordner kann entsprechend ausgelesen und verwendet werden. Die ausführbare Exe-Datei heisst immer sm.exe

 

Bestimmen ob SuperMailer bereits läuft

SuperMailer darf auf dem PC bzw. unter dem jeweiligen Windows-Nutzer nur einmal gestartet werden. Um zu Prüfen ob SuperMailer ausgeführt wird, sollte geprüft werden ob der Mutex SuperMailer32 existiert. Damit können Fehlermeldungen des Programms vermieten werden.

Beispiel für die Prüfung (in Delphi 7, leicht auf andere Sprachen anpassbar)

Var
 hnd : THandle;

hnd := CreateMutex(nil, True, 'SuperMailer32');

If (GetLastError = ERROR_ALREADY_EXISTS) Then
 // SuperMailer läuft
else
 CloseHandle(hnd); // SuperMailer läuft nicht, Handle freigeben, sonst startet SuperMailer nicht

 

Aufbau der Ini-Datei

Die Ini-Datei besteht aus mehreren Bereichen (Sections), die Informationen zu den auszuführenden Aktionen enthalten.

Hinweise:

 

Section/Parameter Beschreibung

[COMMON]

VERSION=1.0

Bitte die Version 1.0 angeben, diese Angabe kann für später Anpassungen notwendig sein.

 

[OPTIONS]

DATABASETYPE= Geben Sie SQLITE an, damit SuperMailer automatisch eine lokale Empfängerdatenbank erstellt.

Verwenden Sie die Angabe MYSQL, damit SuperMailer sich mit einem MySQL-Server verbinden soll. Es sind die Angaben im Bereich [MYSQL] notwendig.

PROJECTFILENAME=

Geben Sie den Dateinamen mit Ordner der Projektdatei an. Existiert die Datei und OPENEXISTING=TRUE dann wird die Datei geöffnet.

Hinweis: Eine etwaige bestehende Datei wird ohne Warnung überschrieben.

OPENEXISTING=TRUE|FALSE

Geben Sie TRUE an, um die bestehende Projekdatei zu öffnen. FALSE um eine neue Datei zu erstellen.

Hinweis: Ist die Angabe TRUE, dann wird der Bereich [SENDOPTIONS] nicht eingelesen, d.h. in der Projektdatei muss bereits die Versandart und damit verbunden den notwendigen Einstellungen vorgenommen wurden sein.

MAILSUBJECT=

Geben Sie den Betreff der E-Mail an, dies ist eine Pflichtangabe, wenn die E-Mails versendet werden sollen.

SENDMAILS=TRUE|FALSE

Geben Sie den Wert TRUE an, um die E-Mails zu versenden, SuperMailer wird nach dem E-Mail-Versand geschlossen. Geben Sie FALSE an, um keine E-Mails zu versenden, SuperMailer wartet nach Ausführung aller Aktionen auf eine Nutzereingabe.

CREATEREPORT=TRUE|FALSE

Geben Sie TRUE an, damit nach dem E-Mail-Versand ein Report im HTML-Format erstellt.

EMAILCOLUMNNAME=

Geben Sie den Feldnamen mit der E-Mail-Adresse an. Diese Angabe ist beim Import der Empfänger notwendig, damit SuperMailer weis in welcher Spalte die E-Mail-Adresse steht. Ist diese Angabe leer oder ungültig wird der Nutzer aufgefordert das Feld zu wählen.
RECIPIENTSGROUP= Name der Empfängergruppe, die gewählt werden soll. Nur wenn OPENEXISTING=TRUE wird diese Angabe verwendet. Lassen Sie die Angabe leer, damit SuperMailer die Empfänger "<keine Empfängergruppe>" verwendet.
[MYSQL]
MYSQLSERVERNAME=
MYSQLDBNAME=
MYSQLUSERNAME=
MYSQLPASSWORD=
MYSQLTABLEPREFIX=
MYSQLSERVERPORT=3306
MYSQLCONNECTTIMEOUT=30
MYSQLREADTIMEOUT=600
MYSQLWRITETIMEOUT=600

Diese Angaben werden nur berücksichtigt, wenn DATABASETYPE=MYSQL und die Angabe OPENEXISTING=FALSE gesetzt ist.

Geben Sie die Zugangsdaten zum MySQL-Server an.

 

[MAILTEXT]

FORMAT=HTML|TEXT|MULTIPART

Dies gibt das Format der E-Mail an. Geben Sie HTML an, um eine reine HTML-E-Mail zu erstellen. TEXT um eine reine Textmail zu erstellen. MULTIPART erlaubt es multipart-E-Mails zu erstellen.

HTMLFILE=

Wurde als Format HTML oder MULTIPART gewählt, dann kann eine HTML-Datei mit Ordnerangabe angegeben werden, die als E-Mail-Text geladen werden soll.

Es ist ebenfalls möglich eine Datei aus dem Internet laden zu lassen, geben Sie dazu unbedingt die komplette URL mit http:// an.

TEXTFILE=

Geben Sie eine Textdatei mit Ordnerangabe an.
Wurde als Format HTML angegeben, dann wird die Textdatei als alternativer Text für die multi-part E-Mail geladen.
Ist als Format der E-Mail TEXT angegeben, dann wird die Textdatei als Text der E-Mail geladen.

Es ist ebenfalls möglich eine Datei aus dem Internet laden zu lassen, geben Sie dazu unbedingt die komplette URL mit http:// an.

 

[ATTACHMENTS]

FILE1=

Geben Sie die Anhänge der E-Mail an. Die Angabe muss erfolgen mit <eindeutiger Bezeichner>=<kompletter Ordner und Dateiname> z.B.

FILE1=c:\autoexec.bat
FILE2=c:\config.sys

 

[SENDOPTIONS]

(siehe Menü Projekt - Einstellungen für den E-Mail-Versand, um Hilfe zu den Einstellungen zu erhalten)

MAILCHARSET=iso-8859-1|iso-8859-2|iso-8859-3|iso-8859-4| iso-8859-6|iso-8859-7|iso-8859-8|iso-8859-9|iso-8859-10| windows-1250|windows-1251|windows-1252|windows-1253| windows-1254|windows-1255|windows-1256|windows-1257| windows-1258|windows-1259|utf-8

Geben Sie die Kodierung der E-Mail an, die möglichen Bezeichner sind angegeben. Standard ist iso-8859-1 diese Angabe gilt für alle europäischen E-Mails.

MAILPRIORITY=NORMAL|HIGH|HIGHEST

Geben Sie die Priorität der E-Mail an.

FROM=

Absender-E-Mail-Adresse der E-Mail angeben

REALNAME=

Angezeigter Name der E-Mail angeben

REPLYTOADDRESS=

Geben Sie die Antwort-E-Mail-Adresse an.

MULTIPART=TRUE|FALSE

Diese Option ist nur für HTML-E-Mails. Geben Sie TRUE an, um eine multi-part E-Mail zu erstellen (ein Teil Text und ein Teil HTML). FALSE um eine reine HTML-Mail zu versenden.

SMAPI=TRUE|FALSE

Geben Sie TRUE an, um die E-Mails über die Simple Mail API verschicken zu lassen.

OUTLOOK=TRUE|FALSE

TRUE versendet die E-Mails über Microsoft Outlook

SMTP_DIRECT=TRUE|FALSE

TRUE versendet die E-Mail direkt an den Server des E-Mail-Empfängers

SMTP=TRUE|FALSE

TRUE versendet die E-Mail über den SMTP-Server des Internetproviders, die Angaben zu Servernamen und Port müssen angegeben werden, um E-Mails zu versenden.

SMTP_SERVERNAME=

Geben Sie den Namen des SMTP-Servers an.

SMTP_PORT=25

Geben Sie den Port an, Standard ist 25.

TIMEOUT=60

Geben Sie die Wartezeit für den SMTP-Server in Sekunden an, Standard ist 60 Sekunden.

THREADS=

Geben Sie die Anzahl Threads für den Versand der E-Mails an, Standard ist 5.

SMTP_AUTH=TRUE|FALSE

TRUE SMTP-Authentifizierung notwending, die Angaben SMTP_USERNAME und SMTP_PASSWORD müssen angegeben werden.

SMTP_USERNAME=

SMTP-Benutzername für SMTP-Authentifizierung

SMTP_PASSWORD=

SMTP-Passwort für SMTP-Authentifizierung
SMTP_USE_SSL=1|0 SSL-Verschlüsselung nutzen ja/nein

POP3_AUTH=TRUE|FALSE

TRUE POP3-Authentifizierung nutzen, POP3_SERVER, POP_PORT, POP3_USERNAME und POP3_PASSWORD müssen ausgefüllt werden.

POP3_SERVER=

Geben Sie den POP3-Server an.

POP3_PORT=110

Der Port ist meistens 110

POP3_USERNAME=

Benutzername für den POP3-Server

POP3_PASSWORD=

Passwort für den POP3-Server

RETURN_RECEIPT=TRUE|FALSE

TRUE - Empfangsbestätigung vom Empfänger anfordern

BCCTOMYSELF=TRUE|FALSE

TRUE - eine Blindkopie jeder versendeten E-Mail wird an die eigene E-Mail-Adresse gesendet (nicht bei Versandart direkt an Server des Empfängers).

ESMTP=TRUE|FALSE

Diese Angabe sollte immer auf FALSE stehen, außer Sie wissen genau, dass es notwendig ist.

BREAK=1

Pause zwischen dem Versenden jeder einzelnen E-Mail, Standard 1 ms

MAILSENDBREAK=TRUE|FALSE

Pause zwischen dem Versenden von einer gewissen Anzahl E-Mails.

MAILBREAKAFTER=2

Pause nach X E-Mails machen

MAILBREAKAFTERWAITTIME=1

Pause in Sekunden

BCCSEND=TRUE|FALSE

TRUE Versand per BCC aktiv; entsprechende Lizenz natürlich notwendig

BCCMAXRECIPIENTSPERMAIL=1

Maximale Anzahl BCC-Empfänger, die Anzahl muss > 0 betragen!

BCCTOEMAILADDRESS=

Geben Sie die E-Mail-Adresse im Feld "An/To" an, diese Angaben ist notwendig und muss korrekt sein!

 

[DEFAULTFIELDS]

0=Name

Geben Sie die Standardfelder an, die SuperMailer in der Empfängerliste anzeigen soll. Sollten Sie beim Import die Felddefinition mit importieren lassen, dann hat diese Angabe keine Wirkung. Lassen Sie die Felddefinition nicht mit importieren, dann muss die Feldzuordnung für die jeweilige Import-Variante im Bereich [<importvariante>_FIELD_ASSIGNMENT] angegeben werden. Beim Import von Textdateien muss die Struktur in der Textdatei vorgegeben werden.

1=Vorname

2=EMail

3=Anrede

 

[IMPORT]

Der Import-Bereich wird in der angegebenen Reihenfolge durchsucht, trifft eine Importbedingung zu bzw. ist nicht leer, dann werden die anderen Import-Varianten übergangen.

TEXTFILE=

Geben Sie den kompletten Ordner und Dateinamen der zu importierenden Textdatei an, möchten Sie nicht aus einer Textdatei importieren, dann lassen Sie die Angabe leer.

XLSFILE=

Geben Sie den kompletten Ordner und Dateinamen der zu importierenden Excel-Datei an, möchten Sie nicht aus einer Excel-Datei importieren, dann lassen Sie die Angabe leer.

WABFILE=

Geben Sie den kompletten Ordner und Dateinamen der zu importierenden WAB-Datei (= Windows Adressbuch) an, möchten Sie nicht aus einer WAB-Datei importieren, dann lassen Sie die Angabe leer.

OUTLOOKIMPORT=TRUE|FALSE

TRUE, der Import soll aus Outlook erfolgen

DBIMPORT=TRUE|FALSE

TRUE, der Import soll aus einer sqlfähigen Datenbank erfolgen.
INTERNETFILE= Geben Sie den kompletten HTTP-Aufruf für den Import aus dem Internet an.

 

[TEXTFILE_IMPORT_OPTIONS]

Legt die Optionen für den Import aus einer Textdatei fest

SEPARATOR=

Trenner zwischen den zu importierenden Werten angeben, z.B. ;. Für das Tabulator-Zeichen kann \t angegeben werden, weitere Angaben mit \ sind nicht möglich.

NOHEADLINE=TRUE|FALSE

TRUE, es existiert keine Felddefinition in der ersten Zeile der Textdatei, die Struktur siehe [DefaultFields] muss vorgegeben werden.

DONTCLEARCURRENTLIST=TRUE|FALSE

TRUE, Löscht die bestehende Empfängerliste nicht, die Struktur der Textdatei muss mit den zu importierenden Daten übereinstimmen.

ONLYEMAILADDRESSES=TRUE|FALSE

TRUE, Liste enthält nur E-Mail-Adressen, eine E-Mail-Adresse pro Zeile

NOEMAILCHECK=TRUE|FALSE

TRUE, keine äußere Prüfung der E-Mail-Adressen auf Gültigkeit

REMOVEQUOTES=TRUE|FALSE

TRUE, entfernt etwaige Anführungszeichen in den zu importierenden Daten

TRIMSPACES=TRUE|FALSE

TRUE, führende, nachfolgende Leerzeichen entfernen

OEMTOANSI=TRUE|FALSE

TRUE, Konvertierung DOS nach ANSI; Standard ist FALSE

[INTERNETFILE_IMPORT_OPTIONS]

Legt die Optionen für den Import aus dem Internet fest

SEPARATOR=

Trenner zwischen den zu importierenden Werten angeben, z.B. ;. Für das Tabulator-Zeichen kann \t angegeben werden, weitere Angaben mit \ sind nicht möglich.

NOHEADLINE=TRUE|FALSE

TRUE, es existiert keine Felddefinition in der ersten Zeile der Textdatei, die Struktur siehe [DefaultFields] muss vorgegeben werden.

DONTCLEARCURRENTLIST=TRUE|FALSE

TRUE, Löscht die bestehende Empfängerliste nicht, die Struktur der Textdatei muss mit den zu importierenden Daten übereinstimmen.

ONLYEMAILADDRESSES=TRUE|FALSE

TRUE, Liste enthält nur E-Mail-Adressen, eine E-Mail-Adresse pro Zeile

REMOVEQUOTES=TRUE|FALSE

TRUE, entfernt etwaige Anführungszeichen in den zu importierenden Daten

TRIMSPACES=TRUE|FALSE

TRUE, führende, nachfolgende Leerzeichen entfernen

 

[WABFILE_IMPORT_OPTIONS]

Nur für den Import aus Windows-Adressbuch gültig

DONTCLEARCURRENTLIST=TRUE|FALSE

TRUE, löscht die bestehende Empfängerliste nicht

 

[WABFILE_FIELD_ASSIGNMENT]

Nur für den Import aus Windows-Adressbuch gültig, mindestens eine Zuordnung ist notwendig!

NAME=

Geben Sie nach NAME= einen Feldnamen an, der in der SuperMailer Empfängerliste existiert. Fehlt die Angabe, wird der Wert nicht importiert.

FIRSTNAME=

Geben Sie nach FIRSTNAME= einen Feldnamen an, der in der SuperMailer Empfängerliste existiert. Fehlt die Angabe, wird der Wert nicht importiert.

TITEL=

Geben Sie nach TITEL= einen Feldnamen an, der in der SuperMailer Empfängerliste existiert. Fehlt die Angabe, wird der Wert nicht importiert.

EMAIL=

Geben Sie nach EMAIL= einen Feldnamen an, der in der SuperMailer Empfängerliste existiert. Fehlt die Angabe, wird der Wert nicht importiert.

MAINFAXNUMBER=

Geben Sie nach MAINFAXNUMBER= einen Feldnamen an, der in der SuperMailer Empfängerliste existiert. Fehlt die Angabe, wird der Wert nicht importiert.

BUSINESSFAX=

Geben Sie nach BUSINESSFAX= einen Feldnamen an, der in der SuperMailer Empfängerliste existiert. Fehlt die Angabe, wird der Wert nicht importiert.

COMPANYNAME=

Geben Sie nach COMPANYNAME= einen Feldnamen an, der in der SuperMailer Empfängerliste existiert. Fehlt die Angabe, wird der Wert nicht importiert.

 

[OUTLOOK_IMPORT_OPTIONS]

Nur für den Import aus Outlook gültig.

OUTLOOKFOLDERNAME=

Name des Kontaktordners, Standard ist Kontakte

OUTLOOKCATEGORY=

Geben Sie die Kategorie an, ist die Angabe leer werden alle Kontakte importiert.

DONTCLEARCURRENTLIST=TRUE|FALSE

TRUE, aktuelle Empfängerliste wird nicht gelöscht

 

[OUTLOOK_FIELD_ASSIGNMENT]

Nur für den Import aus Outlook gültig, mindestens eine Zuordnung ist notwendig!
E-Mail-Adresse 1=
Angezeigter Name E-Mail-Adresse 1=
E-Mail-Adresse 2=
Angezeigter Name E-Mail-Adresse 2=
E-Mail-Adresse 3=
Angezeigter Name E-Mail-Adresse 3=
Vorname=
Nachname=
Vorname und Nachname=
Nick Name=
Titel=

usw.

Siehe Beispiel-Datei SuperMailer_AUTOCFG.INI die Reihenfolge muss beibehalten werden.

Geben Sie hinter dem Gleichheitszeichen das Feld im SuperMailer an. Z.B. E-Mail-Adresse 1=EMail

 

[XLSFILE_IMPORT_OPTIONS]

Nur für den Import einer Excel-Datei notwendig.

WORKSHEET=1..N

Geben Sie die Nummer des Excel-Arbeitsblatts an, Standard ist 1.

NOHEADLINE=TRUE|FALSE

TRUE, Excel-Datei enthält keine Felddefinition in der ersten Zeile

DONTCLEARCURRENTLIST=TRUE|FALSE

TRUE, Empfängerliste wird nicht gelöscht.

REMOVEQUOTES=TRUE|FALSE

TRUE, Anführungszeichen entfernen

TRIMSPACES=TRUE|FALSE

TRUE, führende, nachfolgende Leerzeichen entfernen

 

[DB_IMPORT_OPTIONS]

Nur für den Import aus einer SQL-Datenbank notwendig.

CONNECTIONSTRING=

Geben Sie die Verknüpfungszeichenkette zur Datenbank an. Diese sollte am besten in SuperMailer selbst erstellt und kopiert werden.

TABLENAME=

Geben Sie den Namen der zu importierenden Tabelle an.

Der Tabellenname wird nur verwendet, wenn keine eigene SQL-Anweisung bei DBSQLQuery= angegeben ist.

ASSIGN_TABLE_STRUCTURE=TRUE|FALSE

TRUE, die Tabellenstruktur der Tabelle bei der Angabe TABLENAME= wird gelesen und in die SuperMailer Empfängerliste 1:1 übernommen.

DONTCLEARCURRENTLIST=TRUE|FALSE

TRUE, Empfängerliste wird beim Import nicht gelöscht, bei Übernahme der Tabellenstruktur wird diese natürlich immer gelöscht.
DBSQLQuery= Optional: Geben Sie eine gültige SQL-Anweisung für den Import der Daten ein. Ist diese Angabe leer bzw. nicht angegeben, dann wird der Wert aus TABLENAME= verwendet.

 

[DB_FIELD_ASSIGNMENT]

Nur für den Import aus einer SQL-Datenbank notwendig, die Angabe ist notwendig, wenn ASSIGN_TABLE_STRUCTURE=FALSE

TABLE_FIELD_NAME1..n=RECIPIENT_LIST_FIELD_NAME1..n

Geben Sie jeweils den Feldnamen aus der Tabelle an, gefolgt von einem Gleichheitszeichen und dem Feldnamen in der SuperMailer-Empfängerliste z.B.

links vom Gleichheitszeichen der Feldname in der Tabelle, rechts vom Gleichheitszeichen den Feldnamen in der SuperMailer-Empfängerliste.

Name=Name
Vorname=Vorname
E-Mail=EMail

 

Siehe auch
Aufbau der Projektdateien