Bonjour,
j'ai essayé à partir des codes mentionnés dans le site d'envoyer des mails français qui comportent des accents. Après multiples essais, je n'y arrive pas. Python me retourne le message d'erreur :
File "C:\Python32\lib\smtplib.py", line 716, in sendmail
msg = _fix_eols(msg).encode('ascii')
UnicodeEncodeError: 'ascii' codec can't encode character '\xe9' in position 477: ordinal not in range(128)
Voici mon code ci-dessous. Est-il possible de le modifier pour que les accents soient acceptés?
Merci.
Gabriel
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 # -*- coding: utf-8 -*- # Python 3.2 import sys import os import smtplib from email import encoders from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart from email.mime.base import MIMEBase from email.utils import formatdate fromaddr="xxx@.com" motpasse="***" toaddr="yyy@yyy" print("envoi_mail à "+toaddr) msg = MIMEMultipart() msg['From'] = fromaddr msg['To'] = toaddr msg['Subject'] = "Le sujet" msg['Charset'] = 'UTF-8' msg['Content-Type'] = 'text/plain; charset=UTF-8' body="j'espère que les accents comme é passeront bien ainsi que le à et le ç" msg.attach(MIMEText(body)) server = smtplib.SMTP('smtp.gmail.com', 587) server.ehlo() server.starttls() server.ehlo() server.login(fromaddr, motpasse) text = msg.as_string() server.sendmail(fromaddr, toaddr, text) server.quit()
Partager