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.

Reply via email to