Umlautproblem in mailscript

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Benutzeravatar
snakeseven
User
Beiträge: 405
Registriert: Freitag 7. Oktober 2005, 14:37
Wohnort: Berlin
Kontaktdaten:

Umlautproblem in mailscript

Beitragvon snakeseven » Donnerstag 29. Juni 2006, 20:05

Hallo,
dieses kleine Script verwende ich zum Versenden von MP3s.
Geht auch alles, nur bekommen einige Empfänger im Betreff und im Textfeld die Umlaute nicht richtig dargestellt. Im Scriptkopf habe ich # -*- coding: iso-8859-1 -*- eingetragen. Ich kanns nicht reproduzieren, da alle meine Mail-Browser die Umlaute korrekt darstellen.
Muss ich den Codec für 'subject' und 'mailtext' extra definieren und wenn ja, wie ?

Gruss, Seven


Code: Alles auswählen

def Send_mp3():
    msg = MIMEMultipart()
    msg['From'] = absender
    msg['To'] = empfaenger
    msg['Subject'] = subject                         
    msg.preamble = ''
    msg.epilogue = ''
    msg.attach(MIMEText(mailtext))

    att = open(path_mp3 + gv.filename + '.mp3', 'rb')
    send_snd = MIMEAudio(att.read(),_subtype = 'mpeg')
    att.close()
    send_snd.add_header('Content-Disposition', 'attachment', filename = fname + '.mp3')
    msg.attach(send_snd)
    smtp_server = smtplib.SMTP(domain.net)
    smtp_server.login(mymail@host.de,password)
    smtp_server.sendmail(absender, empfaenger, msg.as_string())
    smtp_server.quit()
BlackJack

Beitragvon BlackJack » Freitag 30. Juni 2006, 17:22

Sowohl für Header als auch den Textteil musst Du eine Kodierung angeben. Bei Headern muss alles ausserhalb von ASCII auch noch extra kodiert werden. Das macht die Header-Klasse:

Code: Alles auswählen

In [54]: print Header('hallöle'.decode('utf-8'), 'iso-8859-1')
=?iso-8859-1?q?hall=F6le?=


Die Mime-Objekte haben zum Beispiel eine Methode `set_charset()` um die verwendete Kodierung deklarieren zu können.
Benutzeravatar
snakeseven
User
Beiträge: 405
Registriert: Freitag 7. Oktober 2005, 14:37
Wohnort: Berlin
Kontaktdaten:

Beitragvon snakeseven » Montag 3. Juli 2006, 13:43

Danke,
mit [code=]msg.set_charset("iso-8859-1")[/code] klappts auch.

Gruss, Seven

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder