Gå til innhold

Sende e-post med UTF-8 enkoding


Anbefalte innlegg

Eg har skreve eit script som genererer ein e-post utfrå innhald i eit form.

 

Sånn ser det ut

 def send_mail(self):
	msg = MIMEMultipart()
	msg.set_charset('utf-8')
	msg['From'] = self.sent_from
	msg['To'] = self.send_to
	msg['Date'] = formatdate(localtime=True)
	msg['Subject'] = self.subject
	html = MIMEText(self.text, 'html')
	msg.attach(html)
	smtp = smtplib.SMTP(self.server)
	smtp.sendmail(msg['From'], msg['To'], msg.as_string())
	smtp.quit()

 

Dette fungerer for så vidt greit nok, problemet er at tekst innhaldet som blir posta frå ein form er i utf-8 og når eg legger til denne teksten så blir det heilt tullete. Prøver eg å bruke .encode('utf-8') så får eg denna feilmeldinga: UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 1: ordinal not in range(128) :(

Lenke til kommentar
Videoannonse
Annonse

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...