4D v18

SMTP New transporter

Home

 
4D v18
SMTP New transporter

SMTP New transporter 


 

SMTP New transporter ( server ) -> Funktionsergebnis 
Parameter Typ   Beschreibung
server  Objekt in Mail Server Information
Funktionsergebnis  Objekt in SMTP Transporter Objekt

Der Befehl SMTP New transporter konfiguriert eine neue SMTP Verbindung gemäß dem Parameter server und gibt ein neues Objekt transporter zurück. Das zurückgegebene Objekt transporter wird dann normalerweise zum Senden von Mails verwendet.

Im Parameter server übergeben Sie ein Objekt mit folgenden Eigenschaften:

EigenschaftTypBeschreibung
hostTextName oder IP Adresse des Host Servers für SMTP Transaktionen. 
portZahl(optional) Port für SMTP Transaktionen. Standardwert=587
keepAliveBoolean(optional) Wahr, um die Verbindung bis zum Zerstören des Objekts transporter live zu halten. Standardwert=True
connectionTimeOutZahl(optional) Maximale Wartezeit (in Sekunden) zum Herstellen einer Verbindung mit dem Server. Standardwert=30
sendTimeOutZahl(optional) Maximale Wartezeit (in Sekunden) des Aufrufs sendMail bis zum Timeout. Standardwert=100
authenticationModeTextAuthentifizierungsmodus zum Öffnen der Sitzung auf dem SMTP Server(*). Mögliche Werte:
Konstante Wert Kommentar
SMTP authentication CRAM MD5 CRAM-MD5 SMTP Authentifizierung mit CRAM-MD5 Protokoll
SMTP authentication login LOGIN SMTP Authentifizierung mit LOGIN Protokoll
SMTP authentication plain PLAIN SMTP Authentifizierung mit PLAIN Protokoll
userTextBenutzername zur Authentifizierung auf dem Server
passwordTextBenutzerkennwort zur Authentifizierung auf dem Server
acceptUnsecureConnectionBooleanWahr, um 4D eine unverschlüsselte Verbindung zu erlauben, wenn keine verschlüsselte Verbindung möglich ist (**). Bei Falsch wird ein Fehler zurückgegeben, wenn keine verschlüsselte Verbindung möglich ist. Standardwert=False
logFileText(optional) Dateipfad für erweitertes Logbuch(***). Kann absolut sein oder relativ zum aktuellen Ordner Logs
headerCharsetText(optional) Zeichensatz und Codierung für folgende Teile des E-Mail: Betreff, Anhang Dateinamen und E-Mail Name Attribut(e). Mögliche Werte: 
Konstante Wert Kommentar
mail mode ISO2022JP US-ASCII_ISO-2022-JP_UTF8_QP
  • headerCharset: US-ASCII wenn möglich, Japanese (ISO-2022-JP) & Quoted-printable wenn möglich, sonst UTF-8 & Quoted-printable
  • bodyCharset: US-ASCII wenn möglich, Japanese (ISO-2022-JP) & 7-bit wenn möglich, sonst UTF-8 & Quoted-printable
mail mode ISO88591 ISO-8859-1
  • headerCharset: ISO-8859-1 & Quoted-printable
  • bodyCharset: ISO-8859-1 & 8-bit
mail mode UTF8 US-ASCII_UTF8_QP

headerCharset & bodyCharset: US-ASCII wenn möglich, sonst UTF-8 & Quoted-printable (Standardwert)

mail mode UTF8 in base64 US-ASCII_UTF8_B64

headerCharset & bodyCharset: US-ASCII wenn möglich, sonst UTF-8 & base64

bodyCharsetText(optional) Zeichensatz und Codierung für den html und Text Hauptteil des E-Mails. Mögliche Werte: Genauso wie für headerCharset (siehe oben)

(*) Ist authenticationMode null oder undefiniert, wird der sicherste Authentifizierungsmodus verwendet, den der Server unterstützt.

(**) Es gibt folgende gesicherte SMTP Ports:

  • 465: SMTPS
  • 587 oder 25: SMTP mit STARTTLS Upgrade, wenn vom Server unterstützt

