marco.r
14-02-2006, 20:18
Sto cercando di creare delle email tramite python.
Come da documentazione procedo piu' o meno nel seguente modo:
from email import MIMEText
body = "Contenuto dell'email"
msg = MIMEText( body )
# ... impostazione dei vari header ...
raw = msg.as_string()
E questo funziona benissimo. I dolori cominciano quando ho stringhe unicode.
Invariabilmente ottengo un UnicodeEncodeError.
Io ovviamente per evitare questo specifico come encoding "utf-8", ma non da il risultato sperato:
from email import MIMEText
body = u"Questo è il contenuto dell'email"
msg = MIMEText( body, "plain", "utf-8" )
# ... impostazione dei vari header ...
raw = msg.as_string()
Dall'eccezione raccolta risulta che in effetti il charset utilizzato non sia utf-8 ma il tradizionale ascii, nonostante abbia specificato diversamente. Se invece di utf-8 provo con (ad esempio) latin-1, il problema non occorre. :mbe:
L'unico modo che ho trovato per forzare l'uso di utf-8 è quello di forzarlo come encoding di default in sitecustomize.py... ma direi che non è proprio il massimo :D.
Qualcuno ha già avuto a che fare con questi problemi ?
Come da documentazione procedo piu' o meno nel seguente modo:
from email import MIMEText
body = "Contenuto dell'email"
msg = MIMEText( body )
# ... impostazione dei vari header ...
raw = msg.as_string()
E questo funziona benissimo. I dolori cominciano quando ho stringhe unicode.
Invariabilmente ottengo un UnicodeEncodeError.
Io ovviamente per evitare questo specifico come encoding "utf-8", ma non da il risultato sperato:
from email import MIMEText
body = u"Questo è il contenuto dell'email"
msg = MIMEText( body, "plain", "utf-8" )
# ... impostazione dei vari header ...
raw = msg.as_string()
Dall'eccezione raccolta risulta che in effetti il charset utilizzato non sia utf-8 ma il tradizionale ascii, nonostante abbia specificato diversamente. Se invece di utf-8 provo con (ad esempio) latin-1, il problema non occorre. :mbe:
L'unico modo che ho trovato per forzare l'uso di utf-8 è quello di forzarlo come encoding di default in sitecustomize.py... ma direi che non è proprio il massimo :D.
Qualcuno ha già avuto a che fare con questi problemi ?