4D IC SMTP_Prefs

Bonjour

Product :4D - 4D Server v16 OS : Mac OS X

La doc 4D IC pour SMTP_Prefs explique que la commande accepte 3 paramètres
SMTP_SetPrefs ( retoursLigne ; charset&Encodage ; longueurLigne ), dont
retoursLigne : 1 = [défaut] Ajouter (ajouter quoi ?), 0 = Ne pas ajouter, -1 = Aucune modification

Plus loin on précise :
“les serveurs SMTP requièrent la combinaison de caractères retour chariot/retour à la ligne (CR/LF) pour indiquer la fin d’une ligne.”

et:
“Si vous passez 1 (paramètre par défaut), toutes les combinaisons retour chariot/retour ligne seront automatiquement remplacées par des retours chariot seuls.”

L’interprétation de ces commentaires me laisse perplexe: l’option 1 devrait “ajouter” quelque chose, mais on dirait plutot qu’elle enleve LF.

Pour tester avec 2 clients mail différents:

  1. Soit un texte brut dont toutes les fins de ligne se terminent par CR seul (type Macintosh)

Expédié avec SMTP_SetPrefs(0;-1;-1), donc “retoursLigne=0”

  • le client “Mail” de MacOS me montre un texte correctement formatté
  • le client “roundcube webmail” me donne un texte sans retour à la ligne

Expédié avec SMTP_SetPrefs(1;-1;-1), donc “retoursLigne=1”,

  • le client “Mail” de MacOS me montre un texte correctement formatté
  • le client “roundcube webmail” me donne un texte sans retour à la ligne
  1. Même texte brut avec CRLF comme fin de ligne
    “retoursLigne=0” : correct pour les 2 clients mail
    “retoursLigne=1” : correct pour les 2

Il semble donc qu’on doit toujours mettre nous-mêmes les CRLF si on veut que les mails soient lisibles par tous les clients mail ??
ou bien l’option retoursLigne à 1 ne sert à rien ?

PS: le fonctionnement du paramètre “charset&Encodage” de la commande SMTP_Prefs a apparemment changé pour v16. Il aurait été bien de le signaler dans les nouveautés (il n’est pas trop tard)

J’ai pas mal ramé…
mais je te conseille de voir ce post
http://forums.4d.fr/Post/FR/19214232/1/19218349#19218349

Merci.

J’avais vu ce fil, ainsi que celui là http://forums.4d.fr/Post/FR/18896031/0/0/
mais ça ne répond pas à ma question.

qu’est-ce qu’on DOIT faire selon 4D pour traiter les retours à la ligne. Ça me serait égal de bidouiller ma solution (qui plantera au prochain update de 4D), mais je ne peux pas tester tous les clients mail sur toutes les plateformes.

Le problème est que la documentation de 4D IC est plutôt ésotérique, faite semble-t-il pour des spécialistes de SMTP, et qu’elle n’indique pas toujours les changements faits ou subis par le plug-in. A titre d’exemple:
J’envoie un mail from:“Ma Société Quatre Dés monadresse@chezmoi.fr
avec un body qui ne comporte aucun caractère étendu

  • pas d’appel à SMTP_Prefs
  • SMTP_Charset (1;0)

4Dv15 R2: ça marche: l’en-tête d’expéditeur est bien “Ma Société Quatre Dés”; corps=OK
4Dv15 R4: ça ne marche pas : tous les “é” sont remplacés per des gribouillages, mais le message est correct. Je manipule toutes les combinaisons SMTP_Prefs et SMTP_CharSet, j’ai toujours ces gribouillages. Corps=OK sans SMTP_Prefs et SMTP_Charset (1;0)
4Dv16 R2: ça ne marche que si SMTP_SetPrefs (1;-1;-1) et SMTP_Charset (1;0); En 4D v16, SMTP_prefs a été modifié et le traitement des en-têtes par rapport à celui du corps a été changé (sans que celà soit notifié, ou bien j’ai pas vu où).

http://doc.4d.com/4Dv16/4D/16/Changement-de-comportement.200-3101740.fr.htmlRegardez en bas de cette page…> :wink:

Oops ! Autant pour moi ! Merci

J’avais vu la page au lancement de v16, mais ensuite (avant-hier) je cherchais les nouveautés dans les nouveautés de 4D IC (Il y a une rubrique “nouveautés” dans la page d’accueil de 4D IC, cf http://doc.4d.com/4Dv16R2/4D-Internet-Commands/16-R2.1620/4D-Internet-Commands.100-3188202.fe.html) … Et chercher “SMTP_SetPrefs” dans la case recherche de 4D Doc ne révèle pas cette page.

Par contre, je reste sur ma faim concernant SMTP_SetPrefs et son paramètre “retoursLigne”
Est-ce “LF” qui est désigné ainsi ? Si oui, “Ajouter” voudrait dire ajouter LF (a chaque CR isolé), ce qui contredit “Si vous passez 1 (paramètre par défaut), toutes les combinaisons retour chariot/retour ligne seront automatiquement remplacées par des retours chariot seuls.”

Que ce soit 1 (ajouter) ou 0 (ne pas ajouter), je suis quand même obligé de rajouter LF pour voir les retours à la ligne corrects sur un client mail comm le webmail roundcube.
Y a un truc …

Je me répond dans le http://forums.4d.fr/Post/FR/19318250/1/19318251#19318251post suivant> (titre correct SMTP_SetPrefs).