Bonjour,
Ou dois je positionner le charset ISO-8859-1.
ça fait un moment que je galère avec ma fonction d'envoi de mail
Le corp de mon message ne prend pas en compte les caratères accentués.
Cela vient t'il outlook ?
de plus je ne vois pas les print de ma fonction(est ce normal dans une fonction d'une librairie) .
merci d'avance a celui qui pourras éclairer ma lanterne
# -*- coding:latin-1 -*-
from email.MIMEMultipart import MIMEMultipart
from email.MIMEBase import MIMEBase
from email.MIMEText import MIMEText
from email.Utils import COMMASPACE, formatdate
from email import Encoders
def envoiMail(server,expediteur,to,subject,text,files):
"Fonction envoi d'email ex: envoi_mail(nom du serveur,expediteur,liste de destinataires,sujet,corp,fichiers attachés)"
assert type(to)==list
assert type(files)==list
fro = expediteur
msg = MIMEMultipart()
msg['From'] = fro
msg['To'] = COMMASPACE.join(to)
msg['Date'] = formatdate(localtime=True)
msg['Subject'] = subject
msg['Charset'] = 'ISO-8859-1'
print 'toto'
text = text+' ajouté au text'
print text
# msg.attach( MIMEText(text) )
if type(text) == str:
msg.attach( MIMEText(text,'plain','ISO-8859-1' ))
elif type(text) == unicode:
msg.attach( MIMEText(text.encode('utf-8'), 'plain', 'utf-8') )
for file in files:
part = MIMEBase('application', "octet-stream"
part.set_payload( open(file,"rb"

.read() )
Encoders.encode_base64(part)
part.add_header('Content-Disposition', 'attachment; filename="%s"'
% os.path.basename(file))
msg.attach(part)
smtp = smtplib.SMTP(server)
smtp.sendmail(fro, to, msg.as_string() )
smtp.close()