J'ai besoin d'un petit coup de main. J'utilise AutoIt depuis plusieurs années mais aujourd'hui je suis confronté à un problème dont je n'arrive pas à traiter.
J'ai bien évidemment fait de multiple recherches mais sans succès à ce jour.
J'ai un script qui me permet d'envoyer des mails via GMAIL. (Merci Ascer https://www.autoitscript.com/forum/topi ... nt-1380927)
Ce script fonctionne très bien, mais lors de l'attachement de pièces jointes (exclusivement de .pdf dans mon cas), certain de mes fichiers sont corrompus.
Code : Tout sélectionner
If $sAttachment8 <> "" Then
$sStruct &= @LF & @LF
$sStruct &= "--" & $sBoundaryAttachments & @LF
If Not IsArray($sAttachment8) Then
Local $aFastArray = [$sAttachment8]
$sAttachment8 = $aFastArray
EndIf
For $sAttatch In $sAttachment8
Local $sFileName = StringSplit($sAttatch, "\")
If IsArray($sFileName) Then
$sFileName = $sFileName[$sFileName[0]]
Else
$sFileName = "Unknown.txt"
EndIf
$sStruct &= 'Content-Disposition: attachment; filename="' & $sFileName & '"' & @LF
$sStruct &= "Content-Transfer-Encoding: base64" & @LF
$sStruct &= @LF
Local $sFile = FileRead(FileOpen($sAttatch))
ConsoleWrite("++++ gmailUsersMessagesSend() -> converting attachment " & '"' & $sFileName & '"' & " to base64binary." & @CRLF)
$sFile = base64($sFile)
$sStruct &= $sFile & @LF & @LF
$sStruct &= "--" & $sBoundaryAttachments & @LF
Next
EndIf
Mais après quelques essais, la lecture du fichier .pdf avant encodage semble erronée. (uniquement sur mes documents qui seront transmis "corrompus")
La fonction FileRead renvoie une succession de "?" en lieu et place de "Ox25...."
J'ai également isolé le type de .pdf à envoyer. Tous mes pdf étant en pdf/A.
Et je précise que certains de mes fichiers sont très bien transmis, quelque soit le nombre de pages
Bien évidemment, mes .pdf sont lisibles sans problème manuellement avec un viewer.
Je vous remercie d'avance de votre aide.