Lire un texte d’e-mail
Cette instruction FP lit les textes d’e-mail prédéfinis du numéro spécifié par nTransferID et écrit le texte dans la variable de sortie sBodyText.
Entrée
Définir l’ID des paramètres de transfert.
Valeurs : 0–15
Sortie
Enregistre le texte d’e-mail prédéfini.
Définie sur TRUE lorsque l’opération se termine anormalement.
Lorsqu’une erreur apparaît, utilisez la variable système sys_iEthernetConnectionErrorCode pour connaître le numéro de code d’erreur.
Cette instruction n’est pas disponible dans les programmes d’interruption.
Avant d’exécuter l’instruction, les paramètres d’envoi d’e-mails doivent être entrés à l’aide de FP_SMTP_SET_MODE ou de la boîte de dialogue de paramétrage du client SMTP.
Cette instruction lit le texte d’e-mail qui a été spécifié dans la boîte de dialogue du client SMTP. Si aucun texte d’e-mail n’a été spécifié, le texte d’e-mail ne peut pas être lu et zéro est sauvegardé dans sBodyText.
Avant d’exécuter l’instruction, les paramètres de groupes et d’e-mails d’événements doivent être entrés à l’aide de FP_SMTP_SET_GROUP ou de la boîte de dialogue de paramétrage du client SMTP.
Avant d’exécuter l’instruction, utilisez FP_CLIENT_STATUS_DUT pour vérifier si une requête d’envoi de-mail est active. Si bIsTransferRequested est TRUE pendant l’exécution de l’instruction, une erreur d’opération apparaît.
Lorsque l’instruction a été exécutée avec succès, les variables système sys_bIsCarry et sys_iEthernetConnectionErrorCode sont réinitialisées.
Lorsqu’une erreur apparaît, utilisez la variable système sys_iEthernetConnectionErrorCode pour connaître le numéro de code d’erreur.
Si la zone spécifiée à l’aide du modificateur d’adresse est en dehors des limites autorisées.
Si une valeur spécifiée pour un paramètre est en dehors de l’intervalle autorisé.
Si l’instruction est exécutée dans un programme d’interruption.
Si le drapeau de requête d’envoi d’e-mails pour la configuration de transfert spécifiée est "TRUE : Requête de transfert".
Si un paramètre d’envoi d’e-mail spécifié n’a pas été configuré avec l’instruction FP_SMTP_SET_MODE ou avec la boîte de dialogue de paramétrage du client SMTP.
Si un numéro de groupe de destination n’a pas été spécifié avec l’instruction FP_SMTP_SET_GROUP ou avec la boîte de dialogue de paramétrage du client SMTP.
Si la zone spécifiée à l’aide du modificateur d’adresse est en dehors des limites autorisées.
Si une valeur spécifiée pour un paramètre est en dehors de l’intervalle autorisé.
Si l’instruction est exécutée dans un programme d’interruption.
Si le drapeau de requête d’envoi d’e-mails pour la configuration de transfert spécifiée est "TRUE : Requête de transfert".
Si un paramètre d’envoi d’e-mail spécifié n’a pas été configuré avec l’instruction FP_SMTP_SET_MODE ou avec la boîte de dialogue de paramétrage du client SMTP.
Si un numéro de groupe de destination n’a pas été spécifié avec l’instruction FP_SMTP_SET_GROUP ou avec la boîte de dialogue de paramétrage du client SMTP.
Si l’instruction est exécutée pendant l’initialisation d’Ethernet, sys_iEthernetConnectionErrorCode est définie sur "11 : initialisation Ethernet en cours".
Toutes les variables d’entrée et de sortie utilisées pour programmer cette fonction ont été déclarées dans l’en-tête du POU. Le même en-tête de POU est utilisé pour tous les langages de programmation.
VAR
bRequest: BOOL:=FALSE;
bError: BOOL:=FALSE;
iID8: INT:=8;
sEmailText: STRING[32]:='Hello World!';
END_VAR
Lorsque bRequest passe de FALSE à TRUE et lorsque sys_bIsEthernetSMTPClientReady est TRUE, l’instruction est exécutée.
BODY
WORKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
ACTIVE_NETWORK := 0 ;
END_WORKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 5 ;
NETWORK_BODY
B(B_CONTACT,,bRequest,4,1,6,3,R);
B(B_VARIN,,iID8,23,2,25,4,);
B(B_VAROUT,,bError,39,3,41,5,);
B(B_CONTACT,,sys_bIsEthernetSMTPClientReady,15,1,17,3,);
B(B_F,FP_SMTP_GET_EMAIL_TEXT!,,25,0,39,5,,?DEN?DnTransferID?AENO?CsBodyText?CbError);
B(B_VAROUT,,sEmailText,39,2,41,4,);
L(1,2,4,2);
L(6,2,15,2);
L(17,2,25,2);
L(1,0,1,5);
END_NETWORK_BODY
END_NET_WORK
END_BODY
If DF(bRequest) AND sys_bIsEthernetSMTPClientReady then
FP_SMTP_GET_EMAIL_TEXT(nTransferID := iID8,
sBodyText => sEmailText,
bError => bError);
END_If;