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()