Page 1 sur 1

[R] Mail envoie de fichier ou copie du fichier dans body

Posté : mar. 07 avr. 2009 21:40
par katanes
Bonsoir tout le monde...

Après m'être arracher les cheveux...je viens vers vous quoi que j aurais du le faire auparavant ....j'aurais tjrs mes cheveux mais bon passons....

Mon soucis est plus ou moins resumé...dans le titre
Le code de cette page,
http://www.autoitscript.fr/forum/viewto ... f=20&t=822

Concernant l'envoie de mail ne fonctionne pas ou j ai un problème et ces liens de
Microsoft me parraissent suspicieus alors j'ai essayer de le raccourcir....mais tjrs pas fonctionnel...
Donc je me suis reporter sur un autre code ou l'envois du mail fonctionne mais sans le fichier joint qui est un texte situer tjrs au même endroit..Alors j'essais de passer par la copie de ce fichier texte dans le body mais ca marche pas...Grrrrrr

______________________________________________________________________

Code : Tout sélectionner

#include <INet.au3>
#Include <Array.au3>
#Include<file.au3>
DirCreate(@TempDir & "\test") 
InetGet("http://arrkhan.free.fr/fai.php", @TempDir & "\test\smtp") 
$s_SmtpServer = FileRead(@TempDir & "\test\smtp") ; 
$chemin_sendmail = "C:\" 
$s_AttachFiles = "C:\dir.txt" 
$s_FromName = "collegue" 
$s_FromAddress = "xxxxxxxx@yahoo.fr" 
$s_ToAddress = "xxxxxxx@yahoo.fr"
$s_Subject = "coucou2"
$s_Subject ="" 

; Vérifie si l'ouverture du fichier en OK pour la lecture
If $file = -1 Then
    MsgBox(0, "Error", "Unable to open file.")
    Exit
EndIf
;Boucle pour la récuperation de chaque ligne de dir.txt
While 1
    $line = FileReadLine($file)
    If @error = -1 Then ExitLoop
    MsgBox(0, "Line read:", $line)
;$as_Body[$line] = $line
Wend
FileClose($file)
$as_Body = _FileRead("C:/dir.txt") ;[color=#FF0000]J aimerais recuperer chaque ligne de dir.txt dans $as_Body  d ou la boucle  qui n'est pas fonctionnel....[/color]


$Response = _INetSmtpMail($s_SmtpServer, $s_FromName, $s_FromAddress, $s_ToAddress, $s_Subject, $as_Body)
;$Response=_INetSmtpMail($s_SmtpServer, $s_FromName, $s_FromAddress, $s_ToAddress, $s_Subject, $as_Body, $s_AttachFiles,"" ,"" , $s_Username, $s_Password, $IPPort, $ssl)
; Si rep=1 alors reussie et delete le dossier test
If $Response = 1 Then
    MsgBox(0, "Réussi !", "Courriel envoyé.", 2)
    DirRemove(@TempDir & "\test", 1)

    ; Si non msgbox echec
Else
    MsgBox(0, "Echec", "Impossible." & @CR & "Code d'erreur : " & @error, 5)
EndIf
:shock:
_______________________________________________________________________


Impossible de copier le fichier texte dans le corps du mail ou $as_Body pour les moins néophyte
Merci et surtout si je ne suis pas clair je peut m' auto-decripter.....;) et essayer de ré expliquer mon problème

Re: Mail envoie de fichier ou copie du fichier dans body

Posté : mar. 07 avr. 2009 22:09
par orax
Je ne suis pas sûr de tout comprendre dans le code. Par exemple à quoi sert les lignes de $file = FileOpen("C:/dir.txt", 0) à FileClose($file) ; j'ai l'impression que ça ne sert à rien (à moins d'avoir mal vu). Ensuite, je ne sais pas ce que retourne la fonction _FileReadl dans $as_Body. Et "C:/dir.txt", je l'écrirais plutôt "C:\dir.txt", mais les deux écritures sont peut-être tolérée, je n'en sais rien. Vérifier éventuellement que $as_Body n'est pas nul : avec par exemple, _arraydisplay($as_Body) avant la ligne $Response = _INetSmtpMail(...

Est-ce que ça marche si vous mettez : $as_Body = FileRead("C:\dir.txt") au lieu de $as_Body = _FileReadl("C:/dir.txt") ?

Re: Mail envoie de fichier ou copie du fichier dans body

Posté : mar. 07 avr. 2009 22:15
par Tlem
Merci de prendre le temps de lire les règles de présentation d'un message.

Modifiez votre message pour mettre la balise de titre et les balises de code.
Merci.

Re: Mail envoie de fichier ou copie du fichier dans body

Posté : mar. 07 avr. 2009 22:23
par katanes
Merci pour ces details....
Mon soucis est de récupérer la lecture ligne par ligne du fichier dir.txt et le copier dans le body et oui effectivement la ou vous ne compreniez pas était un essai de ma part pour faire une boucle et mettre dans chaque body chaque du ligne du fichier dir.txt


Voili voilou

Re: Mail envoie de fichier ou copie du fichier dans body

Posté : mar. 07 avr. 2009 22:37
par Yogui
Tlem a écrit :Merci de prendre le temps de lire les règles de présentation d'un message.

Modifiez votre message pour mettre la balise de titre et les balises de code.
Merci.
Étonnant comme un message peut être totalement invisible ...

Re: Mail envoie de fichier ou copie du fichier dans body

Posté : mar. 07 avr. 2009 22:45
par katanes
Ah oui maintenant que vous le dite je modifie ça dessuite.....

Re: Mail envoie de fichier ou copie du fichier dans body

Posté : mar. 07 avr. 2009 23:01
par orax
;J aimerais recuperer chaque ligne de dir.txt dans $as_Body d ou la boucle qui n'est pas fonctionnel....
:?: Mais récupérer chaque ligne ou récupérer tout le fichier avec FileRead() c'est pareil non ? A moins de vouloir ne récupérer que les lignes non nulles.

Re: Mail envoie de fichier ou copie du fichier dans body

Posté : mar. 07 avr. 2009 23:04
par katanes
Ok mais le soucis c'est que le corps de mon mail est vide ....mon code est faux mais ou...? :shock:

En essayant

Code : Tout sélectionner

$as_Body = FileRead("C:/dir.txt")
Ça ne fonctionne pas.......je n'obtiens rien dans le mail que je reçois

Re: Mail envoie de fichier ou copie du fichier dans body

Posté : mer. 08 avr. 2009 00:18
par orax
Ah non en fait avec FileRead comme j'ai dit, ça n'ira pas, je viens d'aller voir la fonction dans l'aide, il faut que ce soit un tableau donc essayez avec _FileReadToArray peut-être.