Okay I found the ----------- cut -------------- else: text = text.read().decode(encoding).encode('utf-8') attachment.attach(MIMEText.MIMEText(text)) if html != None: if isinstance(html, str): html = html.decode(encoding).encode('utf-8') ----------- cut -------------- at line 285 in gluon/tools.py.
I changed the attachment.attach(MIMEText.MIMEText(text)) line to attachment.attach(MIMEText.MIMEText(text,_charset='utf-8')) "_charset is the character set of the text and is passed as a parameter to the MIMENonMultipart constructor; it defaults to us-ascii. No guessing or encoding is performed ^^^^^^^^ on the text data." because of http://docs.python.org/library/email.mime.html: ----------------------- cut ------------------------ class email.mime.text.MIMEText(_text[, _subtype[, _charset]]) Module: email.mime.text A subclass of MIMENonMultipart, the MIMEText class is used to create MIME objects of major type text. _text is the string for the payload. _subtype is the minor type and defaults to plain. _charset is the character set of the text and is passed as a parameter to the MIMENonMultipart constructor; it defaults to us-ascii. No guessing or encoding is performed on the text data. Changed in version 2.4: The previously deprecated _encoding argument has been removed. Encoding happens implicitly based on the _charset argument. ----------------------- cut ------------------------ But the Subject line isn't good because it has no encoding information in it... On márc. 2, 21:41, szimszon <szims...@gmail.com> wrote: > It isn't good in 1.76.1 too :( > > On febr. 25, 23:43, Thadeus Burgess <thade...@thadeusb.com> wrote: > > > > > I did some more testing. > > > Server A -> Google SMTP -> receive Content-Type us-ascii > > Server B -> Custom SMTP -> receive Content-Type utf-8 > > > If I take Server B's credentials for the SMTP server, and stick them > > in Server A this is the result.. > > > ServerA -> Custom SMTP -> receive Content-Type utf-8 > > ServerB -> Custom SMTP -> receive Content-Type utf-8 > > > And I also did the reverse > > > ServerA -> Google SMTP -> receive Content-Type us-ascii > > ServerB -> Google SMTP -> receive Content-Type us-ascii > > > The only change is the credentials and SMTP server I am connecting to, > > no code changes whatsoever. > > > -Thadeus > > > On Thu, Feb 25, 2010 at 4:20 PM, szimszon <szims...@gmail.com> wrote: > > > Hmmm... I don't use gmail or google to sendemail... > > > > You talk about the character real representation like ÁÖ... > > > or theemailpart header > > > --===============1974471883== > > > Content-Type: text/plain;charset="us-ascii" > > > MIME-Version: 1.0 > > > Content-Transfer-Encoding: 8bit > > > > if you say us-ascii? > > > > I think theemailmessage part header > > > --===============1974471883== > > > Content-Type: text/plain;charset="us-ascii" > > > MIME-Version: 1.0 > > > Content-Transfer-Encoding: 8bit > > > > is part of themailbody and generated by python. I don't think it > > > gets rewritten bymailtransport agent. So my primary concern is the > > > generated instruction about how to read the rest of the message. Is it > > > us-ascii or utf-8. I don't mind how is the text actually encoded... > > > > On febr. 25, 17:18, Thadeus Burgess <thade...@thadeusb.com> wrote: > > >> There might be an issue that web2py is encoding theemailcorrectly, > > >> however your SMTP server is re-coding this into its own encoding. > > > >> I use Google Apps to send all of my emails with my web2py instances. I > > >> just checked some of the messages received and they are all encoded > > >> "us-ascii". > > > >> Further investigation using a SMTP server that we manage ourselves > > >> with (mt), all emails sent from this server are encoded utf-8. > > > >> This must not be a web2py issue but SMTP issue. Google and the like > > >> decide to recode all of their messages, and there might not be > > >> anything that can be done about it besides using your own SMTP server. > > > >> -ThadeusOn Thu, Feb 25, 2010 at 7:12 AM, szimszon <szims...@gmail.com> > > >> wrote: > > >> > I need utf-8 :) > > > >> > On febr. 25, 12:20, mdipierro <mdipie...@cs.depaul.edu> wrote: > > >> >> Because encoding="utf-8" is default. You have to figure > > >> >> out what is the encoding you need. > > > >> >> On Feb 25, 4:32 am, szimszon <szims...@gmail.com> wrote: > > > >> >> > I tested it again, > > > >> >> > I created a new scaffolding app with the admin interface then I > > >> >> > changed: > > >> >> > db.py: > > >> >> >mail=Mail() # mailer > > >> >> >mail.settings.server='localhost:25' # your SMTP server > > >> >> >mail.settings.sender='pr...@localhost' # youremail > > > >> >> > default.py (controller) > > >> >> > def index(): > > >> >> > """ > > >> >> > example action using the internationalization operator T and > > >> >> > flash > > >> >> > rendered by views/default/index.html or views/generic.html > > >> >> > """ > > >> >> > response.flash = T('mailtest') > > >> >> > context=dict(name="Gipsz Jakab", > > >> >> > addr="Szt. Erzsébet körút") > > >> >> > message=response.render('emailbody.txt', context) > > >> >> > mail.send(to="szimszon", > > >> >> > subject="testemail", > > >> >> > message=message) > > > >> >> > return dict(message=T('Mailsent')) > > > >> >> > made an emailbody.txt in views: > > >> >> > emailbody.txt > > >> >> > Üdvözlöm {{=name}}! > > > >> >> > Címed: {{=addr}} > > > >> >> > Ez egy teszt elektronikus levél. > > > >> >> > Árvíztűrő tükörfúrógép! > > >> >> > ------------------ > > > >> >> > Then I navigate to the site to send myself a letter: > > > >> >> > ----- cut ----- > > >> >> > From pr...@localhost Thu Feb 25 11:24:05 2010 > > >> >> > Return-Path: <pr...@localhost> > > >> >> > X-Original-To: szimszon > > >> >> > Delivered-To: szims...@xxxxxxxxxxxxx > > >> >> > Received: from xxxxxxxxxxxxxxx (localhost [127.0.0.1]) > > >> >> > by xxxxxxxxxxx (Postfix) with ESMTP id C542A31CBF > > >> >> > for <szimszon>; Thu, 25 Feb 2010 11:24:05 +0100 (CET) > > >> >> > Content-Type: multipart/related; > > >> >> > boundary="===============1518445122==" > > >> >> > MIME-Version: 1.0 > > >> >> > To: szims...@xxxxxxxxxxxxxxxx > > >> >> > Subject: testemail > > >> >> > Message-Id: <20100225102405.c542a31...@xxxxxxxxxxxxxxx> > > >> >> > Date: Thu, 25 Feb 2010 11:24:05 +0100 (CET) > > >> >> > From: pr...@localhost > > > >> >> > --===============1518445122== > > >> >> > Content-Type: multipart/alternative; > > >> >> > boundary="===============1974471883==" > > >> >> > MIME-Version: 1.0 > > > >> >> > --===============1974471883== > > >> >> > Content-Type: text/plain;charset="us-ascii" > > >> >> > MIME-Version: 1.0 > > >> >> > Content-Transfer-Encoding: 8bit > > > >> >> > Üdvözlöm Gipsz Jakab! > > > >> >> > Címed: Szt. Erzsébet körút > > > >> >> > Ez egy teszt elektronikus levél. > > > >> >> > Árvíztűrő tükörfúrógép! > > > >> >> > --===============1974471883==-- > > >> >> > --===============1518445122==-- > > > >> >> > ----- cut ----- > > > >> >> >charset: us-ascii > > > >> >> > If I changed the > > >> >> > mail.send(to="szimszon", > > >> >> > subject="testemail", > > >> >> > message=message) > > > >> >> > to > > >> >> > mail.send(to="szimszon", > > >> >> > subject="testemail", > > >> >> > message=message, > > >> >> > encoding="utf-8") > > >> >> > made no difference :( > > >> >> > On febr. 23, 21:01, Thadeus Burgess <thade...@thadeusb.com> wrote: > > > >> >> > > I am unable to replicate this. > > > >> >> > > -Thadeus > > > >> >> > > On Tue, Feb 23, 2010 at 1:59 PM, szimszon <szims...@gmail.com> > > >> >> > > wrote: > > >> >> > > > No change: > > > >> >> > > > --===============2046819983== > > >> >> > > > Content-Type: multipart/alternative; > > >> >> > > > boundary="===============1304182396==" > > >> >> > > > MIME-Version: 1.0 > > > >> >> > > > --===============1304182396== > > >> >> > > > Content-Type: text/plain;charset="us-ascii" > > >> >> > > > MIME-Version: 1.0 > > >> >> > > > Content-Transfer-Encoding: 7bit > > > >> >> > > > On febr. 23, 20:47, Thadeus Burgess <thade...@thadeusb.com> > > >> >> > > > wrote: > > >> >> > > >> Have you tried > > > >> >> > > >>mail.send(encoding='us-ascii') ? > > > >> >> > > >> -Thadeus > > > >> >> > > >> On Tue, Feb 23, 2010 at 1:33 PM, szimszon <szims...@gmail.com> > > >> >> > > >> wrote: > > >> >> > > >> > Okay. I see... > > > >> >> > > >> > The default is utf-8 and if I set it to utf-8 manually there > > >> >> > > >> > is no > > >> >> > > >> > difference. This is the generatedmailcontent :( : > > > >> >> > > >> > --===============1981490134== > > >> >> > > >> > Content-Type: multipart/alternative; > > >> >> > > >> > boundary="===============0000859693==" > > >> >> > > >> > MIME-Version: 1.0 > > > >> >> > > >> > --===============0000859693== > > >> >> > > >> > Content-Type: text/plain;charset="us-ascii" > > >> >> > > >> > MIME-Version: 1.0 > > >> >> > > >> > Content-Transfer-Encoding: 7bit > > > >> >> > > >> > On febr. 23, 20:06, Thadeus Burgess <thade...@thadeusb.com> > > >> >> > > >> > wrote: > > >> >> > > >> >> Your looking in the wrong place. > > > >> >> > > >> >> lines 172-182 > > > >> >> > > >> >> On line 181 is the encoding. > > > >> >> > > >> >>http://code.google.com/p/web2py/source/browse/gluon/tools.py#181 > > > >> >> > > >> >> def send( > > >> >> > > >> >> self, > > >> >> > > >> >> to, > > >> >> > > >> >> subject='None', > > >> >> > > >> >> message='None', > > >> >> > > >> >> attachments=None, > > >> >> > > >> >> cc=None, > > >> >> > > >> >> bcc=None, > > >> >> > > >> >> reply_to=None, > > >> >> > > >> >> encoding='utf-8' > > >> >> > > >> >> ): > > > >> >> > > >> >> -Thadeus > > > >> >> > > >> >> On Tue, Feb 23, 2010 at 12:34 PM, szimszon > > >> >> > > >> >> <szims...@gmail.com> wrote: > > >> >> > > >> >> > This is the sniplet of the most recent (1.75.4) web2py's > > >> >> > > >> >> > tools.py's > > >> >> > > >> >> > classMail: > > > >> >> > > >> >> > def __init__(self, server=None, sender=None, > > >> >> > > >> >> > login=None, > > >> >> > > >> >> > tls=True): > > >> >> > > >> >> > """ > > >> >> > > >> >> > MainMailobject > > >> >> > > >> >> > Arguments:: > > >> >> > > >> >> > server: SMTP server address in address:port > > >> >> > > >> >> > notation > > >> >> > > >> >> > sender: senderemailaddress > > >> >> > > >> >> > login: sender login name and password in > > >> >> > > >> >> > login:password > > >> >> > > >> >> > notation > > >> >> > > >> >> > or None if no authentication is required > > >> >> > > >> >> > tls: enables/disables encryption (True by > > >> >> > > >> >> > default) > > > >> >> > > >> >> > I can't do another, the file is dated: > > >> >> > > >> >> > tools.py │ 113589│febr 18 21.57 > > > >> >> > > >> >> > Is it old? > > > >> >> > > >> >> > On febr. 23, 17:32, Thadeus Burgess > > >> >> > > >> >> > <thade...@thadeusb.com> wrote: > > >> >> > > >> >> >>Mailhas an encoding variable, unless you are running an > > >> >> > > >> >> >>older version > > >> >> > > >> >> >> of web2py. > > > >> >> > > >> >> >> The code you posted is for the attachment class. > > > >> >> > > >> >> >> -Thadeus > > > >> >> > > >> >> >> On Tue, Feb 23, 2010 at 3:05 AM, szimszon > > >> >> > > >> >> >> <szims...@gmail.com> wrote: > > >> >> > > >> >> >> > tools.py │ 113589│febr 18 21.57 > > > >> >> > > >> >> >> > classMail(object): > > >> >> > > >> >> >> > """ > > >> >> > > >> >> >> > Class for configuring and sending emails with > > >> >> > > >> >> >> > alternative text / > > >> >> > > >> >> >> > html > > >> >> > > >> >> >> > body, multiple attachments and encryption support > > > >> >> > > >> >> >> > Works... > > tovább » -- You received this message because you are subscribed to the Google Groups "web2py-users" group. To post to this group, send email to web...@googlegroups.com. To unsubscribe from this group, send email to web2py+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/web2py?hl=en.