(***) Erweiterte Logbücher speichern im Gegensatz zu gängigen Logbüchern (aktiviert über den Befehl SET DATABASE PARAMETER) MIME Inhalt aller gesendeten Mails und haben keine Größenbeschränkung. Weitere Informationen dazu finden Sie im Abschnitt 4DSMTPLog.txt.

Zurückgegebenes Objekt

Das zurückgegebene Objekt transporter enthält folgende read-only Eigenschaften:

EigenschaftTypBeschreibung
transporter.hostTextName oder IP Adresse des Host Servers für SMTP Transaktionen
transporter.portZahlPort für SMTP Transaktionen.
transporter.keepAliveBooleanWahr, wenn die Verbindung bis zum Zerstören des Objekts transporter live gehalten wird.
transporter.connectionTimeOutZahlMaximale Wartezeit (in Sekunden) zum zum Herstellen einer Verbindung mit dem Server.
transporter.sendTimeOutZahlMaximale Wartezeit (in Sekunden) des Aufrufs sendMail vor Timeout.
transporter.acceptUnsecureConnectionBooleanWahr, wenn 4D eine unverschlüsselte Verbindung herstellen darf, wenn keine verschlüsselte Verbindung möglich ist. Falsch, wenn nicht erlaubt.
transporter.authenticationModeTextAktuell genutzter Authentifizierungsmodus zum Öffnen der Sitzung auf dem SMTP Server.
transporter.userTextBenutzername zur Authentifizierung auf dem Server.
transporter.logFileTextVollständiger Pfad des Logbuchs (wenn vorhanden)

 

MethodeBeschreibung
SMTP_transporter.send()Sendet Meldungen
SMTP_transporter.checkConnection( )Prüft die Authentifizierung

Beachten Sie, dass dieser Befehl keine Verbindung auf dem SMTP Server öffnet. Die SMTP Verbindung wird beim Ausführen der Methode SMTP_transporter.send() geöffnet.

Die SMTP Verbindung wird automatisch geschlossen:

  • bei Zerstören des Objekts transporter, wenn die Eigenschaft keepAlive auf wahr gesetzt ist (Standard),
  • nach jedem Ausführen der Methode SMTP_transporter.send(), wenn die Eigenschaft keepAlive auf falsch gesetzt ist.

 $server:=New object
 $server.host:="smtp.gmail.com" //Zwingend
 $server.port:=465
 $server.user:="4D@gmail.com"
 $server.password:="XXXX"
 $server.logFile:="LogTest.txt" //Erweitertes Protokoll zum Sichern im Ordner Logs
 
 $transporter:=SMTP New transporter($server)
 
 $email:=New object
 $email.subject:="my first mail "
 $email.from:="4d@gmail.com"
 $email.to:="4d@4d.com;test@4d.com"
 $email.textBody:="Hello World"
 $email.htmlBody:="<h1>Hello World</h1><h4>'Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit...'</h4>\
 <p>There are many variations of passages of Lorem Ipsum available."\
 +"The generated Lorem Ipsum is therefore always free from repetition, injected humour, or non-characteristic words etc.</p>"
 
 $status:=$transporter.send($email)
 If(Not($status.success))
    ALERT("An error occurred sending the mail: "+$status.statusText)
 End if



Siehe auch 

MAIL Convert to MIME
SMTP_transporter.checkConnection( )
SMTP_transporter.send()
transporter.acceptUnsecureConnection
transporter.authenticationMode
transporter.connectionTimeOut
transporter.host
transporter.keepAlive
transporter.logFile
transporter.port
transporter.sendTimeOut
transporter.user

 
EIGENSCHAFTEN 

Produkt: 4D
Thema: Mail
Nummer: 1608

Dieser Befehl kann in preemptive Prozessen laufen

 
GESCHICHTE 

New
Erstellt: 4D v17 R4
Geändert: 4D v17 R5
Geändert: 4D v18

 
ARTIKELVERWENDUNG

4D Programmiersprache ( 4D v18)