email python avec smtplib
Bonjour je suis en train d'ecrire un script pour envoyer des emails ;
voilà ou j'en suis:
pour envoyer un mail text normal : ok
pour envoyer un mail avec image attachée : ok
pour envoyer un mail avec fichier attaché de type tar.gz: probleme ;:cry:
le mail arrive bien , la piece attachée aussi mais quand je veux la détarer ,
gzip me dit que le fichier est un "multi-part gzip file" qu'il ne gére pas.
j'utilise la methode MIMEBase pour ça , voici mon code:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| def det_ext(fichier):
ctype, enc = mimetypes.guess_type(fichier)
return ctype
def cree_image(fichier):
#nom_fic = posixpath.basename(fichier)
#extension = posixpath.splitext(fichier)
#content_type = mimetypes.types_map[".jpg"]
content_type = det_ext(fichier)
fic_im = open(fichier, 'rb')
if "image" in content_type:
image = MIMEImage(fic_im.read())
elif "text" in content_type:
image = MIMEText(fic_im.read())
elif "audio" in content_type:
image = MIMEAudio(fic_im.read())
elif content_type == "application/x-tar":
image = MIMEBase('application', "x-tar")
image.set_payload(fic_im.read())
Encoders.encode_base64(image)
else:
image = MIMEBase('application', "octet-stream")
image.set_payload(fic_im.read())
Encoders.encode_base64(image)
fic_im.close()
image.add_header('Content-Disposition','attachment; filename="%s"' % fichier)
image.add_header('Content-type',content_type)
return image |
ceci est une partie d'un simple script en mode texte qui me sert d'essai pour "mon vrai script" qui est en Tk.
Voilà si quelqu'un sait comment on se sert de MIMEBase ?
Je cherche à savoir également si les scripts (python par exemple) s'envoient en pièce attachée au même titre qu'un fichier texte en utilisant MIMEText. Pour l'instant je ne peux pas tester j'ai bloqué mon serveur:(
Je cherche de mon coté et je communiquerais dés que j'ai trouvé une solution
A+
Thierry