SMTP_QuickSend / arguement alphanumériques

4Dv17
OS : Mac OS X

Bonjour,

j’essaie de comprendre comment fonctionne le système mail de 4D, je
comprends (je crois) la théorie, mais j’ai une erreur quand j’essaie
le code le plus simple:

<code 4D>

C_TEXT($Host;$FromAddress;$ToAddress;$Subject;$Message;)
C_REAL($Error)

$Host:=“www.4d.com
$ToAddress:="adupont@4d.fr"
$FromAddress:="jsmith@4d.com"
$Subject:=“Sales Report”
$Message:=“Can you send me the sales report for January 2009? Thanks.”
$Error:=SMTP_QuickSend($Host;$FromAddress;$ToAddress;$Subject;$Message;
)

If ($Error#0)
ALERT(“Error: SMTP_QuickSend”+Char(13)+IT_ErrorText($Error))
End If

</code 4D>

j’ai une erreur d’execution:
Erreur lors de l’exécution de la méthode “Envoi_eMailTest” à la ligne
10

Cette fonction ne peut être appliquée entre deux arguments
alphanumériques.

Error code: 13 (4DRT)

Cette fonction ne peut être appliquée entre deux arguments
alphanumériques.
component: ‘4DRT’
task -1, name: ‘Process principal’

à la ligne $Error:=SMTP_QuickSend($Host;$FromAddress;$ToAddress;$Subject;$Message;1)

Je ne vois pas ce qu’il y a de faux, je n’ai que copier coller de la doc
https://doc.4d.com/4Dv17/4D/17/SMTP-QuickSend.301-3785447.en.html

et ajouter les déclarations au début.

(Je ne m’attends bien sur pas a ce que le message soit envoyé avec ces informations, mais j’aimerais recevoir une erreur SMTP pas l’erreur 4D).

Merci d’avance

Valentin

Bonjour Valentin,
je ne pige pas non plus, j’ai copié collé ton code, il passe sans problème (et génère l’erreur 61) ; $error est à déclarer en entier long plutôt qu’en réel, mais ça n’explique rien.

Vu la position du point-virgule rouge, tu dois avoir une erreur de type sur $FromAddress ou sur $ToAddress, il faudrait ajouter TRACE à la ligne d’avant pour contrôler leurs valeurs dans le débogueur.

Ou bien :
Note : Cette commande ne peut être utilisée dans les bases de données converties fonctionnant en mode “non-unicode”.

Bonjour Arnaud et merci beaucoup, je ne peux pas tester avant demain, mais le problème vient très certainement de

« Note : Cette commande ne peut être utilisée dans les bases de données converties fonctionnant en mode “non-unicode”»

Dès que j’ai pu récup la base pré-conversion je noterais le fil comme étant résolu

Meilleures salutations

Valentin.

Bon j’ai pas réussi a trouver exactement ce qui bugait, mais ça le fait plus, donc je note comme résolu