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

Codes specifiques à Linux
Ehma
Messages : 26
Inscription : dim. 24/juin/2018 19:01

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

Message 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.
Dernière modification par Ehma le lun. 13/sept./2021 7:54, modifié 1 fois.
Ehma
Messages : 26
Inscription : dim. 24/juin/2018 19:01

Re: Problème de mails accentués

Message 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
Avatar de l’utilisateur
blendman
Messages : 2017
Inscription : sam. 19/févr./2011 12:46

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

Message 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
Marc56
Messages : 2146
Inscription : sam. 08/févr./2014 15:19

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

Message 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:
Ehma
Messages : 26
Inscription : dim. 24/juin/2018 19:01

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

Message 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.
Répondre