Page 1 sur 1

Problème de mails accentués [Résolu]

Publié : ven. 10/sept./2021 9:56
par Ehma
Bonjour,

Je suis sur un exécutable qui compare des fichiers csv et que envoie le résultat pas mail. Hélas, si ça marche très bien sous Mac OS, Sous Linux les caractère accentués passent très mal et donne ceci : Voici la liste des départs et arrivées

Dans CreateMail(0, "noreply@bobonne.be", "Test Liste des mouvements",#PB_UTF8) que ce soit #PB_UTF8 ou #PB_Ascii, le résultat est identique.

Dans nano, les accents sont correctes et c'est à la réception du mail que l'on voit que c'est mal passé. Les messages dans la consoles sont aussi correctement accentués.

Code : Tout sélectionner

EnableExplicit
OpenConsole()
Define Result.i, Progress.i, I.i, ServeurSMTP.s, PortSMTP.i
  InitNetwork()
  
  ServeurSMTP = "smtp.bobonne.be" 
  PortSMTP = 25
  
  
  If CreateMail(0, "noreply@bobonne.be", "Test Liste des mouvements",#PB_UTF8)
    SetMailBody(0, "Bonjour," + #CRLF$ + 
                   "Voici la liste des départs et arrivées dans le fichier : "+FormatDate("%dd/%mm/%yyyy",Date()) + #CRLF$ + #CRLF$ + #CRLF$ +
                   #CRLF$ + #CRLF$ +"Cordialement,"+ #CRLF$ +"Le script automatique de contrôle csv")
    
        AddMailRecipient(0,"gerard@bobonne.be", #PB_Mail_To)  
    Result = SendMail(0, ServeurSMTP, PortSMTP, #PB_Mail_Asynchronous)
    
    Repeat
      Progress = MailProgress(0)
      Delay(300)
    Until Progress = #PB_Mail_Finished Or Progress = #PB_Mail_Error
    If Progress = #PB_Mail_Finished
      PrintN("Courriel envoyé avec succès !")
    Else
      PrintN("Erreur : Le courriel n'a pu être envoyé !")
    EndIf
    FreeMail(0)
  EndIf

Avez-vous une idée du problème ?

Je vous en remercie.

Re: Problème de mails accentués

Publié : lun. 13/sept./2021 7:54
par Ehma
Problème résolu.

1) Mise à jour de Purebasic
2) Ajouter le BOM au fichier source

Code : Tout sélectionner

sed -i '1s/^\(\xef\xbb\xbf\)\?/\xef\xbb\xbf/' source.pb

Re: Problème de mails accentués [Résolu]

Publié : mar. 14/sept./2021 13:43
par blendman
merci beaucoup pour la réponse et la solution.

Même si je ne suis pas sous linux, je pense que cela pourra intéresser des personnes ;)

Bonne journée

Re: Problème de mails accentués [Résolu]

Publié : mar. 14/sept./2021 14:35
par Marc56
Sans utiliser SED, sélectionner Utf-8 dans l'IDE PB et de sauver (= Utf-8 avec BOM)

Code : Tout sélectionner

$echo test > test.pb
$ file test.pb 
test.pb: ASCII text
Ouvrir test.pb dans l'IDE
Cocher File > File Format > [X] Encoding: Utf-8
Sauvegarder

Code : Tout sélectionner

$ file test.pb 
test.pb: UTF-8 Unicode (with BOM) text
Utiliser Utf-8 par défaut.
:wink:

Re: Problème de mails accentués [Résolu]

Publié : jeu. 23/sept./2021 9:45
par Ehma
Un tout grand merci MArc,

J'avais oublié de préciser que je n'étais qu'en ligne de commande, pas d'interface graphique. Dans ce cas j'utilisais nano. Oui, je fais mes scripts serveur avec Purebasic, ça permet beaucoup de choses plus facilement qu'en bash.