Accueil » Python » Forums Python » Forum Django » Pb de caracteres accentués avec le sendmail

 • Pb de caracteres accentués avec le sendmail

Document Actions
Réponses: 0   Visites: 444
Up one level
Vous devez être un membre enregistré pour contribuer sur ce forum. Inscrivez-vous maintenant

 • Pb de caracteres accentués avec le sendmail

Posté par jphi le 20/09/2007 16:47
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()
Ce sujet ne contient aucune réponse