Wir wissen, wie wichtig das Versenden von E-Mails ist und dass es in den heutigen Anwendungen zu einer alltäglichen Aufgabe geworden ist. Stellen Sie sich zum Beispiel vor, Sie sind in einem Unternehmen und möchten eine attraktive E-Mail auf HTML-Basis mit einigen Bildern oder sogar einem Video versenden und eine Datei anhängen(z. B. eine Bestellung oder eine Rechnung). Und das alles wollen Sie mit nur wenigen Zeilen Code erreichen. Code, der leicht zu schreiben und zu verstehen ist. Mit 4D v17 R4 ist das vorherige Szenario nun möglich. Deshalb haben wir den Funktionsumfang im Zusammenhang mit E-Mails erweitert.
Der Befehl SMTP New transporter Befehl ermöglicht es Ihnen, eine E-Mail in drei einfachen Schritten zu versenden:
- Erstellen Sie Ihren SMTP-Transporter
- Erstellen Sie Ihre E-Mail
- Versenden Sie Ihre Emails
HDI erstellen und senden Sie eine E-Mail
Erstellen Sie eine E-Mail
Eine E-Mail ist ein Objekt mit einer Vielzahl von Eigenschaften, die in der transporter.send() Dokumentation beschrieben sind. Im Folgenden finden Sie ein Beispiel, wie Sie eine E-Mail mit Informationen wie Autor, Empfänger, Betreff, Nachrichtentext und Anhängen erstellen können.
Beginnen wir mit der Angabe des Verfassers der E-Mail:
$email:=New object
“
$email .from:="noreply.mail@4d.com
Dann die Empfänger (mit unterschiedlichen Syntaxen):
//Originating addresses
$email.to:="address1@mail.com,address2@mail.com"
// Carbon Copy
$email .cc:=New object("name"; "Stephen"; "email"; "address3@mail.com")
// Blind Carbon Copy
$email .bcc:="address4@mail.com,address5@mail.com"
Als nächstes fügen wir einen Betreff hinzu:
$email.subject:="Hallo Welt"
Und der Textkörper … Sie können zwei Typen angeben, einen Text:
$email.textBody:="Test-Mail \r\n Dies ist nur eine Test-E-Mail \r\n Bitte ignorieren Sie sie"
oder HTML:
$email.htmlBody:="<html><body><h1>Test-E-Mail </h1> Dies ist nur eine Test-E-Mail <br /> Bitte ignorieren Sie sie</body></html>"
Sie können beide gleichzeitig oder getrennt voneinander verwenden. Wenn Sie beide verwenden, hängt die Anzeige von dem vom Empfänger verwendeten E-Mail-Client ab.
Schließlich können wir eine Anhangsdatei hinzufügen mit dem MAIL New attachment Befehl hinzufügen:
$email.attachments:=New collection(MAIL New attachment("c:\\tmp\\4d.png"))
einen SMTP-Transporter erstellen
Nun, da wir unsere E-Mail haben, müssen wir sie versenden. Dazu müssen wir angeben, welchen SMTP-Server wir verwenden wollen, und zwar mit dem SMTP New transporter Befehl:
$smtp:=New object
$smtp .host:="smtp.hostname"
$smtp .port:=25
$smtp .user:="Benutzer"
$smtp .password:="Passwort"
$smtpTransporter :=SMTP New transporter($smtp)
Senden Sie die E-Mail
Der letzte Schritt ist das Versenden der E-Mail:
$status:=$smtpTransporter.send($email)
Hier sehen Sie die Test-E-Mail, die Sie in Ihrer Mailbox erhalten haben:
Wie Sie an den obigen Beispielen sehen können, wurde das Erstellen und Versenden von E-Mails drastisch verbessert und ist sehr einfach zu bedienen. Es gibt eine Menge versteckter Funktionen. Sie können ganz einfach die Einstellungen des Transporters testen (Benutzeranmeldeinformationen, Serverdaten), Anlagen können als Anhänge oder inline (innerhalb des HTML) angegeben werden, und vieles mehr. Dies ist die erste von mehreren Funktionen in der Pipeline, und wir werden iterativ mit jeder R-Veröffentlichung mehr und mehr Funktionen veröffentlichen.