Bonjour à tous,
J'aurais aimer savoir comment inserer une pièce jointe dans un mail. J'ai déjà la commande pour envoyer un mail :
adress_mail = ('mailto:X@hotmail.fr;Y@laposte.net?subject=Reporting')
webbrowser.open(adress_mail)
Merci
Version imprimable
Bonjour à tous,
J'aurais aimer savoir comment inserer une pièce jointe dans un mail. J'ai déjà la commande pour envoyer un mail :
adress_mail = ('mailto:X@hotmail.fr;Y@laposte.net?subject=Reporting')
webbrowser.open(adress_mail)
Merci
Bonsoir,
T'envoi quoi comme mail avec cette commande?
webbrowser ne permet pas d'ouvrir ton navigateur internet?
Je ne sais pas si je me trompe mais je crois que tu es loin de la vérité
C'est un peu plus plausibleCode:
1
2
3
4
5
6
7
8
9
10
11
12 import smtplib from email.MIMEText import MIMEText def sendTextMail(to,text): from = "Expediteur <expediteur@mail.com>" mail = MIMEText(text) mail['From'] = from mail['Subject'] = "Sujet du message" mail['To'] = to smtp = smtplib.SMTP() smtp.connect() smtp.sendmail(from, [to], mail.as_string()) smtp.close()
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69 # -*- coding: utf-8 -*- # la lib smtp qui nous permet de dialoguer avec un serveur de mail import smtplib # un email multipart (contient des pieces jointes) from email.MIMEMultipart import MIMEMultipart # un message email de type text from email.MIMEText import MIMEText # un message email de type image from email.MIMEImage import MIMEImage import mimetypes, posixpath def image_a_mail(cheminfichier): ''' renvois un message de type MIMEImage a partir d'un fichier''' # on utilise posixpath pour avoir le nom du fichier nomfichier = posixpath.basename( cheminfichier ) # puis pour obtenir l'extension du fichier extension = posixpath.splitext( nomfichier ) # puis mimetypes pour avoir le content-type de l'extension content_type = mimetypes.types_map[ extension ] # on ouvre le fichier image en mobe binaire fichier = open(cheminfichier, 'rb') # un objet message avec le contenu du fichier # un objet message avec le contenu du fichier image = MIMEImage( fichier.read() ) # on ajoute les headers pour l'image image.add_header('Content-Disposition','inline; filename="%s"' % filename) image.add_header('Content-type',content_type) # on retourne l'objet message contenant l'image return image def send(mfrom,mto): # on creer un objet message multipart emailmultipart = MIMEMultipart() # on ajoute les headers pour le mail principal email['From']=mfrom email['To']=mto email['Subject']='Bonjour !' # on creer un message simple en html (la classe ! ;) emailtext = MIMEText('<b>Bonjour !</b>','html') # on attache ce mail a notre multipart emailmultipart.attach(emailtext) # on creer un message de type MIMEImage a l'aide de notre fonction emailimage = image_a_mail('image.jpg') # on attache ce mail a notre multipart emailmultipart.attach(emailimage) # on envoit le mail server = smtplib.SMTP('localhost') server.sendmail(mfrom, mto, emailmultipart.as_string() ) server.quit() if __name__ == '__main__': send('expediteur@example.com', 'destinataire@example')
J'avais chercher un peu et j'avais aussi trouver ce lien mais j'avais privilegié cette commande avec webbrowser qui envoye des mail grâce à outlook.
Ca marche très bien mais c'est vrai que je vais peut être essayer cette méthode.
Merci
Pour envoyer un mail en Python, pièce-jointe compris, j'ai donné un exemple complet ici : http://www.developpez.net/forums/sho...d.php?t=587210
Perso, je ne suis pas trop fan de l'utilisation de logiciels tiers pour des raisons de portabilité... mais si l'application ne sert qu'à toi, je ne vais pas trop grogner ;)