Servereinstellungen für die SMTP-Verbindung
Dieser FP-Befehl definiert die Servereinstellungen für die Verbindung zu dem in der CPU angegebenen SMTP-Client gemäß den angegebenen Parametern.
Eingang
Stellen Sie die Kontodaten mit Namen und Adressen sowie Schnittstellennummer und Authentifizierungsmethode ein.
Quellenname (optionaler Parameter)
Schlüsselwort: NAME
Quellen-E-Mail-Adresse (erforderlicher Parameter)
Schlüsselwort: FROM
Syntax: 'FROM='
IP-Adresse oder Host-Name (erforderlicher Parameter).
IP-Adresse
Für eine IP-Adresse geben Sie am Anfang das Schlüsselwort IPv4
oder IPv6
an.
Syntax für IPv4: z.B. 'IPv4=111.122.133.144'
Syntax für IPv6: z.B. 'IPv6=1111:122:2:1555:0:0:1888'
Bitte beachten Sie, dass es für IPv4-Adressen Bereichseinschränkungen gibt. Wenn ein Befehl eine ungültige IP-Adresse enthält, tritt kein Operationsfehler auf, aber der Ausgang bError wird auf TRUE gesetzt.
Host-Name
Schlüsselwort: HOST
Syntax: 'HOST=SMTP.pidsx.com'
Portnummer (optionaler Parameter)
Schlüsselwort: 'PORT'
Syntax: 'PORT=xxxxx'
(Standardeinstellung: 25)
Wertebereich: 1–65535
SSL3/TSL1-Authentifizierung (optionaler Parameter). Geben Sie an, ob die SSL3/TSL1-Authentifizierung verwendet werden soll oder nicht.
Schlüsselwörter:
SSL
: SSL3/TLS1 verwenden
NON
: SSL3/TLS1 wird nicht verwendet (Standardeinstellung)
Beispiele:
FP7_001 als Quellennamen, "pana@pana.com" als Quellen-E-Mail-Adresse, 102.244.2.110 als IP-Adresse einstellen und Port 25 mit SSL3/TLS1 Authentifizierung verwenden: 'NAME=FP7_001,FROM=pana@pana.com,IPv4=192.255.2.10,PORT=25,SSL'
Quellennamen wie er ist beibehalten, "sunx@sunx.com" als Quellen-E-Mail-Adresse, 1222::a8dd:0:0:6666 als IP-Adresse einstellen und Port 100 mit SSL3/TLS1 Authentifizierung verwenden: ',FROM=sunx@sunx.com,IPv6=1111:1222::a8dd:0:0:6666,PORT=100,SSL'
FP7_002 als Quellennamen, "pewsunx@pewsunx.com" als Quellen-E-Mail-Adresse, "SMTPmailserver.com" als Host-Namen einstellen und Port 1000 ohne Authentifizierung verwenden: 'NAME=FP7_002,FROM=pewsunx@pewsunx.com,HOST=SMTPmailserver.com,PORT=1000,NON'
FP7_002 als Quellennamen, "pewsunx@pewsunx.com" als Quellen-E-Mail-Adresse, "SMTPmailserver.com" als Host-Namen einstellen. Einstellungen für Schnittstellennummer und Authentifizierung belassen: 'NAME=FP7_002,FROM=pewsunx@pewsunx.com,HOST=SMTPmailserver.com'
Login-Daten einstellen
SMTP-Authentifizierungsmethode (erforderliches Schlüsselwort)
Schlüsselwörter:
CRAM: CRAM-MD5 wird verwendet
PLAIN1: PLAIN1 (ID/PASS) wird verwendet
PLAIN2: PLAIN2 (ID/PASS) wird verwendet
LOGIN: LOGIN wird verwendet
Konto (max. 32 Zeichen)
Schlüsselwort: ACCOUNT
Syntax: 'ACCOUNT=xxx'
(Standardeinstellung: root). Verwenden Sie 'ACCOUNT='
um das Konto zu löschen.
Passwort (max. 32 Zeichen, Groß- und Kleinbuchstaben sind erlaubt)
Schlüsselwort: PASS
Syntax: 'PASS=xxx'
(Standardeinstellung: root). Verwenden Sie 'PASS='
, um den Benutzernamen zu löschen.
NOUSE
: Die Einstellung für die SMTP-Authentifizierungsmethode wird ignoriert.
KEEP
: Behält die aktuellen Login-Einstellungen bei.Beispiele:
CRAM-MD5 als SMTP-Authentifizierungsmethode für Konto "sunx" mit Passwort "control" einstellen: 'CRAM,ACCOUNT=sunx,PASS=control'
CRAM-MD5 als SMTP-Authentifizierungsmethode für Konto "root" einstellen und Passwort löschen: 'CRAM,ACCOUNT=root,PASS='
PLAIN1 als SMTP-Authentifizierungsmethode einstellen, Kontonamen löschen, Passwort "SUNX" verwenden: 'PLAIN1,ACCOUNT=,PASS=SUNX'
PLAIN2 als SMTP-Authentifizierungsmethode einstellen, Kontonamen und Passwort löschen: 'PLAIN2,ACCOUNT=,PASS='
LOGIN als SMTP-Authentifizierungsmethode für Konto "panasonic" einstellen, und bereits eingestelltes Passwort beibehalten: 'PLAIN2,ACCOUNT=panasonic'
CRAM-MD5 als SMTP-Authentifizierungsmethode für bereits angegebenen Kontonamen einstellen, Passwort "SUNX" setzen: 'CRAM,,PASS=SUNX'
Keine SMTP-Authentifizierungsmethode und kein Konto verwenden, Passwort beibehalten: 'NOUSE'
SMTP-Authentifizierungsmethode, Konto und Passwort beibehalten: 'KEEP'
Optionale Kommunikationseinstellungen nach Bedarf einstellen. Wir weisen darauf hin, dass die Standard-E-Mail-Sprache auf Japanisch eingestellt ist.
Maximale E-Mail-Größe
Schlüsselwort: MAILSIZE
Syntax: 'MAILSIZE=xxx'
(Standardeinstellung: 100)
Wertebereich: 1–10240KB
Verbindungs-Zeitüberschreitung
Schlüsselwort: TOUT
Syntax: 'TOUT=xxx'
(Standardeinstellung: 60 Sekunden)
Wertebereich: 30–300 Sekunden
Anzahl der Wiederholungen
Schlüsselwort: RTRY
Syntax: 'RTRY=x'
(Standardeinstellung: 3 Mal)
Wertebereich: 0–3
Wiederholungsintervall
Schlüsselwort: RTTM
Syntax: 'RTTM=xxxxx'
(Standardeinstellung: 600 Sekunden)
Wertebereich: 10–86400 Sekunden
Der Wert kann in 10 Sekunden angegeben werden. Er wird auf 10 abgerundet.
Beispiel: Wenn Sie 38 Sekunden angeben, werden 30 Sekunden eingestellt.
Sprache, die für den Betreff und den Text der E-Mail zu verwenden ist.
Schlüsselwörter:
JPN: Japanisch (Standardeinstellung)
ENG: Englisch
INITIAL
: Setzt die Verbindungs-Zeitüberschreitung, die Anzahl der Wiederholungen und das Wiederholungsintervall auf die Standardeinstellungen zurück.
KEEP
: Behält die aktuellen Kommunikationseinstellungen bei.
Beispiele:
Maximale E-Mail-Größe einstellen: 1000 KB, Verbindungs-Zeitüberschreitung: 30 Sekunden, Anzahl der Wiederholungen: 2, Wiederholungsintervall: 500 Sekunden, E-Mail-Sprache: Japanisch: 'MAILSIZE=1000,TOUT=30,RTRY=2,RTTM=500,JPN'
Maximale E-Mail-Größe einstellen: 10000KB, Verbindungs-Zeitüberschreitung: 270 Sekunden, keine Wiederholungen, Wiederholungsintervall: 4900 Sekunden, E-Mail-Sprache: English: 'MAILSIZE=10000,TOUT=270,RTRY=0,RTTM=4900,ENG'
Maximale E-Mail-Größe einstellen: 500KB, Verbindungs-Zeitüberschreitung: 30 Sekunden, Anzahl der Wiederholungen: 3, Wiederholungsintervall: 200 Sekunden, E-Mail-Sprache: nicht verändern: 'MAILSIZE=500,TOUT=30,RTRY=3,RTTM=200'
Maximale E-Mail-Größe einstellen: 5000 KB, Verbindungs-Zeitüberschreitung einstellen: nicht verändern: Anzahl der Wiederholungen: 5, Wiederholungsintervall: 3000 Sekunden, E-Mail-Sprache: English: 'MAILSIZE=5000,,RTRY=5,RTTM=3000,ENG'
Zurücksetzen auf Standardeinstellungen (maximale E-Mail-Größe: 100KB, Verbindungs-Zeitüberschreitung: 60 Sekunden, Anzahl der Wiederholungen: 3, Wiederholungsintervall: 600 Sekunden, Standard-E-Mail-Sprache: Japanisch): 'INITIAL'
Behalten aller aktuellen Einstellungen: 'KEEP'
Ausgang
Wird unter den folgenden Bedingungen auf TRUE gesetzt:
wenn eine Zeitüberschreitung der Verbindung überschritten wird,
wenn eine IP-Adresse ungültig ist
Wenn ein Fehler auftritt, prüfen Sie die Systemvariable sys_iEthernetConnectionErrorCode auf die Fehlercodenummer.
Trennen Sie alle Schlüsselwörter durch Komma, z.B. 'NAME=abcd,FROM=sender@server.com'
Die Zeichenanzahl für Zeichenfolgen darf 256 nicht überschreiten.
Dieser Befehl ist in Interrupt-Programmen nicht verfügbar.
Für die Angabe von Schlüsselwörtern können Groß- und Kleinzeichen verwendet werden. Beim Betreff, dem E-Mail-Text und dem Dateinamen des Anhangs wird jedoch zwischen Groß- und Kleinschreibung unterschieden.
Bevor Sie den Befehl ausführen, stellen Sie sicher, dass sys_bIsEthernetInitializing FALSE ist. sys_bIsEthernetInitializing wird auf TRUE gesetzt, wenn der Befehl ausgeführt wird. Wenn Sie den Befehl ausführen, während sys_bIsEthernetInitializing TRUE ist, tritt ein Fehler auf.
Der Befehl kann nur ausgeführt werden, wenn der Merker Datenübertragungsauftrag für die angegebene Datenübertragungseinstellung oder die angegebene nLogID Nummer FALSE ist. Wenn der Merker Datenübertragungsauftrag TRUE ist, tritt ein Operationsfehler auf.
Wenn dieser Befehl erfolgreich ausgeführt wurde, werden die Systemvariablen sys_bIsCarry und sys_iEthernetConnectionErrorCode zurückgesetzt.
Wenn ein Fehler auftritt, prüfen Sie die Systemvariable sys_iEthernetConnectionErrorCode auf die Fehlercodenummer.
wenn ein für einen Parameter angegebener Wert außerhalb des zulässigen Bereichs liegt.
wenn dasselbe Schlüsselwort mehr als einmal angegeben ist
wenn der Anforderungsmerker für die E-Mail-Übertragung für die angegebene E-Mail-Übertragungseinstellung auf "TRUE: Übertragung angefordert" gesetzt ist.
wenn der Merker Datenübertragungsauftrag für eine angegebene nLogID Nummer TRUE ist, z.B. wenn sys_blsLog0DataRecordingActive TRUE ist.
wenn der Befehl in einem Interrupt-Programm ausgeführt wird
wenn die Zeichenanzahl für Zeichenfolgendaten 256 überschreitet.
wenn ein für einen Parameter angegebener Wert außerhalb des zulässigen Bereichs liegt.
wenn dasselbe Schlüsselwort mehr als einmal angegeben ist
wenn der Anforderungsmerker für die E-Mail-Übertragung für die angegebene E-Mail-Übertragungseinstellung auf "TRUE: Übertragung angefordert" gesetzt ist.
wenn der Merker Datenübertragungsauftrag für eine angegebene nLogID Nummer TRUE ist, z.B. wenn sys_blsLog0DataRecordingActive TRUE ist.
wenn der Befehl in einem Interrupt-Programm ausgeführt wird
wenn die Zeichenanzahl für Zeichenfolgendaten 256 überschreitet.
wenn der Befehl mit einer inkorrekten IP-Adresse ausgeführt wird, wird sys_iEthernetConnectionErrorCode eingestellt auf "1: Falsche IP-Adresse angegeben"
wenn der Befehl während der Initialisierung des Ethernets ausgeführt wird, wird sys_iEthernetConnectionErrorCode auf "11: Ethernet wird initialisiert“ gesetzt.
Im POE-Kopf werden alle Ein- und Ausgangsvariablen deklariert, die für die Programmierung dieser Funktion verwendet werden. Für alle Programmiersprachen wird der gleiche POE-Kopf verwendet.
VAR
bError: BOOL:=FALSE;
bSetConnection: BOOL:=FALSE;
END_VAR
Wenn bSetConnection von FALSE auf TRUE wechselt, und sys_bIsEthernetInitializing FALSE ist, wird der Befehl ausgeführt.
BODY
WORKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
ACTIVE_NETWORK := 0 ;
END_WORKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 12 ;
NETWORK_BODY
B(B_VARIN,,'NAME=FP7_001~FROM=pewsunx@pewsunx.com~HOST=smtpmailserver.com~PORT=1000~NON',37,6,39,8,);
B(B_VARIN,,'CRAM~ ACCOUNT=sunx~PASS=control',37,7,39,9,);
B(B_VARIN,,'MAILSIZE=1000~TOUT=30~RTRY=2~RTTM=500~ENG',37,8,39,10,);
B(B_CONTACT,,bSetConnection,4,1,6,3,R);
B(B_VAROUT,,bError,53,6,55,8,);
B(B_CONTACT,,sys_bIsEthernetInitializing,13,1,15,3,N);
B(B_F,FP_SMTP_SET_CONNECTION!,,39,4,53,10,,?DEN?DsAccount?DsLogin?DsCommunication?AENO?CbError);
L(6,2,13,2);
L(1,2,4,2);
L(15,2,15,6);
L(15,6,39,6);
L(1,0,1,12);
END_NETWORK_BODY
END_NET_WORK
END_BODY
IF DF(bSetConnection) And not sys_bIsEthernetInitializing then
FP_SMTP_SET_CONNECTION(sAccount := 'NAME=FP7_001,FROM=pewsunx@pewsunx.com,HOST=smtpmailserver.com,PORT=1000,NON',
sLogin := 'CRAM, ACCOUNT=sunx,PASS=control',
sCommunication := 'MAILSIZE=1000,TOUT=30,RTRY=2,RTTM=500,ENG',
bError => bError);
END_IF;